前言¶
在 DeepSeek Harness(dsh)里让 Agent 跑多步骤任务时,常见问题是:模型容易在未验证结果前就声称「已完成」,或在删除、覆盖等不可逆操作上缺少硬约束。社区里也有面向权限与成本的治理插件(例如 dsh-gov),但执行链路上的铁律、验收门和删除护栏往往需要单独一套运行时。
下面介绍 maintainer yayuqianhuang 发布的 ajtc-chain-engine(分类:工作流)。它把 AJTC(Automated JSON Trigger-Chain)自动化触发链系统以 dsh 插件形式 vendored 进包内,向 Agent 注册 list_chains / run_chain / recall_memory 三类工具,并用 iron-laws、deletionGuard、verificationGate 等机制约束执行过程;默认使用离线 mock 模型,零外部依赖即可验证链路结构。
这是什么¶
ajtc-chain-engine 是 DeepSeek Harness 插件,版本 0.1.0(MIT 许可)。定位是面向 Agent 的执行层治理:与 dsh-gov 等企业级权限/成本治理互补而非竞争。
AJTC 采用事件队列 + 黑板 + 统一信封架构,把复杂任务拆成节点图;每个节点受铁律、验收门、预算护栏等约束。本插件将整套引擎打进一个 Cordis 包,index.js 通过子进程调用 engine/src/cli.js,与主进程模块系统隔离。
- 目录页:https://www.skillhub.cn/plugins/yayuqianhuang/ajtc-chain-engine
- 源码:https://github.com/yayuqianhuang/ajtc-chain-engine
核心功能¶
开箱运行与 mock¶
内置离线 mock 模型(确定性、可复现),无需配置大模型 API 即可检查触发链结构是否正常。
治理护栏¶
链内内置机械约束,而非依赖模型自由发挥:
- iron-laws:通用治理铁律,默认参考文件为
engine/chains/governance/iron-laws.json,随插件分发;可通过ajtc_recall_memory召回,也可由 Agent 在用户项目上扩展专属铁律。 - deletionGuard:删除与不可逆操作的护栏。
- verificationGate:在声称任务完成前要求有证据。
记忆后端(可选)¶
记忆系统可通过环境变量切换:
| 环境变量 | 作用 | 默认 |
|---|---|---|
MEMORY_BACKEND |
local(本地文件)或 tencentdb(远程 MemoryCore) |
local |
MEMCORE_BASE_URL |
TencentDB Agent-Memory MemoryCore 端点(tencentdb 模式) |
http://127.0.0.1:8420 |
MEMCORE_API_KEY |
MemoryCore 访问密钥(可选) | 空 |
MEMORY_LOCAL_DIR |
本地后端目录(local 模式) |
engine/.runtime/memory |
AJTC_SHADOW_DIR |
影子回放录制目录(只读 node_modules 安装时需指向可写路径) |
包内 .runtime/shadow |
后端不可达时会优雅降级,不阻断链运行。完整示例见仓库内 engine/.env.example。
向 dsh 注册的工具¶
| 工具 | 说明 |
|---|---|
ajtc_list_chains |
列出已注册触发链(id / 标题 / 节点数) |
ajtc_run_chain |
运行指定链,参数含 chainId,可选 goal、mock=true、json=true |
ajtc_recall_memory |
在策展记忆层按关键词召回约束与历史决策 |
插件包内 engine/chains/ 携带 genesis、governance、generic-pipeline、explainer、extract、summarize 等多条通用链;例如 governance 相关链 id 为 gen.chain-governance(以仓库内实际注册为准,运行前可用 ajtc_list_chains 确认)。
记忆打包策略¶
默认不携带用户项目记忆,只带通用模板(memory/README.md、memory/asset-registry.template.md)。过程性记忆需用户在本地 memory/ 自行维护。
安装与启用¶
插件要求 dsh >=0.1.0-rc.7 <0.3.0、Node >=22.19。安装前请阅读源码与 MIT 许可证;插件以当前 dsh 进程权限运行,与任何社区插件一样,安装即信任维护者代码。
命令行(推荐)¶
桌面端若 profile 用错,会出现「装了却没反应」;README 示例使用 web profile,请与本地 dsh 配置一致。
dsh plugin --profile web add github:yayuqianhuang/ajtc-chain-engine
dsh plugin --profile web list
dsh plugin --profile web remove ajtc-chain-engine
安装会写入该 profile 的 package.json 依赖,并登记进 dsh.profile.bundles,重启 dsh 后生效。
插件市场¶
- 先安装插件市场(例如
@springbrand/dsh-plugin-marketplace或github:mengxingGG/dsh-plugin-marketplace)。 - 打开 Settings → Plugin Marketplace,搜索
ajtc-chain-engine,点击 Install。 - 重启 dsh。
仓库已打 dsh-plugin 话题,可被市场扫描;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
本地开发调试时,可在仓库根目录执行:
dsh plugin --profile web add file:$(pwd)
典型用法¶
在 dsh 对话中,Agent 会根据意图调用上述工具。README 给出的示例表述如下(实际是否触发取决于当前 Agent 与工具策略):
- 「用
gen.chain-governance审一下当前改动」→ 倾向调用ajtc_run_chain。 - 「查一下删除相关的铁律」→ 倾向调用
ajtc_recall_memory。
运行链时通常传入 chainId;默认 mock=true 时使用内置 mock,适合先验证治理链路与 JSON 输出结构。需要远程记忆时,再按 engine/.env.example 配置环境变量并重启 dsh。
适用场景与注意¶
适合:希望在 dsh 内用结构化触发链跑多步工作流,并强制「有证据再宣称完成、删除类操作过护栏」的开发者或团队;希望与 dsh-gov 等权限/成本治理分层配合的场景。
注意:
- 默认 iron-laws 为通用参考,落地到具体仓库前应由人审阅并定制。
AJTC_SHADOW_DIR在只读安装路径下必须指向可写目录,否则影子回放无法写入。- 可选依赖
mysql2仅在特定后端场景需要;默认 local mock 不依赖外部服务。 - 社区维护,与 DeepSeek 官方无隶属关系;星标与收录状态以 GitHub / 目录页为准。
结尾¶
ajtc-chain-engine 把 AJTC 触发链引擎与执行层治理(铁律、删除护栏、验收门)封装进 dsh,三条工具即可列链、跑链、召回记忆;默认离线 mock 便于零依赖试跑。进一步了解请查看 SkillHub 目录页 与 GitHub 仓库。