dsh-plugin-zsxq:在 DSH 裏把知識星球訂閱落成可檢索的本地 Markdown 知識庫

前言

在 DeepSeek Harness(DSH)裏做智能體工作流時,常會希望模型能用到你已通過訂閱獲得的內容。知識星球(zsxq)的帖子多在 App 內,正文又常藏在 docx、PDF 等附件裏,歷史內容難以全文檢索;若要在電腦上閱讀或交給 Agent 處理,往往只能手工導出。社區插件 dsh-plugin-zsxq 把「同步帖子與附件 → 抽取正文與圖片 → 建索引 → 檢索」放在 DSH 側完成,數據落在本地目錄,純 JavaScript 實現,README 寫明不依賴 Python、外部服務或遙測。

這是什麼

dsh-plugin-zsxq 由維護者 zhangcaiqian 發佈,在 SkillHub 目錄 中歸類爲「工作流」。當前 npm 包版本爲 0.1.0(見倉庫 package.json),許可證 MIT。插件向 DSH Agent 暴露七個類型化工具,用於初始化知識庫、校驗 Cookie、同步、重建索引與檢索;可選搭配 companion skill(倉庫 README 中的安裝示例爲 github:zhangcaiqian/zsxq-skill)約定分類、摘要與引文等 enrichment 流程。

核心功能

下面按 README 中可覈對的能力簡述。

同步與抽取

一次同步可覆蓋當天、指定日期、整月、條數或話題標籤等模式(由 zsxq_sync 的 mode 等參數控制)。同步會拉取帖子與附件,對 docx 抽取段落與內嵌圖片,對 PDF 抽取頁文本(含 CJK,via bundled CMaps)與頁圖 PNG;帖子內圖片保留遠程簽名 URL;帶 inline_article_url 的文章帖會將 HTML 轉爲純文本。音頻類附件以下載爲主,README 標明轉錄不在範圍內。

本地檢索與 Agent 工具

在本地 index.json 上支持關鍵詞、標籤、頻道、分類、日期等檢索。七項工具職責如下(是否與磁盤交互見 README 表格):

Tool 作用
zsxq_init 創建數據目錄與 config.json 模板
zsxq_doctor 校驗 Cookie、彙報可達星球、檢查索引健康
zsxq_list_channels 列出已配置頻道
zsxq_status 文章/引文數量、索引陳舊度、同步狀態
zsxq_search 在本地索引上檢索
zsxq_sync 同步帖子、附件與抽取文本,按 topic id 去重
zsxq_rebuild_index 重建 INDEX.md、index.json 及各類 by-* 索引

README 中的安全約束包括:count 上限 30(更大分頁會被知識星球 API 拒絕);整月 refresh 需顯式 confirmDestructive 且僅單頻道,會刪除該月本地文件(含 enrichment);依賴 .synced_ids 保證同步冪等。

數據佈局

默認數據根目錄爲 $DSH_HOME/zsxq-kb,可通過配置項 dataDir 或環境變量 ZSXQ_BASE_DIR 覆蓋。典型結構:

<dataDir>/
├── config.json
├── channels/<channel>/<YYYY>/<MM>/<DD>/<title>.md
├── assets/...
├── data/raw/...
└── index/...

config.json 含 Cookie 與 channels 映射,README 要求勿提交版本庫、勿貼入聊天或 Issue。

安裝與啓用

安裝後需重啓 DSH(插件模塊不支持熱加載)。官方 README 給出的命令如下。

# npm(推薦)
dsh plugin --profile web add dsh-plugin-zsxq

# 或從 GitHub 源碼安裝
dsh plugin --profile web add github:zhangcaiqian/dsh-plugin-zsxq

# 本地開發時 link
dsh plugin --profile web add link:/path/to/dsh-plugin-zsxq

DSH Desktop 用戶可從 Settings → Plugins 安裝;若用 CLI,需將 DSH_HOME 指向桌面版 harness 目錄,否則插件會裝到另一 profile。

可選 companion skill(用於 enrichment 約定,非必需):

dsh plugin --profile web add github:zhangcaiqian/zsxq-skill

package.json 聲明 DSH 引擎範圍爲 >=0.2.0-rc.2 等區間,Node >=20。

可在 profile 的 cordis.patch.yml 中配置插件行 zsxq-tools,例如:

- id: zsxq-tools
  name: dsh-plugin-zsxq
  config:
    dataDir: /Users/you/knowledge-base

可調字段還包括 requestIntervalMs(默認 1500)、syncTimeoutMs(默認 900000)、indexTimeoutMs(默認 120000)。

典型用法

按 README Quick start,建議順序如下。

  1. 讓 Agent 執行初始化:例如說明「initialize the zsxq knowledge base」,對應 zsxq_init,在默認或已配置的 dataDir 下創建 channels、assets、data、index 及 config.json 模板。

  2. 配置 Cookie:在瀏覽器登錄 wx.zsxq.com,開發者工具 Network 中篩選 api.zsxq.com,從請求頭複製完整 Cookie,寫入數據目錄下的 config.json:

{ "zsxq_cookie": "zsxq_access_token=…; abtest_env=product", "channels": {}, "tag_to_category": {} }

Cookie 約一個月失效時工具可能返回 HTTP 401(ZSXQ_COOKIE_EXPIRED),需重新複製並覆蓋。可用 zsxq_doctor 做一次真實 API 校驗且不回顯 Cookie。

  1. 選擇要同步的星球:經 zsxq_doctor 確認賬號可達的星球后,在 config.json 的 channels 中填入 name、group_id、default_scope 等。

  2. 同步:例如「sync today’s posts」→ zsxq_sync,mode=today。

  3. enrichment、索引與檢索:由 Agent 按 skill 或工具說明填寫 topic_category、摘要、.quotes.md 等,再「rebuild the index」→ zsxq_rebuild_index,檢索示例爲「search the knowledge base for …」→ zsxq_search。

適用場景與注意

適合已在 DSH 中使用 Agent、且長期訂閱多個知識星球、希望把付費內容沉澱爲本地 Markdown 並做全文檢索的開發者或個人用戶。插件在當前 DSH 進程權限下運行,會向知識星球 API 發起請求並讀寫本地目錄;安裝前宜自行查看 GitHub 源碼 與 MIT 許可證,確認 Cookie 與數據路徑符合你的安全策略。

SkillHub 爲社區插件目錄,與 DeepSeek / 幻方無 README 所述的官方從屬關係;DSH 生態奉行「一切皆插件」,本插件是工作流類擴展之一。截至資料抓取時,GitHub 倉庫星標約爲 1。

結尾

dsh-plugin-zsxq 把訂閱內的帖子與附件同步到自選本地目錄,完成 docx/PDF 抽取與索引檢索,便於在 DSH 裏用 Agent 整理與查詢知識星球內容。目錄頁:https://www.skillhub.cn/plugins/zhangcaiqian/dsh-plugin-zsxq;源碼與文檔:https://github.com/zhangcaiqian/dsh-plugin-zsxq。

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

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

小夜