前言¶
在 DeepSeek Harness(DSH)裏和智能體協作時,對話裏經常出現本地 .md 或 .markdown 文件鏈接。默認行爲是在客戶端右側邊欄做應用內預覽。如果你習慣用 Typora 編輯和閱讀 Markdown,每次在預覽裏看一遍再切到外部編輯器,會多一步切換。
dsh-typora-links 是社區插件,由 Mengnan578 維護,歸類爲客戶端插件。它把「普通單擊」對話裏的本地 Markdown 鏈接改成在 Typora 中打開,同時保留修飾鍵點擊走 DSH 自帶預覽的退路,失敗時也會回退到預覽,避免點擊無響應。
這是什麼¶
插件全名 dsh-typora-links,當前 npm 版本爲 0.1.1,許可證 MIT。一句話定位:在 DSH 對話中,用 Typora 打開 Markdown 文件鏈接,替代默認的右側預覽(plain click);修飾鍵點擊仍可使用自帶預覽。
運行環境要求(來自 README):
- DeepSeek Harness Desktop(Web 客戶端)
>= 0.2.1-rc.2 - macOS(實踐中會查找 macOS Typora 應用包)
- 已安裝 Typora(
/Applications/Typora.app,bundle idabnerworks.Typora)
插件不修改系統默認應用,不新增宿主 HTTP 路由,不執行 shell,也不自行讀寫文件;通過 DSH 已認證的 Session Remote 發起原生打開。
核心功能¶
下面介紹已文檔說明的行爲,均可在項目 README 中核對。
- 普通單擊本地
.md/.markdown鏈接 → Typora 打開對應文件。 - ⌘ / Ctrl / Shift / Alt + 單擊 → 仍使用 DSH 自帶的右側預覽(逃生通道)。
- 任意失敗(文件不存在、宿主拒絕、Typora 不可用)→ 自動回退到自帶預覽,單擊不會丟失。
- HTTP 鏈接、非 Markdown 文件、文件樹、投遞卡片等保持 DSH 原有行爲。
- 工具行路徑與
@file提及走同一套導航入口,也會在 Typora 中打開;文件樹與投遞卡片不受影響。
安裝與啓用¶
推薦從 npm 安裝(命令須與官方 README 一致):
dsh plugin --profile desktop add dsh-typora-links
從 GitHub 添加:
dsh plugin --profile desktop add github:Mengnan578/dsh-typora-links
本地開發檢出時使用 file: 路徑:
dsh plugin --profile desktop add file:/path/to/dsh-typora-links
若系統 PATH 中沒有 dsh 命令,可通過應用內 Settings → Plugins 安裝,或手動編輯 ~/.dsh/profiles/desktop/package.json,在 dependencies 與 dsh.profile.bundles 中加入 dsh-typora-links,在 ~/.dsh/profiles/desktop 下執行 pnpm install 後重啓 DSH。
卸載:
dsh plugin --profile desktop remove dsh-typora-links
或從 profile 中移除 bundle 並重啓,行爲恢復爲原版 DSH。
典型用法¶
安裝並重啓 DSH 後,在對話中單擊智能體剛寫入的 Markdown 文件鏈接即可:Typora 會前置並打開該文件。
需要繼續在 DSH 內預覽時,按住 ⌘(macOS)或 Ctrl / Shift / Alt 再點擊鏈接。
可選配置¶
在 ~/.dsh/profiles/desktop/cordis.patch.yml 中對應 bundle 行可寫:
- id: typora-links
config:
appName: Typora
bundleId: abnerworks.Typora
extensions: [".md", ".markdown"]
gestureWindowMs: 900
requireExplicitApp: false
| 字段 | 默認值 | 含義 |
|---|---|---|
appName |
Typora |
在 macOS 文件處理器中匹配的應用顯示名。 |
bundleId |
abnerworks.Typora |
Bundle id,優先於顯示名。 |
extensions |
[".md", ".markdown"] |
從預覽中接管的擴展名;可省略前導點。 |
gestureWindowMs |
900 |
單擊後多長時間內仍算作該次點擊觸發的打開。 |
requireExplicitApp |
false |
爲 true 時,若無匹配的 Typora 處理器則回退預覽,不用系統默認應用。 |
若 appName 與 bundleId 都匹配不到處理器,插件會請 DSH 用默認應用打開(常見環境下默認即爲 Typora)。默認配置通常可直接使用。
工作機制(簡述)¶
README 給出的調用鏈大意如下:在對話點擊時攔截 openResource,將 dsh-resource://file/session/... 解析爲絕對路徑,查詢 Typora 處理器,經 session.openWorkspacePath 打開;成功則結束,失敗則走原來的預覽打開。標籤頁級導航(openResourceIn)不受影響,故文件樹、標籤條、投遞卡片行爲不變。
適用場景與注意¶
適合誰:在 macOS 上使用 DSH Desktop,且希望對話裏的 Markdown 鏈接默認在 Typora 中打開、偶爾仍用 DSH 預覽的開發者。
權限與安全:插件以當前 DSH 進程權限運行,安裝前建議閱讀源碼與 LICENSE。README 說明其無宿主路由、無命令執行、無自行文件讀寫;原生打開經 Session Remote,由 Host 校驗路徑映射與應用 id。
限制(來自 README):
- 僅 Host 文件系統能映射的路徑可打開;工作區外的絕對路徑可能被拒絕並回退預覽。
dsh-resource://file/absolute/...(無 session)類地址會被忽略。- 依賴 DSH 內部接口
sidebarRight.openResource、workspaceFiles.stat、session.openWorkspacePath等;DSH 升級若變更這些接口,插件行爲可能失效,但預覽仍可用。 - 無 Windows 專用啓動邏輯;文檔寫明僅在 macOS 驗證。
驗證:項目內可執行 npm test;瀏覽器控制台中原生打開失敗會輸出 [typora-links] ... 及原因。插件無設置頁、無註冊命令。
DSH 生態採用「一切皆插件」思路;社區目錄站點 SkillHub 爲獨立收錄,與 DeepSeek / 幻方無官方從屬關係。本插件在目錄頁分類爲客戶端,GitHub 星標數以各站點當時顯示爲準(抓取時爲 0)。
結尾¶
若你的主編輯器是 Typora,dsh-typora-links 用最小改動把 DSH 對話裏的 Markdown 鏈接接到外部應用,並保留修飾鍵預覽與失敗回退,減少「點了卻在側邊欄看」與「點了沒反應」兩類摩擦。
- 目錄頁:https://www.skillhub.cn/plugins/Mengnan578/dsh-typora-links
- 源碼與文檔:https://github.com/Mengnan578/dsh-typora-links