dsh-file-links:DSH 對話文件引用插件

前言

在 DeepSeek Harness(DSH)對話中,助手經常通過工具返回文件路徑,或在正文中提及文件。這些引用通常以純文本形式顯示,難以快速定位或查看。dsh-file-links 插件旨在解決這一問題,將對話中涉及的文件路徑自動渲染爲 Codex 風格的可點擊標籤,點擊即可在 DSH 內置預覽中打開。

插件介紹

dsh-file-links 是 DeepSeek Harness 生態下的一個插件,由開發者 h1-count 維護。它的核心價值在於將對話上下文中的文件引用可視化,提升文件操作的效率。

核心功能

  1. 自動提取
    插件會從三類來源確定性累積每輪對話中引用的文件路徑:
    - 工具結果的 locations 字段(如 diff、edit 卡片)。
    - 工具調用參數中的路徑。
    - 回覆正文中的行內代碼提及。

  2. Codex 風格 chips
    - 渲染爲“文件引用”標籤 + 圓角小膠囊。
    - 根據文件擴展名自動着色圖標(如 TS/JS/MD/表格/圖片等)。
    - 鼠標懸停高亮。
    - 當引用超過 8 個時,自動摺疊爲 +N。

  3. 點擊即預覽
    - 利用 DSH 聊天視圖自帶的 openFile(workspaces.openPath)接口。
    - 無需自行搭建預覽功能,直接複用原生能力。

  4. 安全與校驗
    - 渲染前會經過 Host 端的 fs.stat 校驗。
    - 僅保留真實存在的普通文件,自動過濾目錄、噪聲及不存在的路徑。
    - 支持絕對路徑直開,相對路徑按會話 cwd 解析,避免路徑拼接錯誤。

  5. 主題適配
    - 樣式變量遵循 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 倉庫。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜