大概从年初开始我一直在琢磨怎么把 DeepSeek 用成“长在终端里的开发搭子”——不是那种一问一答的聊天窗口而是能自己读代码、改文件、跑命令、甚至拆分成多个智能体并行干活的 agent。来回试过几个方案之后最终真正留在我日常流程里的是 DeepSeek Harness 这个开源 harness 项目。但说实话这套东西的安装配置、模式选择、Token 消耗控制以及和 Cline、Claude Code、Codex CLI 这些竞品之间的取舍网上一直缺少一篇能从零跟到尾的完整教程。所以就有了这篇。它适合正在用 DeepSeek API、想在本地跑一个能真正干活的 agent又不想被 Token 账单吓到的开发者也适合已经玩过其他 agent 工具、想横向对比再决定要不要迁移的人。1. 先把概念理清楚Harness 给模型装上了“手”和“缰绳”1.1 一个比喻理解 Harness 的价值Harness 这个词本意是马具、安全带。你在终端里直接调 DeepSeek 的 API模型只是“能听懂话但没手”的大脑你让它改代码它只能给你一段 diff 让你自己贴你让它查一个报错它只能让你把日志复制过去。而 Harness 干的事就是给模型装上两只手——让它能真正执行 shell 命令、读写文件、搜索代码库、调用外部工具并且给这双手套上缰绳什么能碰、什么不能碰、每次动手前要不要请示你、一次任务能花多少钱。这个“缰绳”才是 harness 最值钱的部分。为什么不是直接写一个脚本调 API因为你很快会发现让模型长出一个工具调用循环很容易让它安全地在你的仓库里干活很难。DeepSeek Harness 把这层约束做成了开箱即用每个任务有独立的会话上下文、有权限边界、有可插拔的工具集甚至允许你把它拆成多个子智能体并行工作。这才是它和“套壳聊天机器人”的本质区别。1.2 Harness 与普通聊天 API 的本质差异我列一下我实际使用中感知最明显的几个差异比纯粹的功能列表更直观第一是工具调用循环。普通 API 是一问一答而 Harness 里模型会被反复地“思考—调用工具—观察结果—再思考”。比如我让它“找到项目里所有未处理的 Promise 拒绝”它会自己先执行搜索命令再打开几个疑似文件阅读最后得出结论。这个循环不需要人参与。第二是权限体系。它默认有几种权限档位只读模式不允许任何写操作auto 模式可以改文件、跑命令但每次高风险操作会弹确认还有更细粒度的规则比如“禁止 rm -rf”“禁止改 src/test 之外的目录”。第三是会话与上下文管理。大模型上下文窗口有限Harness 会做压缩和截断策略。这个后面讲 Token 消耗时会重点说它是省钱的关键。第四是多智能体编排。这是一个大的卖点复杂任务会被拆成若干子任务分给多个子智能体每个有自己的上下文窗口干完再汇总。这也是它和 Cline 这类单线程工具最不一样的地方。1.3 它更适合谁以及谁该绕开它说实话不是所有人都需要 DeepSeek Harness。我自己的判断标准是这样的适合用它的人有三类一是常年在终端里工作的后端/全栈开发者浏览器切来切去很烦二是重度依赖 DeepSeek API 的项目因为它在模型接入、上下文成本控制上针对 DeepSeek 做了很多优化三是需要把一个大型任务拆给多个 agent 并行做的场景比如重构一个几十个文件的模块单线程 agent 很容易做着做着上下文就乱掉。不适合的人也有三类一是只想要“代码补全”或“问答”能力的人这类需求用 IDE 内置插件更轻量二是对可视化界面有强需求、不想记命令行的朋友Harness 的 CLI 风格会让你难受三是项目极其简单、每次任务几句话就能说清的人引入一套 harness 反而是负担。还要提醒一句在你开始安装之前别装错依赖——我之前看到很多人在搜 MySQL、Maven、JDK 的安装教程误以为 DeepSeek Harness 也是那套 Java 生态的东西。完全不是它只需要 Node.js 和能正常访问网络的环境跟数据库、Java 虚拟机没有半点关系。2. 保姆级安装与配置从空环境到跑通第一个任务2.1 前置依赖Node.js 与 GitDeepSeek Harness 是 Node.js 写的所以第一步是确认你机器上有 Node.js。实测下来Node 20 的 LTS 版本最稳Node 18 也能跑但某些新特性相关的 skill 在 18 上表现不太稳定Node 22 也可以不过较少被官方测试覆盖。先在终端里检查node -v npm -v git --version如果 node 没装推荐用 nvm 而不是直接去官网下载安装包。理由很简单nvm 可以随时切换版本比如后面你要把 harness 从 0.1.5-rc.2 升到新版结果新版要求更高的 Node 版本或者反过来新版在某个 Node 小版本上有 bugnvm 能一键切回去。安装 nvm 之后执行nvm install 20 nvm use 20Git 同理如果没装Windows 上直接装 Git for WindowsmacOS 上如果有 Homebrew 就brew install git。Git 的作用不只是 clone 项目harness 的 skill 机制、版本回退都依赖它。2.2 两种安装方式全局 npm 包与源码编译我推荐的方式是全局安装 npm 包对大多数人都够用npm install -g deepseek-harness装完验证一下dsh --version如果输出版本号说明安装成功。注意命令入口在有些版本里是dsh在 0.1.5-rc.2 这个阶段它入口就是dsh。第二种方式是从源码编译适合想改源码、或者想用 GitHub 上比 npm 更早的预发布版本的人git clone https://github.com/deepseek-ai/deepseek-harness.git cd deepseek-harness npm install npm run build npm linknpm link会把当前源码软链到全局命令这样你改了源码立刻生效不用重复安装。缺点是每次拉新代码都要重新npm run build稍微麻烦一点。如果全局安装时报权限错误不要直接sudo npm install那是用 root 权限跑第三方脚本风险高。正确做法是修 npm 的全局目录权限或者干脆用 nvm 管理 Node——nvm 装的 Node 全局目录默认在当前用户目录下不存在权限问题。2.3 API Key、环境变量与配置文件安装本身只是第一步更关键的是把 DeepSeek 的 API 接进来。先去 DeepSeek 开放平台注册账户创建一个 API Key这个 Key 形如sk-开头的一串字符。Key 只显示一次创建后要立刻复制保存丢了就得重新生成。然后在你的 shell 配置里加环境变量export DEEPSEEK_API_KEYsk-你的key export DEEPSEEK_BASE_URLhttps://api.deepseek.comDEEPSEEK_BASE_URL默认就是这个值如果你用了一些兼容 OpenAI 协议的第三方中转服务也可以改成对方的地址。但我的建议是优先用官方地址第三方中转虽然可能更便宜但稳定性和数据隐私都要打折扣。dsh init会在你的家目录生成一个配置文件。默认路径在 Linux/macOS 是~/.deepseek-harness/config.jsonWindows 在%USERPROFILE%\.deepseek-harness\config.json。初始化的内容大概长这样{ model: deepseek-chat, baseUrl: https://api.deepseek.com, mode: auto, maxTokens: 4096, temperature: 0.3, systemPrompt: You are a senior software engineer..., allowedTools: [bash, edit, search], denyTools: [], skills: [] }几个字段我要单独解释一下。model可以在deepseek-chat和deepseek-reasoner之间切换。前者是通用对话模型速度快、价格便宜后者是推理模型会在回答前输出一段很长的“思考过程”Token 消耗会显著上升但也有自己的存在价值。后面第四节我会专门算笔账。maxTokens是每次响应的最大输出 Token 数。这个值不要设太离谱4096 是一个比较平衡的值。设得过大模型可能会在一次调用里输出一大堆无效内容白白烧钱。temperature控制随机性。写代码我建议 0.1~0.3温度太高容易“创造性”地写出一堆不存在的 API。2.4 第一次运行与目录结构认知配置完先跑一个最简单的命令验证链路dsh run 列出当前目录下的文件并告诉我哪些是最新修改的如果一切正常你会看到它先思考、然后执行ls之类的命令、读取输出、最后给出结论。这个过程中每个工具调用都会打印出来方便你观察它到底干了什么。跑通之后建议花两分钟看一下它生成的目录结构。除了配置文件工作目录下通常会有.harness/或.deepseek-harness/文件夹里面是每次会话的历史记录、工具执行日志、skill 缓存。这些日志是之后排查问题最重要的资产我最后一部分会讲怎么用。这里有个小经验第一次跑任务不要在很大的代码仓库里试。先拿一个 demo 项目或者空目录试确认基本流程走得通再让它进入真实项目。否则你还没搞懂它每一步在做什么它就先开始遍历几万个文件你会被输出刷屏也很难判断是否正常。3. 工作模式与多智能体编排plan、auto、review 怎么选3.1 五种模式的定位与选择逻辑DeepSeek Harness 内置了不止一种工作模式这个设计是它最容易被忽略、但也最决定实际体验的地方。我按实际使用频率排序说明模式行为适合场景Token 消耗量级plan只研究不修改输出方案需求梳理、重构前设计低ask代码库问答不执行写操作理解陌生代码、代码审查咨询最低auto全自动执行自主改代码跑命令明确的小任务、批量修 bug中review改完代码停下来等审查需要把控质量的业务代码中高orchestrate多智能体拆解并行干活跨模块大任务最高但单位产出省plan 模式是我最推荐的起手式。它的行为是模型会大量搜索代码、读文件但不会对文件做任何修改最后输出一份带步骤的方案。这个模式最大的价值不是“省事”而是“便宜”。因为你还没开始动手一个任务在执行前的上下文积累就已经被它梳理清楚了后续切换到 auto 模式时模型带着完整认知去改代码容错率会高很多。ask 模式适合“只想知道答案”的场景。比如新接手一个项目你想问“这个项目的构建流程是什么”“这段逻辑为什么这么写”直接用 ask它不会碰任何文件Token 消耗也最低。很多人一上来就用 auto结果模型把“问问题”变成了“改代码”非常尴尬。auto 模式是默认选项但它不是万能的。它适合那种边界清晰的执行任务比如“把 utils 目录下所有回调改成 async/await”。我强烈建议在 auto 模式执行前先想清楚两件事一是任务的终点你能否判断能写出“完成标准”才算清楚二是它需要改动的文件范围是否可控。两个答案都是“是”再用 auto。review 模式是 auto 的“安全版”。它会正常改代码但改完之后停下来把 diff 展示给你等你确认。我自己写业务代码时基本都用这个模式原因很简单AI 写的代码我看着改完再提交比让它直接推到提交里更踏实。3.2 多智能体编排模式内部是怎么工作的orchestrate 是 DeepSeek Harness 最有辨识度的能力也是网上很多人问“多个智能体 编排”时指向的功能。它的核心机制是主智能体把一个复杂任务拆解成若干子任务每个子任务分配给一个独立的子智能体子智能体各自有独立的会话上下文窗口完成后结果汇总回主智能体。为什么要这样设计关键在于上下文隔离。假如你让一个 agent 去实现“一个带登录功能的 REST API”它需要同时理解数据库 schema、路由层、权限逻辑、测试框架。如果只开一个会话所有内容都挤在一个上下文窗口里随着对话变长模型会开始遗忘早期信息而且每次请求都要带着越来越长的历史Token 消耗是超线性增长的。而编排模式里三个子智能体各管一块每个上下文只装自己需要的部分互不污染最终主智能体只负责整合。我实际跑过一个例子重构一个 40 个文件的支付模块。我给主智能体的指令是“把模块从回调式改成 Promise 式保持对外 API 不变改动范围限制在 src/payment 目录内”。它把任务拆成了三个子任务入口层改造、核心逻辑改造、测试用例调整分别交给三个子智能体并行执行。整个过程大概 15 分钟Token 总消耗比我先前用单线程 agent 跑类似任务少了大约四成而且全程没有出现过上下文丢失导致的“重复改同一段代码”的问题。但要提醒的是编排模式对任务描述的要求更高。子智能体之间没有自动通信机制所以你必须把边界、依赖关系、接口契约写清楚。如果任务本身模糊多智能体反而会把模糊放大成三个方向的错误。3.3 skills 扩展把项目规范变成 agent 的“肌肉记忆”skills 也是 DeepSeek Harness 的一大特色。你可以把它理解成给 agent 预装的“专项技能包”一个 skill 通常是一个目录里面包含描述文件、示例代码、触发条件和一些辅助脚本。比如我常用的一个code-reviewskill它的描述文件里约定当被要求“审查代码”时必须先检查测试覆盖率、再检查错误处理分支、最后给出按严重程度分级的意见列表。装上之后我再让 harness“review 一下这个 PR”它就会自动按这套流程执行而不是泛泛地“看一遍”。安装 skill 的命令很简单dsh skill install 仓库地址或本地路径也可以自己创建一个自定义 skill 目录放在~/.deepseek-harness/skills/下按照官方文档的格式写一个描述文件即可。这个机制意外地适合团队沉淀规范把团队的 code review check list、环境搭建步骤、常见报错处理办法写成 skill新同事的 agent 也能按同样的标准干活。不过 skill 不是装得越多越好。每个 skill 的描述在特定条件下会被加载进上下文装太多会在某些任务里引入大量无关信息推高 Token 消耗。我个人的经验是保持 5 个以内的常用 skill其他的按需临时安装。3.4 关键参数调优与它对行为的影响参数层面除了前面说的temperature和maxTokens有三个参数值得关注reasoningEffort或对应的推理开关使用deepseek-reasoner模型时可以控制“思考深度”。有些实现里提供了 low/medium/high 的选项。实测中低档思考适合格式转换、字段重命名这类机械任务高档思考适合算法设计、难以复现的 bug 排查。思考深度和 Token 消耗基本是线性的所以要按需开。contextCompaction开关它控制长会话的上下文压缩策略。打开之后当上下文快满时harness 会先对历史对话做摘要压缩而不是粗暴截断。这个开关对长任务的保留意识非常重要但它本身也有成本——压缩操作会额外消耗一次摘要生成的 Token。小任务没必要开跑超过 20 轮对话的大任务必须开。工具白名单allowedTools和denyTools不只是安全配置它们也影响 Token。被允许的工具越多模型在每次行动时的“选择成本”越高。只给它真正需要的工具反而能减少无效尝试。4. Token 消耗实测与省钱策略别让一个周末烧掉一个月预算4.1 Token 计费的底层逻辑要控制成本首先得知道钱花在哪。DeepSeek 的计费逻辑和大多数大模型厂商一样按 Token 数计费并区分输入 Token和输出 Token。输入 Token 里还有一层命中缓存的概念如果你多次请求带了相同的上下文前缀比如同一段系统提示词或同一段代码背景命中部分的价格会大幅降低。以官方文档当时标注的参考价为例价格会调整实际以官网为准模型输入缓存未命中输入缓存命中输出deepseek-chat约 2 元/百万 Token约 0.5 元/百万 Token约 8 元/百万 Tokendeepseek-reasoner约 4 元/百万 Token约 1 元/百万 Token约 16 元/百万 Token注意reasoner 模型的输出包含它“思考过程”的那部分 Token也就是说它还没开始真正写答案光是内心戏就已经在烧钱了。这就是它便宜不下来的根本原因。还有一个容易忽略的坑工具调用的返回内容也算输入 Token。你让它cat一个 5000 行的文件这 5000 行会全部作为工具结果进入上下文下次请求时要重新计费除非命中了缓存。所以“让 agent 多读文件”不是免费的读什么、怎么读都是有成本的。4.2 三组真实任务消耗数据我把自己近期用 harness 跑的三类任务数据列出来给大家一个体感参考。因为项目和模型版本都在变数字不是绝对值但量级具有参考意义任务 A修复一个报错。场景一个 Node.js 项目里某个接口偶尔返回 500无日志。我用 ask 模式先定位再切 plan 模式给出修复方案最终手工改了 3 行代码。总会话 14 轮消耗约 8 万输入 Token、1.5 万输出 Token用 deepseek-chat 跑的成本不到 0.3 元。任务 B给项目新增一个导出报表的功能模块。场景现有代码框架比较规范我用 review 模式让 agent 实现整个模块。总会话 60 多轮频繁读取了相关文件消耗约 90 万输入 Token、12 万输出 Tokendeepseek-chat 总成本约 2.8 元。这里缓存命中帮了很大忙如果完全没有缓存这个数字会接近 4 元。任务 C用 orchestrate 模式重构支付模块。三个子智能体分别处理入口、核心逻辑和测试加上主智能体的整合总消耗约 210 万输入 Token、30 万输出 Token综合算下来约 7 元。这个任务如果人工来做按我的时间成本算是上千元所以这个投入非常划算。你可以看到真正的大头是输入 Token而输入 Token 的大头是反复读取的上下文。任何能减少“重复塞入相同内容”的策略都能直接压成本。4.3 省钱的六个实际操作基于上面的认知我总结了六条真正有效、且我一直在用的省钱策略1. 能用 deepseek-chat 就别用 deepseek-reasoner。70% 的开发任务用不到深度推理。我会在配置里默认 deepseek-chat只有遇到“现象诡异、查不到原因”的 bug 时才临时切 reasoner。2. 先 plan 后执行。plan 模式下模型只读代码不修改上下文里不会混入“改了又改”的脏历史。一个清晰的计划能让后续 auto 模式少走 30% 以上的弯路也少烧 30% 的 Token。3. 主动控制“让 agent 读什么”。与其让它自己瞎逛目录不如在任务描述里直接指明“先读 src/payment/controller.ts 和 src/payment/service.ts其他文件不要看”。给它划好范围本质上是帮它少读无用文件。4. 善用缓存。DeepSeek 的上下文缓存是自动的你要做的是尽量保持同一会话内的上下文稳定不要反复切换任务方向。经常开新会话、每次复制大段代码进去会破坏缓存命中。5. 大文件先做预剪裁。如果某次任务涉及一个很大的文件先手动把无关的段落在粘贴/读取前剪掉。5000 行的配置文件其实只有 200 行是相关的让它读整个文件纯粹是烧钱。6. 不要用 maxTokens 设太高但也不要设太低。太低会导致输出被截断任务中断反而额外消耗太高会让模型懒散一次性输出超长冗余内容。4096 是个不错的起点需要长报告时再调大。4.4 用量与预算监控Harness 会在会话结束后打印本次的 Token 统计。我建议养成每次任务后看一眼的习惯就像看流水账。我自己会用一条命令快速查看当天所有会话的累计消耗不同版本的实现可能有出入但基本思路都是从日志目录里汇总每个会话的记录。还有一个滑点需要盯紧编排模式下子智能体的消耗是同时发生的会话列表里可能看不出“谁烧了大头”。我建议在 orchestrate 任务开始前给主智能体明确的指令“每个子任务开工前先打印自己预计读取哪些文件”这样至少能判断哪个子任务在无序扫描。跑完后再去日志目录里看每个子智能体的 Token 明细通常会发现 80% 的钱烧在某一个子任务的无效读取上。5. 竞品横向对比Harness、Claude Code、Cline、Codex CLI 的取舍5.1 四款工具的定位差异聊完成本再看选型。现在市面上主流的四款方案我按照“出身”来区分DeepSeek Harness 是 DeepSeek 生态的产物核心优势是跟 DeepSeek 模型深度绑定、便宜、编排能力强Claude Code是 Anthropic 官方出的终端 agent打磨最精致、模型能力最强但贵Cline是 VS Code 插件形态胜在上手简单、界面直观支持任意 OpenAI 兼容端点Codex CLI是 OpenAI 出的开源 agent走的也是终端路线但和 OpenAI 账号体系绑定很紧登录体验一言难尽。这里必须提醒一点网上那个高频出现的报错sign-in could not be completed token exchange failed: token endpoint returned ...大量出现在 Codex CLI 和 Cline 的 GitHub/Google 登录流程里是账号鉴权体系的问题不是 DeepSeek 的 API 问题。如果你用的是 DeepSeek Harness走 API Key 直连根本不会碰到 OAuth 登录环节。这个我最后一节细说。5.2 一张表看明白核心差异为了不写得像产品说明书我只列我在真实选择时关心的维度对比项DeepSeek HarnessClaude CodeClineCodex CLI界面形态纯 CLI纯 CLIVS Code 图形插件纯 CLI模型支持深度适配 DeepSeek仅 Anthropic 系任意 OpenAI 兼容端点仅 OpenAI 系多智能体编排原生支持有限无单线程无单线程实验性skills 扩展有有有但侧重规则早期阶段登录方式API KeyAPI Key/OAuthAPI Key/OAuth强依赖 OpenAI 账号典型运行成本低高看模型高对国内用户友好度高DeepSeek 官方服务中中低上手门槛中中低中5.3 不同场景下的选择建议如果你预算敏感、且核心诉求是“把 DeepSeek 的能力变成自动化干活工具”闭眼选 DeepSeek Harness。它是四款里唯一在模型和成本层面做到双向匹配的。我试过用 Cline 接 DeepSeek 端点能用但 Token 消耗明显偏高因为 Cline 对上下文的管理不如 Harness 细致。如果你不在乎价格只求“开箱即用的顶级体验”Claude Code 值得交这个钱。它的 plan 模式、diff 展示、权限提示都做得非常顺滑工具的打磨程度确实高。但你要接受它的成本——同样一个重构任务Claude Code 跑出来的 Token 账单通常比 DeepSeek Harness 贵 5 到 10 倍。如果你是 VS Code 重度用户、不想换环境Cline 是阻力最小的选择。在图形界面里看 diff、点按钮批准的体验确实比 CLI 友好尤其适合不太熟悉命令行的朋友。缺点是它的多任务能力基本没有复杂任务你得自己在旁边盯着。Codex CLI 我只建议 OpenAI 生态的铁杆用户尝试。它的代码质量不错但那套 OAuth 登录、token 刷新机制在实际使用中出问题概率不小很多时间会耗在“登录失败—重新登录—又失败”的循环里。如果用建议直接找它的 auth 重登方案不要反复瞎试。6. 高频报错排查安装失败、版本回退与 token 类错误的正确处理6.1 安装失败的三类主因与修复搜“deepseek harness 安装失败”的人非常多我根据自己见过的案例归纳成三类第一类是Node 版本不兼容。最典型的现象是npm install过程中报错或者装完执行dsh直接崩。处理方式很简单用 nvm 切到 Node 20 LTS然后npm cache clean --force最后删掉 node_modules 重新装。不要在本机装多个 Node 版本却靠 PATH 猜一定要用 nvm 明确切换。第二类是npm 官方源变慢或超时。在部分网络环境下npm 默认源下载预发布版本很慢。可以临时切换镜像源安装npm install -g deepseek-harness --registryhttps://registry.npmmirror.com不过镜像源同步有延迟如果你等不了新版本还是切回官方源。第三类是权限问题。前面提过不要用 sudo 安装。如果你之前不小心开了 sudo会看到一堆 EACCES 权限错误。处理办法是把全局目录所有权改回当前用户或者直接用 nvm 重装 Node一劳永逸。6.2 从新版本回退到 v0.1.5-rc.2 的正确姿势“deepseek harness 怎么退回到 v0.1.5-rc.2”这个问题也是热搜词我猜是因为 0.1.5 之后的某个版本改了配置文件格式或者丢了某些 skill 兼容性。回退其实不难如果你是用 npm 全局安装的npm install -g deepseek-harness0.1.5-rc.2如果你是用源码安装的cd deepseek-harness git fetch --tags git checkout v0.1.5-rc.2 npm install npm run build npm link回退之后有个容易踩的坑配置文件可能不兼容。新版可能往 config.json 里写了新字段老版本不认识它们时会直接忽略但有时候会因为某个字段默认值不同导致行为异常。我的建议是回退前先备份一份配置文件回退后如果行为不对删除配置文件重新dsh init一遍。6.3 “token exchange failed” 这类报错到底在说什么这是搜索热度最高的一个报错值得花点篇幅讲清楚。sign-in could not be completed: token exchange failed: token endpoint returned ...以及codex auth token is unavailable、login server error: token exchange failed: error sending request ...这些报错句式非常密集地出现在 2025 年的中文和英文社区里。它们共同指向一个问题OAuth 登录流程中的授权码交换失败。你在 Codex CLI、Cline 这类工具里点“用 GitHub/Google 登录”工具会先拿到一个临时授权码然后用这个授权码去换取访问令牌。token endpoint returned 403说明授权服务器拒绝了这次交换error sending request说明根本无法连上授权服务器。这不是 DeepSeek API Key 失效的问题和你的模型配置也没关系。我在实际维护中总结的排查顺序是第一检查系统时间。OAuth 授权码有效期极短通常只有几十秒到几分钟。如果本机时间偏差超过 5 分钟授权码会被判定过期直接 403。先date看时间不对就开网络时间同步。第二检查登录态缓存。这类工具会把登录凭证存在本地文件里比如 Codex CLI 的~/.codex/auth.json。文件损坏或里面的 token 过期同样会报错。处理方式可以是退出登录如果还能操作或者直接备份后删除这个文件重新登录。第三检查网络对认证域名的连通性。登录流程需要访问对应服务的官方认证域名。如果网络环境无法稳定访问就会出现error sending request。建议先确认同一网络下浏览器能否正常打开该服务的登录页面。这是基础连通性问题不是配置问题。第四重新登录一次。很多时候消除缓存后重新走一遍登录流程就解决了。反复在同一状态里重试是没用的因为问题往往出在缓存或时间上。6.4 定位问题的三板斧doctor、日志与最小复现最后分享我排查 harness 问题的通用方法论不管遇到什么奇怪问题这三板斧基本够用。第一板斧是 doctor 命令。Harness 自带一个环境自检命令会检查 Node 版本、配置文件合法性、API Key 是否有效、目录权限是否正常。遇到问题先跑它八成能在输出里直接看到异常项。第二板斧是翻日志。会话日志都在工作目录的.harness/logs/下工具调用、请求 URL、返回状态码、Token 用量全都有记录。很多“看起来像模型抽风”的问题翻日志会发现其实是某个工具调用失败了模型在错误结果的基础上继续发挥。第三板斧是最小复现。如果某个任务在一次大项目中偶现失败我会单独建一个临时目录放一个小文件复现问题。最小复现能帮你把“模型行为问题”和“项目本身问题”分开。比如发现某次失败是因为工作量太大会话被截断那就把任务拆小发现是某个 skill 在特定指令下触发了 bug那就禁用 skill 对比。这三板斧做下来90% 的问题都能定位到具体环节剩下的再去提 issue 也有据可查。最后聊一点个人体会。我在用 DeepSeek Harness 这段时间里最大的转变不是“会用了一个新工具”而是真的把它当成了一个可以授权的同事它干粗活我做决策。我现在的固定流程是任何任务先用 plan 模式拿到方案方案没问题再切 review 模式让它动手最后我审查 diff。复杂任务才上 orchestrate而且一定会给每个子任务画清楚边界。说实话这套东西的版本迭代不慢配置文件、命令入口偶尔会有变化所以我也是边踩坑边总结。如果哪天你因为配置问题折腾得头疼记住一件事先备份配置文件再回退版本最后才怀疑模型本身——大多数时候不是模型不够聪明是它的“手”还没装对。