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
羽毛球分组比赛记分
小程序二维码

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

小夜