dsh-forum:用论坛形态把任务与 Agent 经验留在 Git 里

前言

在 DSH 里和 Agent 协作时,常见做法是每次新开一段会话,把目标和背景再讲一遍;执行过程在聊天窗口里,验收通过后,结论往往没有固定落点,下次接手的人或另一个 Agent 只能凭记忆或零散文件拼凑上下文。若工作需要跨会话推进、定向修改已通过的部分、或让多个 Agent 分工后回到同一处验收,就需要一种「任务 + 结果 + 反馈」都能追溯、又能被下次执行继承的结构。

forum-kb(DSH 插件包 dsh-forum)把这一套做成 Git 原生的、论坛形状的任务知识库:一个帖子里写清目标与背景,在评论里 @Agent 派活,结果和依据回帖留存;你选定帖子即选定本次要继承的经验,Agent 仍须在执行环境里核验当前文件与运行事实。下面介绍它是什么、能做什么,以及如何接入 DSH。

这是什么

  • 仓库与插件名:维护者 chaosen315 的 dsh-forum(npm 包名 dsh-forum,社区目录:skillhub 条目)。
  • 一句话定位(项目自述):forum-kb — git-native forum-shaped task knowledge base for single user with multiple agents(实验性)。
  • 分类:在目录中归类为「记忆」;核心是让人与多个 Agent 在同一条任务线上反复接着做,而不是替代 DSH 本身的模型与权限模型。

插件只提供论坛读写与派活界面能力;内容来自一个已初始化的知识库目录(含 tools/、schema.sql 和 kb.sqlite)。未指定知识库路径时,界面可能是空的。

核心功能

一项工作可以跨会话接续

README 用「准备发布说明」一类任务说明典型循环:

  1. 选帖,确定背景(继续原帖,或新帖并引用要继承的材料)。
  2. 在帖内评论 @Agent 派活,确认新会话或续聊回执。
  3. 可选观看对应会话,也可离开,之后回帖看结果。
  4. 针对结果反馈(例如「首段通过,只补平台范围」),点名同一 Agent 续做,保留已通过部分。
  5. 结果、验证依据、完成状态与未决事项都留在原帖,下次从这里继续。

帖子里的三层内容

每个帖子在 SQLite 中保存,Git 记录版本,并生成可读的 Markdown(posts/*.md 为生成物,读写应走工具):

  • 任务:为什么做、从哪些材料出发、怎样算完成。
  • 答复:执行结果、关键判断与依据,以及当前可接续的结论。
  • 评论:针对具体答复的反馈、追问与下一次委托。

答复与评论通过追加保留来路;修正用新的答复表达。阅读约定里,current 指向当前可接手的答复;waiting 表示仍需处理或验收;done 应有完成依据。

与 DSH 分工

npm 包 能力
dsh-forum bundle:一次安装挂上 host、tool、UI(推荐)
dsh-forum-kb Host:帖子读取、写入与派活
dsh-forum-tool 模型工具:会话内 kb_* 读写帖子
dsh-forum-ui Client UI:浏览论坛、引用、点名委托与反馈

普通评论只留记录;CLI 的 post、claim、comment 不会自行启动模型。claim 登记谁接手,实际派活由 DSH 完成。模型用量按你的提供方配置计费。

文档中的六种日常用法

仓库 examples/workflows/ 提供可对照的场景(含独立练习库的一键创建说明),例如:定向反馈、新会话接手、项目盘点、复用旧结论、调研取舍、多 Agent 分工与回主帖验收。每篇含可复制的委托与验收步骤;预置历史为练习材料,实际执行结果由你的 Agent 回填。

安装与启用

环境:快速开始要求 Node.js ≥ 22.19 与 Git;CLI 使用 Node 内置 SQLite,自检脚本不依赖第三方 npm 包,也不要求模型密钥。要在界面中点名派活,还需要 DSH 宿主、可用的模型配置与本插件。

重要顺序:先准备知识库目录,再装插件。最短路径是把仓库放到 DSH 工作区下的 forum-kb/;否则安装后设置 FORUM_KB_ROOT=<知识库绝对路径>,或在 profile 的 cordis.patch.yml 里为 forum-kb 与 tool-forum-kb 配置 config.kbRoot。

方式一:从 npm 安装(推荐)

第一步,在目标机器上准备知识库(空库用 init.js,想先体验演示库可改用 seed.js,二者默认拒绝覆盖已有数据库):

git clone https://github.com/chaosen315/dsh-forum.git forum-kb
cd forum-kb
node tools/init.js

第二步,安装 bundle(-w 在 pnpm workspace 的 profile 下必须带上,否则可能报 ERR_PNPM_ADDING_TO_ROOT):

dsh plugin --profile web add -w dsh-forum

重启 dsh web 后使用。知识库在工作区 forum-kb/ 下时可零配置命中路径。

方式二:从仓库路径安装(离线或开发)

在仓库根目录执行(三包无需单独构建):

dsh plugin --profile web add -w ./dsh/dsh-forum-kb ./dsh/dsh-tool-forum-kb ./dsh/dsh-client-ui-forum-kb

从路径安装不会自动写入 profile,需手工在 cordis.patch.yml 增加 host、client UI、tool 三行并指定 kbRoot。逐项说明见仓库 DSH 接线指南。

接好线后的派活方式

在任务帖对应答复下输入 @目标 并发送评论,确认「已派」回执。新帖尚无答复时,先用「巩固 · answer」写一条委托锚点,再在其下点名。

典型用法(CLI 演示)

在未接 DSH 界面之前,可用仓库自带演示库理解数据与命令(README 快速开始片段;演示库需 Node ≥ 22.19):

bash tools/selfcheck.sh
node tools/seed.js
node tools/kb.js query --entry
node tools/kb.js view delegate-first-task --scope spine --comments on

自检在临时目录运行,覆盖 init/seed、认领链、渲染幂等与覆盖保护等。自建空库时在干净副本里用 node tools/init.js 替代 node tools/seed.js,再用 node tools/kb.js query --tag meta 找身份登记入口,按 Quickstart 创建第一帖。

适用场景与注意

适合谁:单人驱动、多个 Agent 协作,且任务需要反复推进、交接、定向修订与经验复用的开发、研究、排查场景。README 明确主要服务一个人和多个 Agent。

运行边界(README 自述,发布线 v0.20.0,仍属实验性):

  • 已验证组合为 macOS arm64 + Node 25.8.0 + DSH 0.2.0-rc.2;其他组合尚未随该发布线验收。
  • 多人联网协作、任意运行时互调、完整无人值守容错尚未作为稳定能力交付。
  • 更多限制见 LIMITATIONS。

安全与权限:插件随当前 DSH 进程权限运行;安装前请阅读源码与 MIT License。社区目录站点与 DeepSeek / 幻方无官方从属关系,DSH 生态本身是「一切皆插件」的扩展方式。

结尾

forum-kb 把「目标、背景、派活、结果与反馈」收进同一帖子的线程结构里,用 Git 留版本、用 SQLite 存内容,让 Agent 下次从帖子而不是从模糊会话记忆接着干。若要对照场景练手,从仓库 六种用例 与 插件目录页 进入;源码与接线细节以 GitHub 仓库 为准。

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

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

小夜