better-plugin-combine-dsh-society:DSH 插件「辦公廳」只讀目錄

前言

DeepSeek Harness(DSH)採用「一切皆插件」的架構:貼吧、B 站、QQ 橋、記憶、畫布、Office 等能力各自獨立,各有設置頁、數據目錄和記憶庫。插件之間互不感知,問一句「這事歸哪個插件管」「上次配置在哪改的」「以前記過沒有」,往往要逐個翻卡片或翻目錄。

better-plugin-combine-dsh-society(README 中稱「辦公廳 · Office Catalog for DSH」)在本機爲已安裝插件提供只讀「前臺」:彙總職能、工具、入口與數據位置,必要時跨記憶庫檢索,但不代執行任何部門能力。下面介紹其定位、能力與安裝用法。

這是什麼

維護者 shiliman,倉庫 better-plugin-combine-dsh-society,社區目錄分類爲客戶端。當前 package.json 版本爲 0.1.0,許可證 MIT。

一句話定位:只讀的部門目錄——知道本機每個插件做什麼、對外有哪些工具、設置頁在哪、數據存在哪、記憶條數與最後活動時間;要動手時只告訴你該找誰,不替你跑任務。

它解決什麼

插件 README 歸納爲三件事:

  1. 目錄——每個插件一張卡:一句話職能、工具名、入口、數據位置、記憶條數、最後活動時間;
  2. 檢索——平時只留一行索引,需要時再展開;可跨 meow-memory 的多個庫查過往;
  3. 轉交——能答就答,要動手則交給原插件,不代跑。

設計動機是:模型上下文裝不下幾十張完整卡片,但裝得下「一個工具,按需查」。

核心功能:兩個只讀工具

兩個工具均只讀:不寫記憶庫、不改插件配置、不執行各部門能力。

office_catalog

參數 說明
不傳 返回索引:每個部門一行 包名 版本 | 一句話職能 | T工具數 M記憶數 @最後活動
name 單個部門的詳情卡(職能 / 工具列表 / 入口 / 數據目錄 / 記憶 / 宿主要求 / 包目錄 / 邊界)
q 按關鍵詞篩部門(名字、職能、說明、工具名)
limit q 模式最多返回幾張,默認 6

office_ask

參數 說明
query 必填。關鍵詞,空格分隔更準(如 貼吧 日報 簽到),避免整段長句
limit 返回幾條記憶摘錄,默認 8
libs 只查某幾個庫,逗號分隔(id 由配置決定)

返回命中部門、記憶摘錄(庫 / 表 / 記憶 id / 時間 / 分數),並提示全文需用 memory_read。外部記憶庫默認只給約 240 字摘錄。

數據從哪來(全部只讀)

掃描結果緩存在 $DSH_HOME/storages/office-catalog/catalog.json,過期則重掃;一次掃描幾十個插件約 1 秒。字段來源包括:

  • 名字 / 版本 / 說明:package.json 與 locale/*.json 的 meta.title/description;
  • 一句話職能:從 description 提煉(去 DSH 插件 · 前綴,取首句,截 42 字);
  • 工具名:靜態掃宿主側 JS(跳過 client*.js 與註釋);
  • 設置頁入口:掃 client*.js 中的 settings.section 註冊;
  • 數據目錄:dsh.dataDir 優先,再在 $DSH_HOME/storages 等路徑探測;
  • 最後活動:數據目錄內最新文件 mtime;
  • 記憶條數:只讀打開 meow-memory SQLite,按 project 分組計數。

三條原則:不建第二份真相(緩存非權威)、只讀、懶更新(無後臺輪詢,查詢時比對緩存時間)。

安裝與啓用

依賴 Node.js ≥ 22.5(使用內置 node:sqlite),無需 npm install,無第三方包。DSH 引擎要求 dsh >= 0.2.0-rc.2。

  1. 將倉庫放到任意目錄,例如 ~/dsh-plugins/better-plugin-combine-dsh-society;
  2. 在 DSH 中安裝本地 bundle:
plugin_manager  action: install_bundle  target: <上面目錄的絕對路徑>
  1. 看到 application: "applied" 即生效。宿主側 index.js 改動需重啓 DSH 客戶端;scan.mjs / query.mjs 爲子進程腳本,改後者不必重啓。
  2. 可讓助手「列出辦公廳目錄」或「查一下刷貼吧的插件歸誰管」做驗證。

卸載:

plugin_manager  action: remove_bundle  target: better-plugin-combine-dsh-society

$DSH_HOME/storages/office-catalog/(緩存、日誌、libs.json)可一併刪除,下次重掃會重建。

配置

寫在 cordis.patch.yml 的 config 裏(或安裝時傳入):

鍵 默認 說明
dshHome $DSH_HOME 或 ~/.dsh DSH 家目錄
profile desktop 讀哪個 profile 的 node_modules
nodePath 自動探測 跑掃描腳本的 node
timeoutMs 30000 單次掃描/檢索超時
memoryLibs 自動探測 記憶庫列表 [["main","路徑"], ...]

記憶庫指定優先級:memoryLibs 配置 → $DSH_HOME/storages/office-catalog/libs.json → 自動探測若干 .dsh-meow/memory.db 路徑;一個都探不到則卡片如實寫「無記憶庫」,不報錯。

典型用法

  • 不傳參調用 office_catalog:得到全機插件一行索引,快速回答「有哪些插件、各管什麼」。
  • office_catalog 帶 q:按關鍵詞篩部門,例如找與「記憶」「貼吧」相關的包。
  • office_catalog 帶 name:打開單個插件詳情卡,查工具列表與數據目錄路徑。
  • office_ask 帶 query:跨配置好的記憶庫做關鍵詞檢索,再按返回指針到對應庫讀全文。

README 還提供 examples/tiny_host.py:不裝 DSH 也可讀同一份 catalog.json 的最小示例。

適用場景與注意

適合:本機 DSH 插件較多、需要統一查職能與入口、或跨 meow-memory 庫回憶「以前記過什麼」的智能體開發者。

邊界(README 已知):

  • 靜態掃描只能看到字面量工具名;運行時拼接或被混淆的工具會標「未靜態識別」。
  • 只支持 meow-memory 庫結構;其他記憶插件需改 query.mjs 表名與列名。
  • 英文插件職能可能直接出英文,無翻譯層。
  • 插件以當前 DSH 進程權限運行;安裝前應自行審閱 源碼 與 MIT 許可證。

DSH 社區插件目錄爲獨立站點 SkillHub 條目,與 DeepSeek / 幻方無官方從屬關係。

結尾

better-plugin-combine-dsh-society 用「辦公廳」思路給 DSH 裝一個只讀前臺:目錄、檢索、轉交,不復制各部門內容,也不代執行。裝多插件後,優先用 office_catalog 與 office_ask 按需查,再交給對應插件動手。

  • 目錄頁:https://www.skillhub.cn/plugins/shiliman/better-plugin-combine-dsh-society
  • GitHub:https://github.com/shiliman/better-plugin-combine-dsh-society
羽毛球分组比赛记分
小程序二维码

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

小夜