前言¶
用 DeepSeek Harness(DSH)的 Web 界面跑智能體時,從 0.1.1-rc.2+ 起,官方適配器支持 DeepSeek Files API,圖片會經 Files API 上傳並複用 file_id。這些文件留在 DeepSeek 雲端,默認 7 天過期。
想確認賬號裏到底有哪些文件、把不用的清掉,在這之前要自己調 https://api.deepseek.com/files 的接口,或臨時寫腳本。deepseek-files-panel 把這些操作收進了 DSH Web 界面:右側一個可摺疊面板,列出、複製並清理通過 Files API 上傳的文件,密鑰全程不出宿主進程。
這是什麼¶
deepseek-files-panel 是 iskshadow195563 維護的 DSH Web 插件,採用 MIT 許可證。一句話定位:爲 DSH Web 界面提供右側可摺疊側邊欄,列出、複製並清理通過 DeepSeek Files API 上傳的圖片,密鑰零暴露。
它是標準的 DSH bundle 包(package.json 聲明 dsh.bundle.patch),可以直接用官方插件命令安裝。DSH 的理念是「一切皆插件」,這類包跟隨 profile 加載,隨 dsh web 一起生效。
注意它的管理範圍:只管通過 Files API 上傳的文件(圖片走 Files API 上傳時產生)。純文本對話、未經過 Files API 的內容不在此列。
核心功能¶
- 列出全部已上傳文件:文件名(DSH 自動命名
dsh-<內容哈希>.<ext>)、file_id、大小、創建時間、過期時間(默認 7 天,由 DeepSeek 管理,過期前面板會顯示剩餘有效期) - 一鍵刷新:隨時與 DeepSeek 雲端同步
- 複製 file_id:方便在請求或腳本中引用
- 刪除文件:紅色按鈕加二次確認,3.5 秒內再點擊才真正刪除,防止誤刪
- 主題自適應:跟隨 DSH 頁面主題變量(
--dsw-*),深色、淺色皮膚均可 - 無密鑰泄露:插件本體不含任何密鑰,密鑰由 DSH 憑據服務在宿主側解析
密鑰與工作原理¶
「無密鑰泄露」是它最值得說的設計。調用鏈是這樣的:瀏覽器頁面只訪問本機 dsh web 的路由;宿主側通過 DSH 的憑據服務解析 DEEPSEEK_API_KEY,再去請求 https://api.deepseek.com/files 完成列表與刪除。
也就是說,API Key 只存在於宿主進程內,頁面與 DeepSeek API 之間只經本機同源路由,密鑰永不進入瀏覽器。再配合刪除操作的二次確認,誤刪雲端文件的風險也被壓低了。
安裝與啓用¶
先確認兩個前置條件:
- DeepSeek Harness
dsh >= 0.1.0-rc.6,推薦0.1.1-rc.2+(官方適配器支持 Files API 的版本); - 已在 DSH 憑據中配置
DEEPSEEK_API_KEY,用於調用https://api.deepseek.com/files。
方式一:包形態安裝(推薦)¶
dsh plugin --profile web add github:iskshadow195563/DeepSeek_Harness_Files_Panel#v1.1.0
--profile 必填,換成你實際使用的 profile 名,web 是默認 Web 界面 profile。安裝完成後,插件加入 Profile 的 bundle 層,重啓 dsh web 後生效。
方式二:手動安裝¶
把 dsf-files-panel.mjs 放入 Web Profile 目錄 $DSH_HOME/profiles/web/(Windows 默認 %USERPROFILE%\.dsh\profiles\web\):
# macOS / Linux($DSH_HOME 未設置時默認爲 ~/.dsh)
cp dsf-files-panel.mjs "${DSH_HOME:-$HOME/.dsh}/profiles/web/"
# Windows PowerShell
Copy-Item dsf-files-panel.mjs "$env:USERPROFILE\.dsh\profiles\web\"
再編輯同目錄下的 cordis.patch.yml,合併 insert 補丁:
- insert:
- id: deepseek-files-panel
name: ./dsf-files-panel.mjs?v=1
若文件爲 [] 或不存在,直接粘貼上面整段;若已有其他 insert 條目,把 - id: deepseek-files-panel 一行追加進去。?v=1 用於破 ESM 緩存,升級插件時把數字加一。
手動安裝的補丁文件保存即熱生效,無需重啓;若 5 秒內沒生效,再重啓 dsh web。
驗證¶
刷新瀏覽器頁面(F5),右側中部會出現「📁 DeepSeek 文件」手柄,說明插件已加載。
卸載¶
包形態安裝的,一條命令:
dsh plugin --profile web remove deepseek-files-panel
手動安裝的,刪除 profile 目錄下的 dsf-files-panel.mjs,並從 cordis.patch.yml 的 insert 列表中去掉對應條目,刷新頁面。
無論哪種方式,卸載插件都不會刪除已上傳到 DeepSeek 雲端的文件。要清理,請在面板裏刪除,或調用 DELETE https://api.deepseek.com/files/{file_id}。
典型用法¶
以下操作都在 DSH Web 頁面完成,默認本機地址形如 http://127.0.0.1:3080:
1、展開/收起:點擊右側手柄「📁 DeepSeek 文件」展開面板;點面板右上「▶」收起。
2、刷新:點標題欄「↻」按鈕,重新拉取雲端列表。
3、複製 ID:點某個文件的「複製 ID」按鈕,會複製形如 file-api-... 的 file_id,可直接粘進請求或腳本。
4、刪除:點「刪除」,按鈕變紅色「確認刪除?」,3.5 秒內再點一次纔會真正從雲端刪除。
5、直達展開:瀏覽器地址欄加 ?dsf-open=1,例如 http://127.0.0.1:3080/?dsf-open=1,頁面加載後自動展開面板。
適用場景與注意¶
適合經常在 DSH Web 界面傳圖、需要在後續請求裏複用 file_id、或想定期清理雲端文件的用戶。不經過 Files API 的內容不會出現在面板裏,這不是缺陷,只是邊界。
幾點提醒:
- 已上傳文件默認 7 天過期,過期時間由 DeepSeek 管理,過期前面板會顯示剩餘有效期。
- 右側手柄沒出現時,先確認
.mjs文件在 profile 目錄、補丁行已合併,重啓dsh web後 F5 刷新頁面。 - 列表報「未配置 DEEPSEEK_API_KEY」時,到 DSH 設置/Models 頁配置該憑據。
最後是通用提醒:插件以當前 dsh 進程權限運行,安裝任何第三方插件前,建議先讀一遍源碼、確認許可證。本插件爲 MIT,倉庫內附 LICENSE。
結尾¶
deepseek-files-panel 解決的是一個具體的小問題:Files API 上傳的文件散在雲端,面板把它們收進 DSH Web 界面,列出、複製、刪除都在本地頁面完成,密鑰不出宿主進程。如果你在用 DSH 0.1.1-rc.2+ 並通過 Web 界面傳圖,值得一試。
- GitHub 倉庫:https://github.com/iskshadow195563/DeepSeek_Harness_Files_Panel
- 社區插件目錄頁:https://www.skillhub.cn/plugins/iskshadow195563/DeepSeek_Harness_Files_Panel
目錄頁來自社區維護的獨立站點,與 DeepSeek、幻方無官方從屬關係。