t2094308-star/dsh-agent-contract ↗★ 0

dsh-agent-contract

多智能体契约工作流引擎:契约注入 / 每角色委派通道 / 产出契约三工具 / 台账三领域 / 元数据自动派生器 / 图书管理员(按需唤醒)/ 审计(警告制)。 适合需要规范多智能体协作、自动派生元数据和审计的项目。

Package
dsh-agent-contract
Compatibility
Unverified
Harness peer range
*
Version
0.35.0
License
MIT
Last updated
Oct 4, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:t2094308-star/dsh-agent-contract

怎么配置(默认不用配)

换项目不用改配置:插件默认跟着你的工作区走——你开哪个文件夹,它就把那个文件夹当成项目。

它会自己认路:

  • 先看有没有老结构:按候选清单找既有的目录(任务/tasks、[Agent进度]/progress、 docs/{研究,坑,修改,核心数据库} 以及 仓库/docs/… 这种变体)。找到就用,一个字都不改。
  • 都没有就自己建:在项目根下建一套默认目录和 待办.md(只新建、绝不覆盖),并在回执里告诉你建了什么。 想先看看会建什么,就让主代理调一次 project_init(默认只预览,确认后再落地)。 建目录只有 project_init 这一个入口(显式动作);缺结构时回执和面板会主动提示你「本工作区尚未初始化:缺少 … —— 调 project_init 可预览并建齐」,不用自己记着去叫它。
  • 项目名取文件夹名:账本按项目分开存,两个项目来回切也不会串。
  • 记在项目自己身上:推导结果写在 /.agent-contract/project.json(删了会自动重探)。

只有想把某个项目锁死(不让它跟着工作区跑)时,才需要动配置文件 cordis.patch.yml:

配置项意思例子
project.root锁死项目根(留空 = 跟着工作区自适应)D:\Blockdustry
project.name锁死项目名(留空 = 用文件夹名;账本按它分域)Blockdustry
paths.*自己指定目录约定(留空 = 自动探测/按需新建)deliverablesDir: 仓库/docs/子agent
paths.docKinds类别→目录(审计按它判"文档放错没有")。要么六类全给,要么一个都别给研究 / 坑 / 修改 / 核心数据库 / 产出档 / 归档
panel.todoFile面板上“大方向待办”读哪个文件(仍归配置文件)待办.md
roles角色设定(不填就用内置的五个角色)研究员 / 实现者 / 审查者 / 对抗审查 / 图书管理员
modelRoutes每个角色用哪个模型(现在由设置页管,文件里只作示例)对抗审查默认 adversary: glm-5.3-flash(设置页里可改)
budgets派活时那份约定的字数上限(超了只提醒)软上限 6000 / 硬上限 9000
audit.checks开启哪些审计项见第 6 节
audit.archiveAfterDays超过多少天的旧档建议归档90
git.autoCommit要不要让插件自动提交(默认关)。开了之后:只提交本次动到的文件,若工作区还有别的未提交改动就中止,绝不 pushfalse

优先级:显式配置 > 当前工作区 > 会话所在目录。配了 project.root 就以配置为准(工作区推导不会覆盖它)。