dsh-tool-chaos
Deterministic fault injection, autonomous resilience experiments, and machine-readable evidence for the DeepSeek Harness tool pipeline
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:cyanseek/dsh-tool-chaos说明文档
阅读完整 README ↗dsh-tool-chaos
English · 简体中文
面向 DeepSeek Harness 工具流水线的确定性故障注入与证据化韧性测试。
dsh-tool-chaos 在隔离 DSH 环境中执行完整实验:基线 → dry-run → 故障注入 → PASS / FAIL / INCONCLUSIVE。它帮助插件与 Agent 作者在故障真正发生前,验证重试、fallback、取消、策略拒绝和不可信结果处理是否符合预期。
当前状态:0.1.0-next.0 预发布版。DSH 仍处于 developer preview,请固定版本并查看已验证兼容矩阵。
核心能力
- 五种 DSH 原生 action:
deny、error、delay、abort、block。 - 匹配和采样可复现,不使用运行时随机数。
- 默认禁用、默认 dry-run、注入次数有上限,全局通配必须显式启用。
- 输出 JSON 与 Markdown 报告、结构化 decision event 和三态结论。
- 同时提供 Cordis 插件、零运行时依赖 CLI、TypeScript 引擎 API、Codex Plugin 与 Agent Skill。
快速开始
npm 预发布包目前尚未发布。当前可用路径是源码 checkout 加本地 tarball:
git clone https://github.com/cyanseek/dsh-tool-chaos.git
cd dsh-tool-chaos
npm ci
npm run build
npm pack --silent
dsh plugin --profile chaos-demo add ./dsh-tool-chaos-0.1.0-next.0.tgz
dsh --profile chaos-demo --dump-config
有效配置中应同时出现 tool-chaos 和 tool-chaos-reporter。安装完成后两者都不会改变运行行为:主插件默认禁用,reporter 也默认禁用。
生成一份完整 dry-run overlay:
node bin/dsh-tool-chaos.mjs init .dsh-chaos/retry.patch.yml --preset retry
检查生成的工具匹配、任务和断言,再在一次性 profile 中运行:
node bin/dsh-tool-chaos.mjs run \
--mode dry-run \
--profile chaos-demo \
--patch .dsh-chaos/retry.patch.yml \
--task "调用 web_fetch,并从一次临时故障中恢复" \
--expect "预期的稳定文本" \
--no-install \
--json
dry-run 必须显示预期的 dryRun: true decision,同时不改变工具执行。只有命中完全准确后,才应运行真实故障实验。
从固定 GitHub commit 安装
DSH 可以直接安装本仓库:
dsh plugin --profile chaos-demo add \
github:cyanseek/dsh-tool-chaos#
pnpm 10+ 可能按安全策略阻止 Git 依赖的 prepare 脚本。遇到这种情况时,先审查固定 commit 的源码,再把 pnpm 输出的精确 package key 写入该 profile 的 pnpm-workspace.yaml: