ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

它能把Claude Code当下属调用——DeepSeek Harness最被低估的10个用法(TaoToken配置版)

它能把Claude Code当下属调用——DeepSeek Harness最被低估的10个用法(TaoToken配置版) 1. 为什么要把 Claude Code 当“下属”调用DeepSeek Harness社区常简称 dsh最容易被误读的一点是把它当成“又一个 AI 编程工具”。但如果你翻过它的架构文档会发现它的自我定位是 Agent 运行框架模型、工具、沙箱、会话存储、UI 全部是可替换插件甚至可以把 Claude Code、Codex 这类已经成熟的终端 Agent 当作子 Agent 来调度。换句话说Claude Code 和 Codex 是“开箱即用的编程产品”dsh 是“构建编程 Agent 的运行时框架”两者是分层关系不是替代关系。这个分层带来的直接好处是你可以让 dsh 负责上层编排、任务拆分、会话审计和多模型路由把具体某一步交给 Claude Code 或 Codex 执行。比如前端样式隔离交给 Claude Code后端类型重构交给 Codex整体任务规划用 DeepSeek V4 Pro——每个子任务用最合适的执行者而不是被单一厂商的固定循环绑死。这篇内容面向已经装过 Claude Code 或 Codex、想进一步做编排的开发者。我会先讲清楚 dsh 的边界再给出可复制的 config.toml 与 settings.json 骨架、CC Switch 切换步骤最后用 Python SDK 跑一次多 Agent 协同验证。全程围绕一个目标让 Claude Code 真正成为你 Harness 工作流里的一个可调用节点。2. 前置准备TaoToken 统一 API 通道在动手编排之前先把模型通道统一掉。dsh 支持自定义 Provider你可以把多个厂商的模型收敛到一个 OpenAI 兼容入口这样切换模型只改一个选择器API Key、配额、账单都在一处管理。我用的聚合入口是 TaoToken官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基址是 https://taotoken.net/api 。需要提前准备的东西不多一个 TaoToken 账号在控制台创建 API Key本地已安装 Claude Code 与 Codex 的可执行文件并确保它们在 PATH 里dsh 通过解析 PATH 委托执行Python 3.10 环境用于跑 SDK 验证dsh 本体建议锁定版本号使用因为它目前处于开发者预览阶段官方明确会有兼容性破坏性变更。创建 Key 的入口在控制台的 API Keys 页面拿到形如sk-xxxx的字符串后写进环境变量不要硬编码进仓库export TAOTOKEN_API_KEYsk-你的key如果你还想在浏览器里先验证模型是否通可以直接用模型对话页面发一条测试消息确认返回正常再进入配置环节。这一步能省掉后面大量“到底是配置错还是 Key 错”的排查时间。3. 可复制配置config.toml 与 settings.json 骨架dsh 的配置分两层一层是 Provider 与模型定义通常放在 settings 类文件里另一层是运行 Profile 与插件 patch用 config.toml 或 cordis.patch 表达。下面给出一份可以直接改的骨架。先看 Provider 层把 TaoToken 作为 OpenAI 兼容通道接进来# settings.yaml llm-providers: taotoken: apiKeyEnv: TAOTOKEN_API_KEY api: openai-completions baseURL: https://taotoken.net/api/v1 models: - id: deepseek/deepseek-v4-flash - id: deepseek/deepseek-v4-pro - id: moonshotai/kimi-k3 - id: z-ai/glm-5.2再看 config.toml定义主 Agent 用哪个模型、子 Agent 委托给谁# config.toml [agent] provider taotoken model deepseek/deepseek-v4-pro session_root ./sessions [subagent.claude-code] enabled true binary claude mode delegate [subagent.codex] enabled true binary codex mode delegate [sandbox] backend local这里有两个关键点。第一subagent.claude-code和subagent.codex默认是关闭的必须显式enabled truedsh 才会去 PATH 里找对应二进制并委托执行。第二mode delegate表示子任务实际由本地 Claude Code 进程执行消耗的是你 Claude Code 账号的配额dsh 本身不代理模型请求——这一点在成本核算时非常重要。如果你用 CC Switch 管理多套配置切换步骤大致是先把上面的 config.toml 存成一个 profile比如harness-taotoken然后在 CC Switch 里新增一个条目指向该文件切换时选中它重启 dsh 会话即可生效。切换后建议用dsh --print-config确认当前生效的 provider 和 subagent 状态避免改了文件但没加载。4. 验证请求用 Python SDK 跑多 Agent 协同配置写完必须验证否则你永远不知道子 Agent 到底有没有被调起来。下面这段 Python SDK 代码做三件事主 Agent 拆任务、委托 Claude Code 改前端、委托 Codex 改后端最后汇总。from deepseek_harness import DeepSeekHarness with DeepSeekHarness( providertaotoken, modeldeepseek/deepseek-v4-pro, cwd/path/to/repo, session_root/path/to/sessions, ) as harness: result harness.run( 将用户界面和 API 同时重构以支持多租户 前端样式隔离交给 claude-code 子 Agent 后端鉴权中间件交给 codex 子 Agent 最后生成集成测试。, session_idmulti-tenant-refactor, ) print(result.final_response[:500])跑起来后重点观察三件事。第一控制台是否出现子 Agent 的委托日志通常会标注delegate - claude-code之类的字样。第二session_root下是否生成了对应的 JSONL 会话日志里面应包含主 Agent 的规划步骤和子 Agent 的调用记录。第三最终返回里是否包含前端与后端两部分的改动说明。如果只想先验证通道是否通可以把任务简化成一句“读取 README 并总结”确认主 Agent 能正常返回再逐步加上子 Agent 委托。这样排障时变量更少。5. 本篇常见错排查子 Agent 没被调用。最常见的原因是enabled没打开或者 Claude Code / Codex 不在 PATH 里。先在终端执行which claude和which codex确认能定位到二进制再检查 config.toml 里对应段落是否显式启用。报 401 或鉴权失败。多半是TAOTOKEN_API_KEY没导出到当前 shell或者 baseURL 写成了https://taotoken.net/api而漏了/v1。OpenAI 兼容通道的 completions 路径通常需要/v1后缀这点容易踩。会话日志找不到。检查session_root是否是绝对路径相对路径在不同 cwd 下会写到意想不到的位置。建议统一用绝对路径。切换 profile 后配置没变。CC Switch 切换后需要重启 dsh 会话热加载不一定覆盖所有插件层。切换完用--print-config复核一次最稳妥。子 Agent 配额被消耗。这是预期行为不是 bug。委托模式下实际执行的是本地 Claude Code / Codex 进程用的是它们各自账号的配额。如果你希望完全走 TaoToken 通道就不要启用子 Agent 委托直接用主 Agent 的模型能力。6. 把编排层用起来dsh 的价值不在于替代 Claude Code 或 Codex而在于当你的任务需要跨模型、跨工具、可审计、可批量时它提供了一个统一的上层。日常单文件小改动直接用 Claude Code 更快但当你需要把前端、后端、测试分派给不同执行者或者需要完整会话日志做取证调试时编排层的收益就出来了。配置层面建议把 Provider 统一收敛到 TaoToken 这类兼容通道模型切换和 Key 管理都在一处子 Agent 委托按需开启注意配额归属。想先跑通模型通道可以从模型对话页面发一条消息验证准备长期做编码和 Agent 编排可以了解 Coding Plan接入细节和参数说明都在接入文档里。把这几步走完你手里就有一个能真正调度 Claude Code 的 Harness 工作流了。
返回列表