前言¶
用 DSH 做開發或日常對話時,閱讀進度、摘錄和年度統計往往散落在筆記應用或表格裏,agent 既沒有統一的數據源,也很難用自然語言更新「在讀第幾頁」「剛讀完哪本」。下面介紹社區插件 dsh-bookshelf(維護者 lima1217,SkillHub 分類:記憶):在本機保存書架與閱讀日誌,並通過 bookshelf_* 工具供 agent 讀寫,同時具備面板 UI 與 CSV 導入導出。
這是什麼¶
dsh-bookshelf 是 DeepSeek Harness(DSH)的個人書架與閱讀記錄插件。數據保存在本機 JSON 文件中,不會把整個書架上傳到第三方;DSH agent 通過 bookshelf_list、bookshelf_add 等工具查詢或更新記錄。界面支持中英文,並跟隨 DSH 淺色 / 深色主題。
倉庫:lima1217/dsh-bookshelf
目錄頁:SkillHub 插件條目
當前 package 版本爲 1.2.0,許可證 MIT。
核心功能¶
書架與閱讀字段¶
書架面板按狀態分欄:想讀 / 在讀 / 讀完。單本書可記錄開始與讀完日期、頁碼進度、評分、標籤、筆記。聯網時可向 Apple Books、Google Books、Open Library 的搜索接口發送書名,用於補全封面與簡介(不把完整書架上載到這些服務)。
摘錄與統計¶
- 摘錄:爲每本書保存原文段落、頁碼與個人評論。
- 年度統計:某一年的讀完冊數、總頁數、平均評分、每月數量、常用標籤等(面板與
bookshelf_stats工具均可使用)。
視圖與導入導出¶
三種視圖:按狀態分欄、列表、封面牆。支持導入 Goodreads、豆瓣導出的 CSV,也可將書架導出爲 CSV。
Agent 工具一覽¶
| 工具 | 作用 |
|---|---|
bookshelf_list |
按狀態、關鍵詞、標籤列書,或查看單本詳情 |
bookshelf_stats |
某一年的閱讀統計 |
bookshelf_add |
上架新書(同名不重複添加) |
bookshelf_update |
更新狀態、進度、評分、標籤、筆記、日期 |
bookshelf_add_excerpt |
爲某本書添加摘錄 |
可對 agent 說例如:「我今天讀完了《置身事內》,給 4 星」或「我今年讀了多少書?」——具體解析取決於當前對話與工具調用,工具能力以倉庫 README 爲準。
安裝與啓用¶
需要先安裝 DeepSeek Harness 桌面版。官方 README 採用本地 link: 依賴,而不是 dsh plugin add 一類命令;按下面步驟操作。
1、獲取插件源碼¶
在本地合適目錄克隆倉庫:
git clone https://github.com/lima1217/dsh-bookshelf.git
記下克隆目錄的絕對路徑,後面要寫進 package.json。
2、註冊到 desktop profile¶
編輯 ~/.dsh/profiles/desktop/package.json:在 dependencies 中增加指向該目錄的 link,並把包名加入 dsh.profile.bundles:
{
"dependencies": {
"@local/dsh-bookshelf": "link:/你的路徑/dsh-bookshelf"
},
"dsh": {
"profile": {
"bundles": ["…原有條目…", "@local/dsh-bookshelf"]
}
}
}
將 /你的路徑/dsh-bookshelf 換成上一步的真實絕對路徑。
3、用 DSH 自帶 pnpm 安裝依賴¶
在 ~/.dsh/profiles/desktop 下執行安裝。務必使用 DSH 應用內置的 pnpm,不要用系統全局 pnpm(版本不一致可能清空整個 node_modules)。
macOS 桌面版示例(路徑以本機 DeepSeek Harness.app 爲準):
cd ~/.dsh/profiles/desktop && node "/Applications/DeepSeek Harness.app/Contents/Resources/runtime/primary-runtime/dependencies/pnpm/bin/pnpm.mjs" install
Linux 或其他安裝位置時,把 node 後面的 pnpm.mjs 路徑改成你機器上 DSH runtime 中的對應文件。
4、重啓 DSH¶
完全退出並重新打開 DeepSeek Harness,使 bundle 加載新插件。
link: 安裝後,在克隆目錄 git pull 即可更新源碼;僅改前端時刷新窗口,改後端邏輯需重啓 App。
數據存儲與 HTTP 接口¶
默認數據文件:
~/.dsh/storages/bookshelf.json
可通過環境變量 DSH_BOOKSHELF_FILE 指定其它路徑。
插件在本機迴環地址提供 HTTP 接口,例如 api/dsh-bookshelf/state、api/dsh-bookshelf/revision,供面板與 Host 同步狀態;不將書架數據上傳到插件作者服務器。
典型用法¶
- 面板:在 DSH 中打開書架 UI,拖拽或編輯狀態、頁碼、標籤,查看年度統計與三種視圖。
- 對話:讓 agent 調用
bookshelf_update更新讀完狀態與評分,或bookshelf_stats回答年度閱讀量。 - 遷移:從 Goodreads / 豆瓣導出 CSV 後按 README 說明導入;需要備份時用導出的 CSV 或複製
bookshelf.json。
開發調試時,倉庫提供 dev/harness.mjs 可在瀏覽器中預覽面板(脫離完整 DSH);接口細節見倉庫內 docs/dsh-plugin-api.md。開發環境說明爲 Node 26,自檢可運行 npm test。
適用場景與注意¶
適合:希望在同一臺機器上長期維護閱讀記錄,並希望在 DSH 對話裏用自然語言查詢、更新書架的讀者或開發者。
權限與安全:插件以當前 DSH 進程權限運行,可讀寫你配置的 JSON 與調用上述聯網搜索補全封面。安裝前建議瀏覽 GitHub 源碼 與 MIT 許可證,確認符合你對本地數據與出站請求的要求。
生態說明:DSH 採用「一切皆插件」的擴展方式;SkillHub 等爲社區目錄,與 DeepSeek / 幻方無官方應用商店從屬關係。本文事實來源於項目 README 與 package.json,星標與目錄信息以你打開 SkillHub / GitHub 時的頁面爲準。
結尾¶
經過上面的步驟,dsh-bookshelf 把書架、摘錄和年度統計收斂到本機一份 JSON,並用 bookshelf_* 工具橋接到 agent。若要查看分類與簡介,可訪問 SkillHub 目錄頁;安裝與貢獻以 GitHub 倉庫 README 爲準。