前言¶
用 DSH 跑智能體時,會碰到一個很具體的麻煩:agent 交付的文檔、生成的圖片,多數情況下散在工作區裏,過後要麼找不到,要麼要手動挪地方。會話裏的附件是會話作用域的,關掉這條會話就沒了入口。要達到「上傳、瀏覽、預覽、收藏、再附件回聊天」這一串動作,現在往往要靠手工建目錄、手工傳文件,流程割裂。
下面介紹的插件給 Harness 補一塊全局的文件資料庫,把這些動作收斂到面板裏完成:上傳和管理都在側邊欄底部的資料庫面板裏,chat 側也能把庫裏的文件作爲附件發出。
這是什麼¶
gjunyoung/dsh-library 是一個面向 DeepSeek Harness 的本地文件庫插件,維護者爲 gjunyoung,社區目錄給它的分類是「記憶」。定位一句話:在不改 Harness 本體的前提下,給當前 profile 加一個上傳、瀏覽、預覽、收藏、批量導出,並且和聊天打通的文件庫。
它是純插件實現:客戶端半邊只允許 require('react'),與 Harness 的交互一律通過 slot 註冊和 loopback HTTP 完成,因此不需要改 Harness 源碼。目錄頁顯示星標爲 0,屬於新出現的項目。
核心功能¶
下面按 README 裏列明的能力介紹,不做擴展。
- 上傳:支持按鈕上傳和拖拽,單文件上限 200 MB,同名文件自動加序號。
- 瀏覽:網格 / 列表兩種視圖,按時間 / 名稱 / 大小排序,支持搜索,分類包括全部 / 文件 / 圖片 / 視頻 / 音頻 / 收藏。
- 預覽:文本、Markdown、代碼、HTML(沙箱渲染 + 源碼切換)、圖片(內嵌預覽 + 全屏燈箱,支持滾輪縮放、拖動、旋轉、下載、刪除)、PDF,Office 文件走 PDF。
- 收藏:可以收藏 / 取消收藏,收藏夾(文件夾)分組,默認「未分類」。
- 批量:勾選、Shift 區間、全選、ZIP 打包下載、移到文件夾、發送到當前聊天、刪除。
- 聊天集成:輸入框左側「+」可以從資料庫選文件加入草稿附件;agent 通過
present交付的文件自動入庫,並記錄來源會話。 - 存儲管理:設置頁可以查看位置與佔用、遷移到新目錄、重建索引。
安裝與啓用¶
前提是本機已安裝 DeepSeek Harness,並有一個可用的 profile。官方 README 給出的安裝方式是先把倉庫拿到本機,再從插件入口掛載,不是一條命令行的插件安裝:
1、把倉庫克隆或下載到任意位置,路徑可以包含空格:
git clone https://github.com/gjunyoung/dsh-library.git
2、打開 Harness → 設置 → 插件 → 安裝插件包,填入該目錄的絕對路徑,或者 npm pack 生成的 .tgz 路徑。
3、在插件列表裏啓用「資料庫」。
4、重啓 Harness。
首次啓動會在 ~/.dsh/library 創建存儲目錄,Windows 下是 C:\Users\<你>\.dsh\library。README 提示,安裝入口在不同版本里名稱可能略有差異(「安裝」「添加插件」等),本質是把該目錄作爲當前 profile 的一個本地依賴。
典型用法¶
先打開面板:點側邊欄底部的資料庫圖標。上傳區支持拖拽;列表右側的「…」菜單提供預覽、下載、收藏、移到文件夾、刪除。
預覽抽屜的行爲按文件類型區分:圖片和 PDF 可以放大;HTML 默認渲染,可以切源碼;Office 文件首次打開時轉換一次,之後走緩存。例如打開一個 .docx,首次會經過 Harness 內置的轉換能力轉成 PDF 顯示。
收藏的入口在「…」裏,點的「收藏」會打開文件夾選擇器,已收藏的文件顯示「取消收藏」。收藏的根層是文件夾列表(未分類 + 各收藏夾),進入文件夾後搜索框生效。
批量操作在面板底部的懸浮條上:全選 / 取消全選、下載(ZIP)、移到文件夾、發送到聊天、刪除。發送到聊天對應聊天集成的那一條,把勾選的文件作爲附件發到當前會話。
存儲與維護¶
存儲目錄的結構如下:
~/.dsh/library/
├─ index.json 記錄(文件名、大小、哈希、來源、收藏、所屬收藏夾)
├─ index.backup.json 上一次的索引備份
├─ blobs/<2>/<sha>.bin 按內容尋址的文件本體(同內容只存一份)
├─ orphan/ 失去索引記錄的字節(不會被自動刪除)
├─ tmp/ 臨時文件、Office 轉換緩存
└─ thumbs/ 預留的縮略圖目錄
備份是複製整個目錄,恢復時放回同一位置。遷移走 設置 → 資料庫 → 填入新目錄絕對路徑 → 遷移,會搬運文件、校驗後刪除舊目錄裏的庫數據,並記住新位置,重啓仍生效。重建索引用磁盤上的字節重寫 index.json,適用於索引損壞或手動動過目錄的情況;索引裏沒有的文件會以 recovered-<hash前8位> 出現,原名與收藏信息無法恢復。
適用場景與注意¶
適合這樣一類用法:已經有 DSH 和可用 profile,希望把 agent 交付物和常用文件集中管起來,並且要在聊天裏反覆引用庫裏的文件。不願意改 Harness 本體的,這個插件走的是純插件路徑。
幾個需要先知道的點。Office 只走 PDF:docx / xlsx / pptx 由 Harness 內置的轉換能力轉成 PDF 顯示,不解析原始表格,Excel 的公式、圖表不會單獨渲染。HTML 是單文件預覽:在沙箱 iframe 中以 srcdoc 渲染,腳本可運行,但讀不到應用數據、也訪問不到外網,./style.css 這類相對引用不可用。預覽是頁內抽屜:Harness 右側欄的文檔預覽是會話作用域的,資料庫是全局面板,因此預覽放在面板內部的抽屜裏。自動入庫只認交付:agent 用 present 交付的文件會自動入庫,write / edit 直接寫進工作區的文件不會自動入庫,這是爲了避免把臨時文件都塞進來。批量收藏未提供,收藏走單條操作。
另外,插件運行在當前 DSH 進程的權限下,並且安裝方式是把本地目錄作爲 profile 依賴掛載。安裝前建議先讀一遍源碼,確認 index.js(host 半邊)和 lib/ 裏的存儲邏輯是否符合預期;許可證是 MIT(© 2026 gjunyoung),允許自由使用、修改、分發,軟件按「原樣」提供。
結尾¶
這個插件的價值在於把「文件管理」這件事收進了 DSH 的面板裏,而不是另開一套工具:上傳、瀏覽、預覽、收藏、批量導出和聊天附件在同一次交互裏完成,存儲位置和索引也可以自行維護。它依賴 Harness 內置的 Office 轉換和沙箱渲染能力,有明確的能力邊界,用之前按上面的注意點核對。
- 目錄頁:https://www.skillhub.cn/plugins/gjunyoung/dsh-library
- GitHub:https://github.com/gjunyoung/dsh-library
(社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。)