•
6 min read
DeepSeek dsh-superagent 部署指南:在 GitHub 仓库里跑一个“@ 它就干活”的 coding agent(DSH 安装、agent 账号、Policy 与安全边界)

11 月 1 日,Bloomberg 一条“DeepSeek 发布更自主的 coding agent 原型,挑战 Claude Code”的推文在 X 上被大量转发(来源 [1]),随后各路账号跟进成“DeepSeek 发布 Super-Agent”(来源 [2][3])。但如果去看 GitHub 上的 deepseek-ai/dsh-superagent-prototype,README 第一句写的是:“Research prototype for reference only, not an official DeepSeek product.”(来源 [4][5])

所以这篇不讨论“它能不能打 Claude Code”,只回答三个实际问题:它到底是什么、怎么在自己的仓库上跑起来、跑之前要注意什么安全边界。

先说结论:dsh-superagent 不是模型,也不是 Claude Code 的直接替代,而是一个挂在 DeepSeek Harness(DSH)上的“仓库值班 agent”:有人在 Issue 里 @ 它,它开 Ticket、干活、回 PR。适合已经在用 DSH、想试“团队共享 agent”的人;它默认以 danger-full-access 跑在你的系统用户下,正式用之前最好给它单独一个 OS 账号。

说明:本文所有命令、配置项和退出码均来自该仓库的 README、SETUP.md、docs/000 与 docs/006(2026-11-02 查阅,版本 0.1.0,仓库创建于 10 月 31 日)。我还没有在自己的仓库上完整跑过一遍,文中没有实测数据。

一、它是什么,不是什么

按 README 的描述,dsh-superagent 是“一个面向单个 GitHub 仓库的主动式 coding agent,打包成 DeepSeek Harness 的 bundle”(来源 [4])。工作方式:

  • 监听:GitHub(通过 agent 账号的 notifications 轮询,默认一分钟一次),可选飞书群。
  • 准入:只有 Policy 白名单里的人 @ 它,请求才会变成 Ticket。
  • 执行:每个 Ticket 在自己的 DSH Session 和独立目录(通常是一个 git worktree)里做。
  • 交付:回到原来的对话里答复,比如开一个 PR。
  • 面板:一个本地 Web 面板,只显示“需要人处理”的东西。

dsh-superagent 工作流程:白名单成员在 GitHub Issue 或 PR 下新发评论 @ agent 账号,agent 每分钟轮询 notifications,通过 Policy 白名单后开 Ticket,在独立的 DSH Session 和 git worktree 里执行,最后回到原对话评论或开 PR

几个常见说法,对照一下:

说法 实际情况(据仓库文档)
“DeepSeek 发布了新模型” 不是模型,是 TypeScript 写的 DSH bundle,模型用 DSH profile 里配置的 provider
“官方产品,对标 Claude Code” README 明确写了研究原型、非官方产品,可能有 bug
“会监控群聊、主动给方案” 默认只响应白名单成员的 @;主动工作的默认模式是 observe,只记录不执行
“装上就能用” 需要单独的 GitHub 账号、DSH 和一串前置依赖,官方建议让 coding agent 带你配置

它的设计哲学写在 docs/000:“Take as little human attention as possible, and give as much value as possible.”(尽量少占用人的注意力,尽量多给价值)。这句话决定了很多默认值,后面会反复看到。

二、前置条件

依赖 版本要求
Node.js 22.19+ 或 24+
pnpm 需要(仓库 packageManager 为 pnpm@11.7.0)
git 2.32+(低于这个版本读不到它写的凭据配置)
tmux 用来跑后台进程
Python 3.8+
GitHub CLI gh 2.48+
DeepSeek Harness(dsh) 满足 engines.dsh: ^0.2.1-alpha.2,文档里固定安装 0.2.1-rc.3
模型 provider DSH 里要先配好一个能用的模型
飞书(可选) lark-cli(文档写的测试版本 1.0.90)+ 一个带机器人能力的自建应用

另外两条限制:只支持 github.com,不支持 GitHub Enterprise Server;agent 必须是一个 GitHub 用户账号,不能是 GitHub App,因为它要读这个账号的 notifications。

三、官方推荐的装法:让你的 coding agent 带你装

README 的 Setup 只有一句话:步骤太多,让 agent 带你做。在仓库目录里对你的 coding agent 说:

Read SETUP.md in this repository and set up dsh-superagent with me.

SETUP.md 本身就是写给 agent 的:先跑一遍探测命令,然后一次只问一个问题(数据源、仓库、agent 账号、白名单、checkout 位置、commit 身份、是否 auto-merge),问完给一份完整计划,你确认后才执行。它还规定 agent 不能在聊天里要密钥,需要你亲手做的步骤(建账号、auth login)会集中列成一条消息。

这一点我觉得值得单独记一下:安装文档本身就是一份 agent 可执行的规格,比写一页给人看的 README 更适合这种多步骤配置。

下面是手动装的路径,也是 agent 实际会执行的内容,方便你知道它在干什么。

四、手动部署:5 步

1. 建 agent GitHub 账号和专用 gh

建一个单独的 GitHub 用户,给它目标仓库的 write 权限。然后给它一个只用自己凭据的 gh 包装脚本(来源 [6]):

mkdir -p ~/.local/bin
cat > ~/.local/bin/gh-agent <<'EOF'
#!/bin/sh
GH_CONFIG_DIR="$HOME/.config/gh-agent" exec gh "$@"
EOF
chmod +x ~/.local/bin/gh-agent
gh-agent auth login
gh-agent api user --jq .login

最后一条打印的应该是 agent 账号的 login,不是你自己的。SETUP.md 的推荐也很明确:用专门的账号,不要用 operator 自己的账号,因为 agent 写的所有东西都会挂在这个名字下面。

2. 安装 DSH 和 bundle

只在还没有 superagent profile 的机器上跑一次:

npm install -g @deepseek-ai/dsh@0.2.1-rc.3
git clone https://github.com/deepseek-ai/dsh-superagent-prototype.git dsh-superagent && cd dsh-superagent
pnpm install && pnpm build
dsh superagent --from-default-profile web --dump-config > /dev/null
dsh plugin --profile superagent add "link:$PWD"

第四条命令会基于 DSH 的 Web 模板创建 ~/.dsh/profiles/superagent,第五条把 bundle 装进去。注意:profile 已存在时再跑第四条,会替换整个 profile 并删掉 cordis.patch.yml,升级时千万别用它。

为什么要单独一个 profile?文档的解释是:这个插件会改进程级的 PATH 和 git 设置,而且需要独立重启和升级,和日常干活的 profile 混在一起会互相干扰。

3. 机器配置

把 examples/profile.cordis.patch.yml 复制到 ~/.dsh/profiles/superagent/cordis.patch.yml,替换占位符:

- id: webserver
  config:
    host: 127.0.0.1
    port: 3082
- id: dsh-superagent
  config:
    stateDir: /home/me/.dsh/state/superagent   # 必须是绝对路径
# 用飞书时取消注释:
# - id: dsh-superagent-feishu
#   disabled: false

stateDir 里放数据库、锁、命令 shim、agent 的 git 配置,以及默认的 Ticket 工作目录,升级前要备份。

4. 启动

scripts/dsh-superagent start
scripts/dsh-superagent status

start 会在 tmux 会话 dsh-superagent 里跑 dsh --profile superagent,最多等一分钟。打开日志里打印的 URL,侧边栏选 Superagent 就是面板。

5. 面板里配四样东西

  1. Sources:仓库 owner/name 和 agent CLI 路径(比如 /home/me/.local/bin/gh-agent)。
  2. Policy:在 On each Source 下加允许发请求的 GitHub 账号。列表为空时,任何请求都不会变成 Ticket。 建议先只放你自己。
  3. Execution:工作目录和 prepare 命令。文档给的例子是每个 Ticket 建一个 worktree:
git -C /home/me/src/widgets fetch --no-tags "https://github.com/$DSH_SUPERAGENT_GITHUB_REPOSITORY.git" "${DSH_SUPERAGENT_GITHUB_PR_HEAD:-HEAD}:refs/dsh-superagent/$DSH_SUPERAGENT_TICKET" &&
git -C /home/me/src/widgets worktree add -b "agent/$DSH_SUPERAGENT_NAME" "$DSH_SUPERAGENT_DIR" "refs/dsh-superagent/$DSH_SUPERAGENT_TICKET"
  1. Prompts:团队相关的几段,比如 GitHub 披露语、review bot、commit 作者、auto-merge 条件。

这些也可以走本地 Management API(http://127.0.0.1:3082/orchestrator/api/,请求头要带 x-orchestrator-request: 1),SETUP.md 里的 agent 就是这么保存设置的。

试一下

用白名单里的账号,在仓库某个 Issue 下发一条新评论:@<agent 账号> <你的请求>。一分钟内面板 Overview 应该出现一个 Ticket。

一个容易踩的坑:编辑已有 Issue 正文加上 @ 是收不到的,必须新发评论。

五、排错:先看 status 的退出码

status / start / restart 用同一套退出码:

退出码 含义 重启能不能解决
0 正常运行 不需要
1 没在跑、跑了两份、不响应或 runtime 报错 可能
2 在跑,但某个部件(Source、Policy 同步等)报错,看 errors 不能
3 在跑,等待配置,看 setup 不能

文档 Troubleshooting 表里几条最可能遇到的:

报错 处理
The agent GitHub CLI cannot read its account 用包装脚本跑 auth login
@… cannot push to … 给 agent 账号仓库 write 权限
git does not read the github.com credential configuration dsh-superagent writes 升级 git 到 2.32+
日志说插件和当前 dsh 不兼容 装 engines.dsh 范围内的 DSH 版本
@ 了没反应 确认作者在白名单、Source 已开启、处理没暂停,并且是新评论而不是编辑正文

六、安全边界:这一节别跳过

这是我觉得最值得写清楚的部分。文档原话(来源 [6]):

Both presets run with danger-full-access as the operator’s OS user … A worker can execute programs by path and read the operator’s home directory. For isolation, use a dedicated OS account containing only the agent’s credentials.

翻成大白话:

  • worker 和 router 两个预设都是 danger-full-access,以你的系统用户身份运行。
  • gh 包装脚本只是让它默认用 agent 的凭据,不是隔离;worker 能按路径执行程序、能读你的 home 目录。
  • 它确实做了一些收敛:worker-bin 里的 shim 把 gh 指向 agent CLI、拦掉你列出的命令;独立的 git 配置让 github.com 只用 agent 凭据;setup 会去掉名字里带 KEY、PASSWORD、SECRET、TOKEN 的环境变量,并移除 GH_TOKEN / GITHUB_TOKEN。

dsh-superagent 安全边界清单:worker 和 router 默认以 danger-full-access 运行在你的系统用户下;建议用单独 OS 用户或 VM 隔离,Policy 白名单先只放自己,主动工作保持 observe,关闭 auto-merge,屏蔽你自己账号的 CLI,并警惕 Issue 内容里的注入指令

我的建议,按优先级:

  1. 单独一个 OS 用户(或一台 VM)跑它,里面只放 agent 账号的凭据。这是文档自己给的方案。
  2. Policy 白名单先只放自己,主动工作保持默认的 observe,auto-merge 先关。
  3. 把你自己账号的 CLI 加进 Execution 的 blocked commands。
  4. 它会读 Issue 和评论内容来干活,这和 AGENTS.md 投毒是同一类风险:被它读到的文字都可能被当成指令。之前写的 AGENTS.md 投毒自查 和 Claude Code deny 规则 里的思路同样适用。

七、怎么选:dsh-superagent 和其他几种方式

场景 更合适的选择
自己一个人在终端里写代码 Claude Code / Codex / DSH 本身,不需要 superagent
想让团队成员在 Issue 里 @ 一个共享 agent 干活 dsh-superagent 正是为这个设计的
已经在用 DSH + DeepSeek 模型 接入成本最低,模型配置直接复用
团队主要在飞书沟通 dsh-superagent 原生支持飞书 Source
需要生产级稳定、权限隔离开箱即用 现在不建议,它自己写了是研究原型
用 GitHub Enterprise Server 不支持

八、最后的判断

dsh-superagent 被传成“DeepSeek 发布 Claude Code 对手”,其实有点错位。Claude Code 解决的是“一个人怎么和 agent 一起写代码”,dsh-superagent 想解决的是“一个 agent 怎么长期待在团队里,又不变成噪音“。它最有价值的部分不一定是代码,而是那套默认值:白名单为空就什么都不做、主动工作默认只记录、只在有人需要行动时说话、一次只问一个问题。

我会保持两个保留意见:一是它的权限隔离目前依赖“用单独的 OS 账号”这种部署层面的做法,默认装法下 worker 能看到你的 home 目录;二是它版本 0.1.0、依赖 DSH 的 alpha/rc 版本,接口和配置后面大概率还会变。

以上是基于公开文档的判断,等我在测试仓库上跑通一遍再补实测。如果你之前用过 DSH,可以看 DeepSeek V4.1 Flash 接进 OMP 和 DSH 的体验;想把 DeepSeek 模型接进 Claude Code,可以看 DeepSeek V4.1 Flash 1017 接入 Claude Code。

一句话:dsh-superagent 是一个“@ 它才干活”的仓库值班 agent,不是新模型;想试就用单独的 GitHub 账号加单独的 OS 用户,白名单只放自己,先 observe 再放开。

参考来源

  1. Bloomberg(@business)在 X 上的报道推文(2026-11-01):https://x.com/business/status/2116754642222616835
  2. Cointelegraph 在 X 上的推文(2026-11-01):https://x.com/Cointelegraph/status/2116885723601068339
  3. @iuyup_ 在 X 上对 Super-agent 架构的中文解读(2026-11-01):https://x.com/iuyup_/status/2116687593375158358
  4. dsh-superagent-prototype GitHub 仓库与 README:https://github.com/deepseek-ai/dsh-superagent-prototype
  5. @NeuN0mad 在 X 上指出 README 的“非官方产品”声明(2026-11-01):https://x.com/NeuN0mad/status/2116905324560924843
  6. 仓库部署文档 docs/006-deployment.md:https://github.com/deepseek-ai/dsh-superagent-prototype/blob/main/docs/006-deployment.md
  7. 仓库 SETUP.md:https://github.com/deepseek-ai/dsh-superagent-prototype/blob/main/SETUP.md
  8. 仓库设计哲学 docs/000-philosophy.md:https://github.com/deepseek-ai/dsh-superagent-prototype/blob/main/docs/000-philosophy.md
  9. DeepSeek Harness 官网:https://www.deepseek.com/en/harness/

相关阅读:

Comments

  • Loading comments…

Comments are posted immediately and emailed to the site owner. No account needed.