文字版

免费用上 Opus 5:DeepSeek Harness 接入实录,以及那行决定成败的 User-Agent

编者按:本文内容出自 Damian Malliaros 2026 年 8 月底录制、9 月发布的约 14 分钟教程视频,配图取自视频画面。

DeepSeek 把自家编程智能体的执行层开源了,取名 Harness,MIT 协议,可以完全装在自己电脑上。它带来的第一个念头很直接:既然执行层免费,那把最贵的那部分——模型——换成 Claude Opus 5 或者 GPT 5.6,是不是就能白嫖顶级模型?

答案是能,而且十几分钟就能跑通。但真正决定这条路走不走得远的,不是安装步骤,是中间那一道你在教程里很少看到的关卡。

先把结论放在前面:这套方案的技术核心不是"接上一个便宜的 API 网关",而是"让请求看起来像是 Claude Code 发出来的"。 免费额度是促销,代理是手段,而那行被改写的 User-Agent 才是整件事真正的支点——它同时决定了这套方案能用、以及它随时可能失效。

01 先分清大脑和身体

理解这件事之前,得先接受一个拆分:任何一个 AI 编程智能体,都由两部分组成。

一部分是"大脑",也就是在后台负责思考的模型,可以是 Claude、GPT、Gemini、DeepSeek 中的任何一个。另一部分是 Harness(执行框架),负责读代码、跑命令、改文件、记住自己刚才干了什么。Claude Code 和 Codex 之所以好用,很大程度上是执行框架做得好,而不只是模型强。

DeepSeek 这次免费开源的,正是身体那一半。

它默认配的是 DeepSeek 自家模型,效果比 Anthropic、OpenAI 的旗舰要弱一档,而且同样按量收费。所以整件事的目标可以一句话概括:把身体留下,把大脑换掉,且不花钱。

02 免费额度从哪来

换大脑需要一个 API 来源,这里用的是 AgentRouter——一个第三方 API 聚合网关,把主流大模型收进同一个接口,官网标语是"The Unified LLMs API Gateway",主张不用订阅、只需替换 base URL。

它当前在推广期,新账号注册即送 175 美元额度,不需要付款。作者还提到,通过他视频简介里的专属链接注册可以再多 50 美元——这是作者的推广位,读者知道这笔额度的来源即可。

注册只支持 GitHub 或 LinuxDO 账号,且有一道门槛:GitHub 账号必须"养过一段时间",最好有活跃仓库,新注册的号会被拒。原因不难理解,平台要防的正是批量注册薅额度。

这张控制台截图值得多看两眼,它比任何描述都更能说明"免费额度"的真实颗粒度。作者账号余额 212.28 美元(他自己另外充过一点),而下方的用量统计是:145 次请求,累计消耗 0.36 美元;模型消耗分布里只有 deepseek-v4-flash 和 claude-opus-5 两条。侧边栏还挂着中文系统公告和"签到得 25 美元额度"的入口。

先记住 145 次 / 0.36 美元这个数字,后面讨论"够不够用"时会用到它。

拿到额度后剩下的事很简单:进控制台的 API Token 页,Create Token,额度选 Unlimited,复制保存。

03 真正的关卡:401 unauthorized client

到这一步,直觉上应该已经成了:Harness 支持自定义模型,AgentRouter 提供 OpenAI 兼容接口,填个 base URL 和 key 就该通。

实际上不通。

作者在演示里给出的解释是"AgentRouter 目前还没原生开放给 Harness 这类新客户端",而更完整的答案藏在他后来让 Claude Code 复盘的那段输出里:AgentRouter 只接受携带 Claude Code 那个精确 User-Agent 的请求,而 Harness 硬编码了自己的 User-Agent,于是每次调用都被返回 401 unauthorized client User-Agent 是每个 HTTP 请求头里自报家门的那行字符串,服务端靠它判断"来的是谁家的客户端"。

绕过的办法因此也很确定:在两者之间插一个本地代理。作者写了一个(ar-proxy/proxy.mjs),跑在 127.0.0.1:8788,干两件事——把 User-Agent 改写成 AgentRouter 认可的那个,顺手把你的 key 注入进去。然后在 Harness 里注册一个名叫 agentrouter 的自定义 provider,指向这个本地端口,加载五个模型。

这就是全文的机制核心。术语上它叫代理,功能上它是一层伪装。

作者把这套配置开源在了 GitHub 上。仓库首页有两个细节比 README 正文更值得注意:一是顶部那行灰底提示写着 Private / personal use. This is a backup of a working local setup. 作者自己把它定位成"个人本机配置的备份",而不是一个面向大众的产品;二是最近一次提交的信息是"Fix pricing: deepseek-v4-flash is cheapest, not free",也就是说,连"哪个模型免费"这件事,作者自己在录完视频后也修正过。

代理的另一半是给 Claude Code 用的提示词,作者放在一份 Google 文档里。这份提示词里有几条约束写得相当克制:API key 只能写进 git-ignored 的 proxy/.key,不许提交、不许回显、不许写进 ~/.dsh/settings.json;末尾还专门加了一句说明,声明代理重写 User-Agent 是为了满足 AgentRouter 的客户端检查、仅供本人账号自用。

一个愿意在自己的提示词里写下这句话的作者,至少是清楚边界在哪的。跟着做的人也该清楚。

04 安装:把命令交给另一个智能体

安装 Harness 本身没什么门槛。官网 deepseek.com/harness 给了两条路,Quick start 是一行 npx @deepseek-ai/dsh web,也可以选择 install from source。

有意思的是作者的做法:他不在终端敲命令,而是把命令连同一句"帮我在这台电脑上装好 DeepSeek Harness 并在本地跑起来"一起丢给已经在用的编程智能体(Claude Code、Cursor 之类),让它代劳。

理由很实际——后面还要改配置接代理,与其自己来回切终端,不如从一开始就让智能体接手整条链路。

大约一分钟后 Claude Code 交回了结果,这段回执里有三件事值得单独拎出来。

第一,它把过程说清楚了:clone 仓库,发现 pnpm 没装、于是用 corepack 激活了仓库锁定的 pnpm 11.7.0 并放了个 shim 到 ~/.local/bin(因为构建过程会把 pnpm 作为子进程拉起),install、build,最后 pnpm dsh web --no-open 起在 127.0.0.1:3080,全程没有用 sudo。

第二,它主动提醒了生命周期:这个服务是跑在当前会话里的后台进程,会话结束它就停;要长期用得在普通终端里另起。

第三,也是最该被抄下来的一条——它读了仓库里的 SAFETY.md,然后告诉作者:这是实验性的开发者预览版软件,它可以执行模型生成的代码,所以"我只启动了服务器,没有把任何凭据交给它"。

一个被指使干活的智能体,主动停在了权限边界前。这个细节在视频里一闪而过,但它恰恰是整篇教程里最专业的一段。

打开浏览器就是 Harness 的界面:一个聊天框,一个模型选择器,页面中央写着 Into the Unknown。首次进入会要求填 DeepSeek API key,跳过即可——我们要接的不是它。

05 接上、验证

把作者那份提示词粘进 Claude Code 回车,它会自动克隆仓库、搭好代理,中途停下来要你的 AgentRouter key,粘贴提交,再等一分钟。

回到 Harness 刷新页面,模型选择器里多出一组 AgentRouter。

原本的 DeepSeek 分组下面挂着三个自家模型,新增的 AgentRouter 分组里是五个:claude-opus-5claude-opus-4-8deepseek-v4-flashglm-5.3gpt-5.6-sol

选中 claude-opus-5,发一句最朴素的测试:hello, what model am I currently using?

它回答:你正在通过 DeepSeek Harness 使用 claude-opus-5。链路通了。

但这张截图底部那行状态栏,比回答本身信息量更大:1 轮对话、1 步,输入 13.8K token,输出 66 token,缓存命中 0%。 一句问候,先灌进去将近一万四千个 token 的系统提示与工具定义。这就是 agent 类客户端的固定开销——每开一个新会话,它都要先把自己的"说明书"念一遍给模型听。

记住这个数,它是理解"免费额度够不够"的第一把钥匙。

06 实战:21 分钟建一个九页的诊所网站

验证通了就该派真活。作者给 Opus 5 的指令是一句大白话:给我做一个牙科诊所网站,风格现代简洁但要干净,该有的页面都要有,做完在本地起个服务让我看看。

Opus 5 先反问了几个澄清问题(诊所叫什么、配色偏好),得到答复后自己跑完了全程。

交付回执写得很规整:网站叫 Lumina Dental,九个页面,纯静态 HTML/CSS/JS,无构建步骤、无依赖,跑在 127.0.0.1:4173。页面清单一行一行列着——首页含 Hero、六项服务、动效数据条和客户评价;服务页展开六个治疗领域;关于页有诊所故事与里程碑时间线;团队页六位医师;定价页三档会员方案加 21 项治疗的价目表;预约页带实时校验的表单;联系页嵌了 OpenStreetMap。

顶部的运行状态是这次任务真正的规模:94 次工具调用、80 条消息、4 个子智能体,3 个后台任务同时在跑。 底部状态栏则给出账单:2 轮、97 步,LLM 耗时 14 分 53 秒、工具调用 6 分 31 秒,输入 740 万 token,输出 7.53 万 token,缓存命中率 98%(几乎全都命中)。也就是说,这 740 万里绝大部分是重复送去的同一段上下文,按缓存价计费,比首次读入便宜一个量级。

这里要纠正视频叙述里一个容易误导人的说法。作者说的是"我几小时后回来,网站已经建好了"——那是他离开电脑的墙上时间。机器实际花掉的是 21 分钟出头。

成品的完成度确实超出预期:主视觉一句 "A healthier smile, gently delivered.",gently 单独用了衬线斜体;顶栏有电话、地址、营业时间;Hero 右侧配图上浮着"当周可约""无痛镇静"两张小卡;下方一条横排写着接受多数保险、每日急诊名额、0 息分期、低辐射数字 X 光。评分那行写着 4.9 分、1280+ 条患者评价——当然,这是模型编的示例数据,不是真诊所。

现在把两个缓存命中率放在一起看:单轮问答 0%,长任务 98%。这解释了为什么同样是 Opus 5,有人觉得额度撑不过一天,有人跑完一整个网站也没花几毛钱——决定成本的不是你用了多贵的模型,而是你的上下文能不能被复用。

07 再往前一步:接上日常应用

到这里 Harness 还只是个能写代码的工具。想让它变成能干日常活的助理,就得把邮箱、日历、云盘接进来。

作者用的是 Composio(视频转写里被听成了 composite.dev,实际域名是 composio.dev)。它的作用是把几十上百个第三方应用统一收口成一个可供智能体调用的集成层,控制台里 Gmail、Google Calendar、Drive、Slack、Notion、Stripe、ClickUp 之类一屏排开,点 Connect 授权即可。

接进来之后要把它桥接给 Harness。官方尚未原生支持这个客户端,走的是 MCP URL——MCP 是让智能体统一调用外部工具的一套开放协议,Composio 把每个应用都包成 MCP 服务对外提供。操作上是在 Connect My Agent 里点 Install,把配置复制到 Harness,再把 API key 一起交给它,让它自己去连。

验证结果这一屏,是全篇最该被完整读一遍的地方。

它没有只回一句"连接成功",而是真的挨个发了 API 调用去测:Gmail 活着,账号是作者本人,15,359 封邮件 / 14,507 个会话;Google Calendar 活着,三个日历;Google Drive 活着,能列出文件。然后它标红了一条:Tavily 已过期,确认为死连接,网页搜索/抓取都跑不了,修复命令是 composio link tavily

结尾还专门起了一段"两件值得提出来的事",除了 Tavily 过期,第二条是作者有一个重复的 Gmail 连接——一个在用,另一个卡住了。

它还留了一句作者没在视频里念出来的话:我并不需要你粘贴的那个 API key 或 MCP 配置,CLI 里已经有一个有效会话了。 也就是说,教程里郑重其事的那两步复制粘贴,在他这台机器上其实是多余的。

这一屏同样带着账单:4 轮、115 步,LLM 16 分 4 秒,输入 960 万 token,缓存命中 97%。

08 代价、坑,以及这条路的边界

跑通不等于可用。这套方案至少有五处需要在动手前想清楚。

第一,"免费"这个词需要限定。 视频发布后有观众直接在评论区反驳:175 美元的额度连一个简单任务都不够,别再说它免费了。另一位观众贴出了更具体的故障:账户里明明还有余额,调用却返回 402 Budget pool quota has been exhausted,提示要联系管理员提高上限或换一个预算池。

这两条抱怨和作者截图里"145 次请求只花 0.36 美元"并不矛盾,它们描述的是同一件事的两面:额度本身是共享预算池里的一块,你能用多少,既取决于你自己怎么用,也取决于池子当时的状态。促销额度不是账户余额,它是平台随时可以重新分配的资源。

第二,成本结构由上下文复用决定。 前面那三组数字已经说明问题:一句问候 13.8K token、缓存命中 0%;一个九页网站 740 万 token、缓存命中 98%。频繁开新会话问琐碎问题,是最烧额度的用法;一次性把复杂任务交出去反而更划算。

第三,你在绕过一道服务商的客户端检查。 代理做的事是把 User-Agent 改成平台认可的那个。这条路今天通,是因为平台目前只校验到这一层;哪天它加一道更严的校验,整套配置就会一起失效。作者本人在仓库首页和提示词里都写了"仅供个人自用",这不是免责套话,是对边界的准确描述。

第四,key 的传递链条比看上去长。 它会经过你和智能体的聊天记录、经过本地代理进程、落进一个 git-ignored 的文件。作者演示中那位 Claude Code 说得很坦白:无论你是粘在聊天里还是填进输入框,它都会经过这段对话;它可以承诺立刻写进忽略文件并且不回显,但它没法假装那是一个安全保险箱。真要彻底避开,就用代理自带的终端隐藏输入。

第五,Harness 是开发者预览版,且能执行模型生成的代码。 这句话写在它自己的 SAFETY.md 里。它意味着你不该在装着生产凭据、公司代码或者重要个人数据的机器上,一边给它开完整权限一边挂着一个第三方代理。

还有一条不算风险但值得知道:AgentRouter 是一个中文社区背景的聚合网关,控制台里有中文公告、QQ 群入口和备用域名提示。这不是问题,但你把 key 交给谁、数据经过谁,心里应该有数。

结尾:支点不在额度上

整件事回到最开始那句判断:让这套方案成立的不是免费额度,是那行被改写的 User-Agent。额度会用完、促销会结束,而一道客户端校验的攻防随时可能翻篇。

所以更值得留下的,不是"我白嫖到了 Opus 5",而是这次拆解里露出来的三件事:编程智能体可以拆成大脑和身体、身体现在是开源可换的;成本由缓存命中率而不是模型单价决定;以及一个足够好的智能体,会在读完 SAFETY.md 之后主动停在权限边界前。

如果你想动手,建议把第一步放在 Harness 本体上:先把它装起来跑通一次——npx @deepseek-ai/dsh web,用它自带的模型问一句话,看看那个 13.8K token 的固定开销长什么样。搞清楚身体怎么用,再决定给它换哪个大脑。