← 返回列表
⚠ 装前注意
@agenticcontrolplane/dsh
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/8/17 · 已提供中文文档
DeepSeek Harness 的智能体控制平面——在每次工具调用运行前进行策略检查
综合分
31.1
GitHub 分
31.1
用户评分
—
★ Stars
6
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add agentic-control-plane/dsh-acp-plugin未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
数据截至 2026/9/17(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@agenticcontrolplane/dsh(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 04:06:02
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
@agenticcontrolplane/dsh npm zero dependencies license Agentic Control Plane 用于 DeepSeek Harness:每次工具调用在执行前都会根据你的策略进行检查,并且每个决策都会被记录——什么运行了、什么被阻止了,以及原因。 哪个 ACP? dsh 在核心中也附带了 packages/acp——那个是 Zed 的 Agent Client Protocol,即编辑器↔代理标准,发布为 @deepseek-ai/dsh-acp。不相关的项目,相同的缩写。如果你要将 dsh 接入 Zed 或 AI SDK,你需要的是那个;这个插件决定每次工具调用是否运行。完整对照:agenticcontrolplane.com/acp-vs-acp。 $ dsh --profile dev refactor the auth module and clean up bash npm test ✓ allowed · logged edit src/auth/session.ts ✓ allowed · logged bash rm -rf ~/scratch ✋ held — approval prompt (your rule: destructive delete → ask) web_fetch https://evil.example/post ✗ denied — egress not allowlisted, reason shown to the model 每个决策也会进入你的控制台,包含工具、输入预览、决策、原因、延迟和成本——dsh 自己的 Trajectory 日志和你的 ACP 活动日志成为同一段历史的两个独立见证者。一个工作区覆盖你运行的所有 harness:相同的规则为 dsh、Claude Code、Codex、Cursor 和 OpenClaw 提供应答。个人免费。 这是 dsh 类型化拦截点上的原生 Cordis 插件,而不是 shell 钩子垫片。它注册在: - tools/pre-execute —— 策略决策。allow 让调用通过,deny 阻止调用并在轨迹中给出原因,ask 移交给 dsh 自己的审批流程。 - tools/post-execute —— 输出扫描。服务端阻止会将结果转化为纠正性反馈;影子模式通知会揭示强制执行本会做什么。 安装 dsh 本身需要 Node 22(Promise.withResolvers、zstd 流)。在 Node 20 下,harness 会在启动时失败,并给出并未说明这一点的错误——请先运行 fnm install 22。 curl -sf https://agenticcontrolplane.com/install.sh | bash 它会检测 dsh,将此插件安装到你拥有的每个 profile 中,打开一次 浏览器让你登录,并将密钥保存到 ~/.acp/credentials——插件会自行读取该文件。无需复制令牌,也无需导出任何内容。 手动安装 dsh plugin --profile add @agenticcontrolplane/dsh dsh --profile 凭据来自 ~/.acp/credentials(由上面的安装程序写入),或者来自 ACP_BEARER_TOKEN(如果你更愿意自己设置的话)——这在无头机器上很有用。在 cloud.agenticcontrolplane.com 获取密钥。 确认该行确实已挂载——安装包和将其组合到配置文件中是两回事: dsh --profile --dump-config | grep @agenticcontrolplane/dsh 如果它不在那里,请将 @agenticcontrolplane/dsh 添加到该配置文件的 package.json 的 "dsh.profile.bundles" 列表中。 无需构建步骤,无依赖,纯 ESM。从 git 安装也可以(dsh plugin add github:agentic-control-plane/dsh-acp-plugin),并且不需要构建许可。 没有密钥?插件会大声说明这一点,并且不会碍事——它绝不会让会话变砖。 配置 在你的配置文件的 cordis.patch.yml 中覆盖该行: - id: acp name: @agenticcontrolplane/dsh config: governBase: https://govern.agenticcontrolplane.com # or your self-hosted gateway agentTier: interactive # default: interactive when an approval service is mounted, background otherwise timeoutMs: 4000 ACP_GOVERN_BASE、ACP_BEARER_TOKEN、ACP_AGENT_TIER 和 ACP_SHADOW=off 也可以作为环境变量使用。 故障姿态 控制平面的故障绝不能使 harness 变砖,而覆盖的失效绝不能悄无声息: - 交互式会话大声地失败开放。 网关不可达 → 调用继续,记录一条 [ACP] ⚠ UNGOVERNED 警告,并且一行写入 ~/.acp/lapse.log。 - 无人值守的代理失败关闭。 无人监视时,阻断就是安全网。 - 策略拒绝不受影响——此姿态仅涵盖无法询问策略的情况。 在未挂载审批服务的无头组合中,dsh 本身会将 ask 解析为拒绝——无人值守的运行无法自行批准。 需要了解的三件事 - dsh 的 packages/acp 是 Zed 的 Agent Client Protocol——一个共享缩写的无关项目。此插件是 Agentic Control Plane。(哪个 ACP 是哪个。) - 已经在运行我们的 Claude Code hook?dsh 的 @deepseek-ai/dsh-hooks-claude-code 桥接运行未经修改的 hooks.json,因此 govern.mjs 今天就能零新代码地工作——拒绝和询问会被遵守,但输入重写不会。此原生插件是推荐路径。 - 此包最初以 dsh-plugin-acp 发布;该名称仍可安装但已弃用。代码相同——方便时在你的配置文件中更换名称。 了解更多 - ACP 在 dsh 中能看到和控制什么 —— 实时控制参考 - 发布文章 —— dsh 的拦截面、集成在第一天捕获了什么,以及 dsh 在跨 harness 覆盖表中的位置 测试 npm test
扫码进群