前言¶
在 DeepSeek Harness(DSH)對話中,助手經常通過工具返回文件路徑,或在正文中提及文件。這些引用通常以純文本形式顯示,難以快速定位或查看。dsh-file-links 插件旨在解決這一問題,將對話中涉及的文件路徑自動渲染爲 Codex 風格的可點擊標籤,點擊即可在 DSH 內置預覽中打開。
插件介紹¶
dsh-file-links 是 DeepSeek Harness 生態下的一個插件,由開發者 h1-count 維護。它的核心價值在於將對話上下文中的文件引用可視化,提升文件操作的效率。
核心功能¶
-
自動提取
插件會從三類來源確定性累積每輪對話中引用的文件路徑:
- 工具結果的locations字段(如 diff、edit 卡片)。
- 工具調用參數中的路徑。
- 回覆正文中的行內代碼提及。 -
Codex 風格 chips
- 渲染爲“文件引用”標籤 + 圓角小膠囊。
- 根據文件擴展名自動着色圖標(如 TS/JS/MD/表格/圖片等)。
- 鼠標懸停高亮。
- 當引用超過 8 個時,自動摺疊爲+N。 -
點擊即預覽
- 利用 DSH 聊天視圖自帶的openFile(workspaces.openPath)接口。
- 無需自行搭建預覽功能,直接複用原生能力。 -
安全與校驗
- 渲染前會經過 Host 端的fs.stat校驗。
- 僅保留真實存在的普通文件,自動過濾目錄、噪聲及不存在的路徑。
- 支持絕對路徑直開,相對路徑按會話cwd解析,避免路徑拼接錯誤。 -
主題適配
- 樣式變量遵循 DSH 主題規範(--dsw-alias-*)。
- 確保在淺色和深色主題下均可正常閱讀。
安裝與啓用¶
使用官方提供的命令安裝插件:
dsh plugin --profile web add github:<你的賬號>/dsh-file-links
安裝完成後重啓 DSH 即可生效。
工作原理¶
該插件分爲客戶端和宿主端兩部分協同工作:
- 客戶端:註冊 conversation.chat.turnTail 鏈,通過 ConversationNodeDefinition(kind 爲 file-links)累積路徑並渲染 chips。
- 宿主端:註冊 /file-links/verify HTTP 路由,利用 fs.stat 校驗路徑存在性。
- 數據安全:插件僅讀取路徑元數據,不讀取文件內容,不上傳任何數據,無業務寫入操作。
使用方式¶
在 DSH 對話中,一旦助手使用了工具返回文件路徑或在正文中提及文件,這些文件會自動在下方的回覆中渲染爲可點擊的 chips。用戶只需點擊對應的標籤,即可在 DSH 內置預覽中打開文件。
適用場景與注意¶
- 適用場景:適合需要在對話中頻繁引用和查看本地代碼文件的開發者,特別是使用 DSH 進行代碼編輯、調試或文檔生成時。
- 注意:插件以當前 DSH 進程的權限運行。在安裝前,建議檢查源碼以確認無惡意行爲,並確認許可證符合你的需求(MIT 許可證)。
結語¶
dsh-file-links 通過將靜態的文件路徑轉化爲交互式標籤,降低了文件操作的成本。更多細節和源碼,可以訪問 GitHub 倉庫。