前言¶
DeepSeek Harness (DSH) 的生態理念是「一切皆插件」。在開發或調試智能體時,處理文件操作是常見需求。開發者需要在不離開 DSH 界面的情況下瀏覽工作區文件、查看當前會話產生的結果,並將文件路徑傳遞給 AI 進行分析。dsh-file-preview 插件提供了這些基礎能力。
插件簡介¶
該插件由開發者 ld-1101 維護,採用 MIT 許可證。它是一個客戶端插件,通過宿主端路由提供服務。主要功能包括:在左側邊欄瀏覽工作區文件、預覽 Markdown/PDF/圖片/CSV/代碼文本、展示當前會話中 AI 產出或修改過的文件,以及將文件拖拽至對話中插入路徑。
安裝與啓用¶
當前該插件尚未發佈至 npm,請使用本地源碼安裝。
- 克隆倉庫:
git clone https://github.com/ld-1101/dsh-file-preview.git
-
在你的 DSH profile 目錄下的
package.json中進行配置:
* 在dependencies字段中添加:
"dsh-file-preview": "file:<克隆後的絕對路徑>"
* 在dsh.profile.bundles數組中追加:
"dsh-file-preview" -
安裝依賴後,完全退出並重新啓動 DSH 應用。
核心功能¶
左側邊欄與文件瀏覽¶
插件在 DSH 左側邊欄底部添加了一個「📁 文件」按鈕。點擊後,文件列表面板會在右側展開(對話區域自動讓位)。面板寬度可在 320px 至 900px 之間拖動調整,且支持寬度記憶。雙擊面板左緣手柄可恢復默認寬度。
會話產出文件列表¶
面板頂部列出當前會話中 AI 產出或修改過的文件。該數據來源於會話事件日誌中的 tool/result 事件,提取其中的 locations[].path。列表支持切換會話,切換後會自動定位到該會話所在的工作區目錄。
拖拽到對話¶
支持將文件或文件夾拖拽到會話界面的任意位置(無需對準輸入框)。插件會攔截 drop 事件,並在輸入框光標處插入單行純路徑。發送後,AI 即可讀取該路徑下的文件內容。
預覽能力¶
點擊任意文件,插件會在面板內進行渲染:
* 支持格式:Markdown(渲染)、PDF(內嵌)、圖片、CSV(表格)、代碼文本。
* 不支持的格式:點擊後會通過新標籤頁打開,由瀏覽器決定展示方式。
安全限制¶
- 工作區隔離:插件只能訪問 DSH 已註冊的工作區。工作區外的路徑(包括路徑穿越嘗試)一律拒絕訪問。
- 文本讀取上限:文本讀取限制爲 5 MiB。超過該大小的文件會被截斷,並在面板內提示。
使用方法¶
- 打開文件面板:點擊左側邊欄底部的「📁 文件」按鈕,展開文件列表面板。
- 查看會話產出:在面板頂部下拉框切換會話,查看當前會話修改過的文件列表。
- 瀏覽目錄:使用麪包屑導航或點擊目錄項瀏覽工作區樹狀結構。
- 調整寬度:按住面板左緣的手柄拖動以調整寬度。
- 插入文件路徑:將文件或文件夾直接拖拽到會話輸入框上方區域,光標處會出現一行路徑字符串。
- 預覽文件:在文件列表中點擊文件,面板內即時渲染預覽。
注意事項¶
- npm 發佈狀態:當前僅支持本地源碼安裝,
dsh plugin add命令暫不可用。 - 會話產出列表爲空:如果 Agent 通過
run_code等包裝工具執行文件操作(不產生locations字段),該列表將爲空。這是平臺行爲,與 DSH 原生 deliverables 一致。 - 文本截斷:超過 5 MiB 的文本文件會被截斷,請注意查看面板內的提示。
- 平臺限制:插件依賴 Web 殼的客戶端注入機制,目前主要面向 Web 平臺。
生態與鏈接¶
該插件爲開源項目,倉庫包含 25 項客戶端單元測試、冒煙測試及集成測試。更多詳情請訪問:
* GitHub 倉庫
* 社區目錄