dsh-bookshelf:把個人書架與閱讀記錄交給 DSH 本地持久化

前言

用 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 同步狀態;不將書架數據上傳到插件作者服務器。

典型用法

  1. 面板:在 DSH 中打開書架 UI,拖拽或編輯狀態、頁碼、標籤,查看年度統計與三種視圖。
  2. 對話:讓 agent 調用 bookshelf_update 更新讀完狀態與評分,或 bookshelf_stats 回答年度閱讀量。
  3. 遷移:從 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 爲準。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜