前言¶
在使用 DeepSeek Harness (DSH) Web composer 進行開發或調試時,直接引用工作區的文件路徑是常見需求。手動輸入相對路徑容易出錯,且默認的粘貼功能通常僅支持圖片。下面介紹 dsh-file-mention 插件,它通過 @ 觸發器解決了這一痛點,提供了安全的會話級文件引用、Git 感知的索引以及拖拽/粘貼文件上傳功能。
插件定位¶
這是一個面向 DSH Web composer 的客戶端插件,由 tipoLi5890 維護。它不直接注入文件內容,而是在 Agent 步驟前生成輕量級的路徑引用標記(<workspace-reference>),由 Host 進行驗證和標記。
核心功能¶
- 文件與文件夾索引:輸入
@可打開工作區列表,支持 basename 或路徑過濾。 - Git 感知與可控索引:支持 Git 追蹤文件和未追蹤文件,通過
.aiinclude規則控制索引內容。 - 快速輸入與鍵盤操作:單次會話索引請求,支持箭頭鍵 + Tab/Enter 選擇。
- 非圖片文件上傳:支持拖拽或粘貼非圖片文件,自動管理上傳並插入路徑。
- 路徑引用管理:包含引用托盤和設置中心,用於管理已插入的引用和上傳記錄。
安裝與啓用¶
安裝前請確保使用的是兼容 DSH Web profile。
dsh plugin --profile web add github:tipoLi5890/dsh-file-mention
安裝完成後需重啓 DSH Web。
典型用法¶
@:打開工作區文件/文件夾列表。@readme:匹配文件名(如README.md)。@src/ma:搜索完整相對路徑。Pick src/main.js:插入@src/main.js。Pick docs/file with spaces.md:插入@"docs/file with spaces.md"(帶空格路徑需加引號)。Pick docs/:插入@docs/。Arrow keys + Tab:接受高亮的候選文件。
上傳機制¶
對於非圖片文件,插件接管了上傳流程。拖拽或粘貼文件後,文件會被複制到託管上傳目錄,並在光標處插入路徑。上傳過程支持進度顯示和取消,且有配額限制(單文件 50 MiB,會話 250 MiB,全局 2 GiB)。
限制與注意¶
- 索引條目上限爲 20,000 條。
- 非 Git 工作區遍歷深度限制爲 32 層。
- 非圖片文件上傳後保留 7 天(可配置)。
- Git 倉庫遵循
.gitignore,非 Git 模式會跳過隱藏文件、符號鏈接、緩存等。
總結¶
該插件通過零構建方式集成,提供了完整的文件引用和上傳體驗。適合需要頻繁在 Agent 步驟中引用本地代碼或文檔的開發者。
源碼與詳細文檔位於:GitHub。