返回博客

Agent 与自动化指南

在廉价模型上运行 dsh-superagent:从 GitHub issue 到 PR

设置 DeepSeek 的 dsh-superagent,使提及 agent 账号的 issue 变成 pull request,并估算一张工单的 token 成本。

作者:CheapTokens Team发布于 5 分钟阅读

终端显示 dsh-superagent 启动,旁边是 DeepSeek Harness 和 dsh-superagent 标志
本页内容
  1. 它实际做什么
  2. 开始之前
  3. 安装并启动
  4. 给 agent 一个自己的 GitHub 账号
  5. 你的第一个测试 issue
  6. 一张工单的成本
  7. 保持短绳牵引
  8. 来源

你在一个新的 GitHub issue 中提及一个 agent,去泡杯茶,回来就看到了一个 pull request。这就是 DeepSeek 的 dsh-superagent 所做的事,而且你可以通过 DeepSeek Harness(DSH)在 CheapTokens 模型上运行它。下面介绍:安装、agent 自己的 GitHub 账号、第一个测试 issue,以及一张工单的预算。

仓库本身有一个提醒。它的 README(2026 年 11 月 2 日检查)称其为仅供参照的研究原型,并非 DeepSeek 官方产品,并说明它可能仍包含 bug。它采用 MIT 许可证,在 main 上只有一个提交,且没有发布版本。请在一个你经得起折腾的仓库上运行它。

它实际做什么#

dsh-superagent 是一个面向单个 GitHub 仓库的主动式编码 agent,打包为 DeepSeek Harness 的 bundle。它会监听 GitHub。当允许列表中的某个人提出请求时,它会开启一个工作项(文档中称为 Ticket),在自己的 agent 会话和自己的目录中工作,并在原始对话中回复,例如回复一个 pull request。Web 面板会显示需要人工处理的项。

所以一个 issue 就是一个会话,一个会话就是一轮模型调用的循环。token 就消耗在这个循环里;如果你还不明白原因,为什么 AI agent 会消耗这么多 token 用一个 20 步的示例做了说明。

从 issue 到 pull request:提及 agent 账号,开启 Ticket,会话工作,返回 PR
一张工单在 dsh-superagent 中的路径

开始之前#

根据部署文档,你需要:

  • Node.js 22.19+ 或 24+、pnpm、git 2.32+、tmux、Python 3.8+
  • GitHub CLI 2.48+(通过一个小包装器使用,见下文)
  • github.com 上的一个仓库(不支持 GitHub Enterprise Server)
  • 仓库的 package.json 中 engines.dsh 版本范围内的 DSH
  • 一个 DSH 模型提供方

最后一项是仓库留给你自己处理的:安装指南将提供方称为运维步骤。对于 CheapTokens,请先将 DeepSeek Harness 连接到 CheapTokens,然后再回来。要使用的模型 id 是 deepseek-ai/DeepSeek-V4-Flash-0731(完整 id,价格表中的短名称不会被 API 接受),API base 是 https://api.cheaptokens.dev/v1。详情见 CheapTokens 文档页。

有一点需要注意。根据部署文档,安装过程会剥离名称中包含 KEY、PASSWORD、SECRET 或 TOKEN 的环境变量,并从 worker 环境中移除 GH_TOKEN 和 GITHUB_TOKEN。因此,在 shell 中导出的提供方密钥不会到达 worker;请按连接文章中的说明进行设置。

安装并启动#

分步操作

安装 bundle

安装 DSH 和仓库

文档(docs/006-deployment.md,2026 年 11 月 2 日检查)固定了一个候选发布版本:

bash
npm install -g @deepseek-ai/dsh@0.2.1-rc.3
git clone https://github.com/deepseek-ai/dsh-superagent-prototype dsh-superagent
cd dsh-superagent
pnpm install && pnpm build

创建 profile(仅全新安装)

bash
dsh superagent --from-default-profile web --dump-config > /dev/null
dsh plugin --profile superagent add "link:$PWD"

第一行只运行一次。在已有的 superagent profile 上,它会替换该 profile 并删除其 cordis.patch.yml。

添加配置

将 examples/profile.cordis.patch.yml 复制到 ~/.dsh/profiles/superagent/cordis.patch.yml。唯一必需的键是 stateDir,即数据库、锁和 worker 文件所在的绝对路径。webserver 条目设置端口(默认 3082)。

启动它

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

start 在一个名为 dsh-superagent 的 tmux 会话中运行。

终端中 dsh-superagent 的安装和启动命令
来自 docs/006-deployment.md 的四条关键命令

状态命令通过退出码作答:0 表示正常,1 表示重启可能有帮助,2 表示某部分失败且重启无法修复,3 表示仍需要设置。从默认值开始:profile superagent、分支前缀 agent/,以及接受模式 observe,该模式会记录主动工作但不实际执行。

给 agent 一个自己的 GitHub 账号#

这是人们会跳过、然后纳闷为什么什么都没发生的步骤。agent 需要一个对你的仓库有写权限的普通 GitHub 用户;GitHub App 无法扮演这个角色。

  1. 创建该用户,并将其添加为具有写权限的协作者。
  2. 创建一个包装器 ~/.local/bin/gh-agent:GH_CONFIG_DIR="$HOME/.config/gh-agent" exec gh "$@"。这样可以将 agent 的登录与你自己的 gh 分开。
  3. 以该用户身份运行 gh-agent auth login。
  4. 在 Web 面板中打开 Sources,设置仓库(owner/name)和 CLI 路径为包装器。
  5. 在 Policy 下,将可以给 agent 分配工作的登录名添加到 policy.sources.github.allowed。在有人进入该列表之前,任何内容都不会变成 Ticket。

清单

第一个 issue 之前

你的第一个测试 issue#

在仓库中开启一个新 issue,写一些简短且明确的内容,并用代码格式写出 agent 的登录名,例如:@<agent login> fix the typo in README.md: "recieve" should be "receive"。

“新”这个字很重要。编辑旧 issue 来添加提及不会被识别;新 issue 或新评论才会。如果面板显示了一个 Ticket,然后出现一个以 agent/ 开头的分支,说明整条链路工作正常。

自己试试试一试:提及之后什么都没发生。你首先检查什么?显示答案

允许列表。在你的登录名进入 policy.sources.github.allowed 之前,任何内容都不会变成 Ticket。之后,检查提及是否出现在新 issue 或新评论中,而不是编辑过的内容中。

一张工单的成本#

仓库没有公布每张工单的 token 用量,所以这是一个基于所述假设的估算。假设一张小工单需要 25 次模型调用。每次调用都携带不断增长的对话:平均约 30,000 个输入 token,以及约 800 个回答 token(一条命令、一个补丁、一条简短说明)。

每张工单就是 30,000 × 25 = 750,000 个输入 token 和 800 × 25 = 20,000 个输出 token。按今天 CheapTokens 上 DeepSeek-V4-Flash 的价格(每 1M token 输入 $0.015、输出 $0.10),这样一张工单是 $0.0133。

不平衡的部分:输入约为输出的 37 倍,这对 agent 来说是正常的,因为每一步都会重新发送之前的内容。同一张工单在其他模型上:

模型 费用 OpenRouter
GLM-5.3-Flash $0.0158 $0.0268
DeepSeek-V4-Flash $0.0133 $0.0553
MiniMax-M2.7 $0.0405 $0.486

总计 750,000 个输入 token 和 20,000 个输出 token。每 100 万 token 的价格为当前价格,会随我们的资费一同变动;OpenRouter 列显示相同工作负载的参考价格。

表中还列出了 GLM-5.3-Flash(390K 上下文,每次回答最多 8,192 个输出 token),如果你的工单较短且回答较小,可以选择它。对于较长的工具循环,DeepSeek-V4-Flash 提供 380K 上下文、每次回答最多 32,768 个 token,并且任何时段都是同一价格。你自己的数字会有所不同,所以请拖动滑块:

成本计算器

一天五张工单(每张 25 次调用)

每次请求的输入 token 数: 30,000 · 每次请求的输出 token 数: 800 · 每日请求数: 125

模型每天每月
GLM-5.3-Flash$0.079$2.37
DeepSeek-V4-Flash$0.0663$1.99
MiniMax-M2.7$0.203$6.08

如果你想削减输入侧,如何估算 AI agent 的成本 涵盖了最重要的习惯。

保持短绳牵引#

先在 observe 模式下待一天:它会记录 agent 自行会做什么,这样你可以在它行动之前看到模式。起初只允许你自己的登录名。逐行查看前三个 pull request,并在第一天后检查你余额上的模型用量,然后乘以你真实的工单数量。

仓库还说明,DeepSeek 配套文章中的一些设计尚未实现,因此请将缺失的功能视为未完成,而不是你的错误。

来源#

所有仓库事实均来自 deepseek-ai/dsh-superagent-prototype(README、SETUP.md、docs/006-deployment.md),于 2026 年 11 月 2 日检查。仓库页面未显示提交日期,且 DSH 版本 0.2.1-rc.3 是候选发布版本,因此安装前请重新检查文档。