DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
D

@stmcw1/dacw

Dacw

Defensive Agent Coding Workflow (DACW) as a DSH Host plugin: an AI writer proposes code, a deterministic runner tests it, a separate reviewer audits it, and a human gate decides the merge.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:stmcw1/DACW#2e3d2d4e59abeb724d6250f2addf04e45fa15e60
READMECompatibilityVersions

Compatibility and provenance

Dacw is published as @stmcw1/dacw and currently resolves to version 1.0.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
10/29/2026

Versions

1.0.2stable
10/29/2026
1.0.1stable
10/29/2026
1.0.0stable
10/28/2026

Related plugins

Loading related plugins…

Latest
1.0.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
10/30/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

MarketdshmarketVisual plugin market inside DeepSeek Harness — browse, search, and one-click install community plugins. · DSH 可视化插件市场:逛一逛,点一下,装好。Better Sidebardsh-better-sidebarBetter Sidebar for DSH — file tree, editor, changes, tasks and side chat in one column, separate for every conversation. Also exposes a service other plugins use to register sidebar tabs and file viewers.Client Ui Git Graph@linxin666/dsh-client-ui-git-graphExternal dsh web GUI plugin: a blank-session git branch selector + Git graph, with real host-side git operations and guards, as a dsh profile bundleSsh@linxin666/dsh-sshRemote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi

README

DACW — 防御性智能体编程工作流

让 AI 写代码,让机器验代码,让人做最终裁决。

简体中文 | English | 安全声明

DACW 是一个 DSH Host 插件:写手子代理按增量协议产出代码,确定性运行机执行项目自带测试,独立审查者给出结构化裁决,最后停在人工闸门。所有失败与异常路径都收敛到 NEED_HUMAN,绝不自动合入。

特性

  • 三权分立:写手只产出 JSON 变更集,运行机只执行白名单命令,审查者只输出裁决——没有任何一方能独立合入代码。
  • 子代理零工具隔离:写手/审查者运行在 persona-only preset 上,插件在 agent/created 阶段用 ctx.tools.restrict({ allow: [] }) 剥除全部继承工具并校验可见工具为 0;隔离失败则拒绝创建子代理。
  • 输出协议 v2:写手只输出相对基线的变更,未提及文件逐字节保留,明显减少 token,并避免"上轮通过的代码被改坏"。
  • 确定性运行机:命令白名单(npm / pnpm / yarn / npx / node / python / python3 / pytest / cargo / go)、环境变量白名单、超时强杀进程树、输出截断。
  • 结构化审查:裁决必须为精确 JSON,解析失败按 REJECTED 处理;PASS 但含可疑字样 → 人工闸门。
  • 可配置模型:写手/审查者可分别继承父会话路由,或从 DSH 已配置模型目录中选择;启动日志与结果对象显示实际生效的模型。
  • 工作区安全闸门:仅接受空目录或本插件写入的合法 .dacw-workspace 标记;拒绝系统根、用户主目录、DSH_HOME/profile 目录;写入前做 realpath + 逐段符号链接校验。
  • 审计记录:状态文件包含任务、文件清单摘要、测试输出与审查文本,HMAC-SHA256 签名。

工作流程

写手(JSON 变更集) → 协调器(校验 / 合并 / 落盘) → 运行机(项目测试)
                                                        │ 失败 → 打回重写(最多 maxRounds 轮)
                                                  审查者(JSON 裁决) → 人工闸门 NEED_HUMAN
  1. 写手按协议 v2 输出变更。
  2. 协调器做路径越权校验、合并基线并把工作区重置为合并集。
  3. 运行机按项目类型执行测试(每轮重新嗅探)。
  4. 审查者审计全量文件 + 地基文件(锁文件送 SHA256 摘要)。
  5. 通过后返回 success: true、status: "NEED_HUMAN";其余路径同样收敛到人工闸门。

安装

前置:DSH 提供 ctx.subagents、agentPresets 服务与 spawn provider(@deepseek-ai/dsh-subagent-spawn-in-process);构建需要 Node ≥ 22.13;被测试项目的依赖需人工预装。

node build.mjs                              # 构建 dist/(Node 内置类型擦除,无需 typescript)
node selftest.mjs                           # 60 项回归自测
npm pack --pack-destination ../dacw-pack    # 生成安装产物

在 DSH 插件管理器中执行 install_bundle,target 填 tarball 的绝对路径并加 file: 前缀(例如 file:/absolute/path/to/stmcw1-dacw-1.0.0.tgz)。安装后向 profile 插入 Host 行 dacw(bundle 包名 @stmcw1/dacw)。不要用目录路径安装——目录安装会绕过 files 白名单,把源码、测试与构建脚本一并装进 profile。

升级:改代码 → node build.mjs → npm pack → remove_bundle → install_bundle 同一 tarball → 重启 Harness。

使用

模型调用 dacw_run 工具:

参数必填说明
task是需求描述(自然语言,越具体越好)
workspace否专用工作区;绝对路径或相对会话工作目录,省略则用配置值/会话工作目录
task_id否审计记录文件名后缀;省略自动生成

成功返回:

字段说明
success / status机器闸门结果;status 恒为 NEED_HUMAN
message人类可读结论
workspace / files / round工作区、产出文件、终止轮次
models{ writer, reviewer },实际生效的模型
logs / elapsed_ms日志尾部与耗时

启动日志示例:

🧠 模型配置 | ✍️ 写手: deepseek-account/deepseek-flash(插件配置) | 🔍 审查者: 继承父会话路由(DSH 默认: deepseek-account/deepseek-flash)

工作流失败时工具抛出错误(附工作区、状态、轮次与日志尾部),不会把失败伪装成普通结果;所有路径都不提交、不合入。

模型配置

writerModel / reviewerModel 支持四种取值:

取值行为
null / "inherit"继承父会话路由(默认)
"provider/model"显式指定,并校验 provider 已在 DSH 中注册
"model"按模型名在 DSH 已配置模型目录中解析唯一 provider
{ provider?, model, reasoningEffort? }对象形式,reasoningEffort 透传给子代理
config:
  writerModel: deepseek-account/deepseek-flash
  reviewerModel: { model: deepseek-flash, reasoningEffort: high }

解析发生在每次工具调用开始时,DSH 设置变更即时生效;解析失败即 fail-closed,不会静默换用其他模型。

安全

DACW 会执行模型生成的代码与命令,不是容器级沙箱。请在专用或一次性环境、最小权限账号下使用,并始终保留人工终审。完整边界与免责声明见 SAFETY.md。

项目结构

路径职责
plugin.tsDSH Host 半边:工具注册、子代理 preset、运行时工具隔离、模型解析、工作区闸门
index.ts协调器:轮次、基线合并、运行机调度、裁决、人工闸门
runner.ts运行机:命令解析、超时强杀、输出截断
state_manager.ts状态:原子写、HMAC、串行队列
build.mjs / selftest.mjs构建(TS → dist/)与回归自测
cordis.patch.yml / locale/ / icon.png插件清单与展示资源

开发

  • dist/ 由 build.mjs 用 Node 内置类型擦除生成,不依赖 typescript,也不入库。
  • 提交前请执行 node build.mjs && node selftest.mjs。
  • 完整配置项与默认值见 plugin.ts 的 DEFAULT_PLUGIN_CONFIG(cordis.patch.yml 的 config 可逐项覆盖)。
  • 实验性项目,接口与行为可能变化。

状态

实验性开发者预览(当前版本 v1.0.2,bundle @stmcw1/dacw):构建冒烟与回归自测通过,并已在 DSH desktop profile 完成真实闭环验证(写手产出 → npm test 通过 → 独立审查 PASS → NEED_HUMAN),子代理工具隔离实测生效。欢迎 issue / PR。

许可证

本项目基于 MIT 许可证开源。

npm: @stmcw1/dacw · GitHub