☰
DeepSeek Harness vs opencode:接入第三方模型后谁更聪明
2026/10/15 15:39:29 网站建设 项目流程

DeepSeek Harness vs opencode:接入第三方模型后谁更聪明

分析日期:2026-10(本地拉取源码 + 全网评测数据交叉验证)
源码版本:deepseek-harnessv0.2.1-alpha.2(末次提交 2026-10-09);opencodev2.0.27(末次提交 2026-10-13)
两仓库均已git clone到本目录:deepseek-harness/、opencode/


一句话结论

"接第三方模型后谁更聪明"没有普适答案——公开数据一致显示:harness 的收益是逐模型的,同一个 harness 对某些模型是放大器,对另一些等于没装。

在这个前提下,两者的差异非常清晰:

opencodeDeepSeek Harness (DSH)
适配哲学逐模型定制(按模型换提示词、换工具、调参数)模型无关 + 能力声明(一套提示词,机制层补偿)
开箱即用接国产/开源/本地模型开箱更聪明需要自己写compat配置,调优上限更高
成熟度v2.0.27 稳定版,生态大developer preview(alpha),破坏性变更
体量35 个 provider 插件 + 49 个协议实现 + 5.3MB 模型目录 + 15 个内置工具pi-ai 目录 + 3 种自定义协议 +67 个唯一工具

如果只问"我接个 GLM / Kimi / MiniMax / 本地 vLLM,谁立刻更聪明"→ opencode。
如果问"我愿意调,谁的天花板更高、机制更能救弱模型"→ DSH。


选型建议

场景选
接 GLM / Kimi / MiniMax / Qwen / DeepSeek 开源权重,开箱即用opencode(逐模型提示词 + 逐模型工具形状 + 逐模型思考参数都是现成的;目录覆盖广)
本地模型(Ollama / LM Studio / vLLM / llama.cpp)opencode(4 个本地 provider 插件开箱);DSH 走自定义端点手写compat
接 GPT-5.x 做长任务、在意每美元得分DSH(53.8 分 / 0.30 美元每任务 / 3.98 分钟,公开数据里最优组合)
接 Claude(API key 按量)opencode(edit路径 + Claude 风格提示词,生态成熟);DSH 无 Claude 专属提示词
长程自主任务、多 agent 编排、需要目标续跑/定时/团队DSH(goal / workflow / agent-team / schedule / ralph 是 opencode 没有的)
数据重、想让模型写代码调工具两者都有;要满格语言用DSH PTC,要强隔离用opencode codemode
生产可用、要稳定opencode(v2.0.27);DSH 是 alpha
二次开发 / 换 loop / 换 UI / 换记忆层DSH(一切皆插件,agent loop 可整体替换)

1. 决定性证据:harness 收益是逐模型的

1.1 WildClawBench 官方 harness 对比表(同模型换 harness)

来源:internlm.github.io/WildClawBench(上海智lab 司南体系,60 项真实环境长程任务)。表内加粗 = 该模型最优 harness,每格为「耗时分钟 / 美元每任务 / 得分」:

模型OpenClawClaude CodeCodexHermes Agent
GPT-5.45.83 / 0.33 / 50.3%9.07 / 0.61 / 48.4%7.16 / 0.57 / 56.8%8.97 / 0.44 / 50.7%
GLM 56.22 / 0.19 / 42.6%10.18 / 0.21 / 31.0%7.84 / 0.13 / 38.9%6.62 / 0.44 / 46.4%
MiMo V2 Pro7.63 / 0.44 / 40.2%9.90 / 0.15 / 29.9%6.44 / 0.15 / 35.3%8.30 / 0.26 / 48.1%
MiniMax M2.79.18 / 0.12 / 33.8%10.08 / 0.09 / 32.0%8.66 / 0.06 / 35.8%10.30 / 0.11 / 37.1%

三个可直接读出的事实:

  1. 没有跨模型最优 harness:GPT-5.4 最优是 Codex,GLM 5 与 MiMo 最优是 Hermes,MiniMax 最优是 Codex。
  2. 第一方 harness 对开源模型是负资产:Claude Code 在 GLM 5 上只有 31.0%,比 OpenClaw 的 42.6% 低11.6 分;在 MiMo V2 Pro 上 29.9% vs 40.2%。
  3. 成本与得分不成正比:Claude Code 每任务最贵,开源模型上得分最低。

1.2 DSH 的 60 任务三维评测(能力 / 成本 / 耗时)

来源:dshbase 对 WildClawBench DSH 场次的解读。

同模型换 harness(DSH vs OpenClaw):DSH 给 DeepSeek V4 Pro 带来小幅提分,成本下降约 50%,耗时仅 +4.2%;整组 60 任务调用成本约 6 美元 vs 12 美元;单位成本得分从约 218 分/美元提升到约 450 分/美元(+106%)。

跨模型适配(DSH 搭载不同第三方模型)——这是最关键的一段:

第三方模型 + DSH结果
GPT-5.4全场最佳 53.8 分,成本最低 0.30 美元/任务(−9.1%),平均 3.98 分钟最快
Qwen3.5 397B得分、成本、耗时三项同时改善,协同效应明显
DeepSeek V4 Pro45.0 分,小幅提分 + 显著降本
Grok 4.20 Beta得分增幅最大,但耗时接近翻倍、成本更高
GLM 5 / MiniMax M2.7暂无明确综合优势;GLM 5 单任务平均 10.60 分钟,最慢

报告原话(直接回答用户的问题):

模型响应延迟、工具调用策略、失败重试、上下文压缩和任务终止判断都会影响耗时——这些机制目前还无法跨模型平滑迁移。
同一 Harness 对部分模型是放大器,对另一些等于没装。任务规划、提示模板、工具协议仍需按模型特点调优。

1.3 同模型跨 harness 的量化差距(其他来源)

  • Terminal-Bench 2.1(tbench.ai):Claude Opus 4.6 + Claude Code =70.1%;同一模型 + Terminus 2(通用参考实现)=63.8%。同模型差6.3 分。
  • Harness-Bench(arXiv:2605.27922):5,194 次 model×harness 组合运行,完成率与失败模式因组合显著不同。
  • 三 harness 同模型实测(Classmethod DevelopersIO,三者接同一 OpenAI 兼容端点、底层同一 DeepSeek V4 Flash,做同一个 Python CLI 修复任务):
opencodepiDeepSeek Harness
是否完成✅✅✅
耗时68s45s71s
模型请求数19613
工具调用19714
首次请求输入 token8,0841,7447,626
总输入 token(含缓存读)238,85619,899148,638
新增测试 / 结果8 / 8 通过6 / 6 通过8 / 8 通过

三家都完成任务,差别在开销:opencode 前导最重(首包 8k token),DSH 居中(7.6k),pi 最轻(1.7k);总输入 token 上 opencode 约为 pi 的12 倍。接本地模型时,这直接变成每次请求的 prefill 时间。

该文的独立发现与我从源码读到的完全一致:DSH 的多 provider 层就是 pi 的包(见 §2.1)。


2. 模型接入层:两条完全相反的路

2.1 DSH:把协议层外包给 pi-ai,自己做能力声明与机制

DSH 的packages/llm/只有 8 个包,其中第三方模型接入全靠一个:

  • packages/llm/llm-pi-ai/package.json 依赖@earendil-works/pi-ai: ^1.0.2(pi 作者 Mario Zechner 的模型抽象库)。
  • packages/llm/llm-pi-ai/src/catalog.ts 第 14 行:import { builtinProviders, getAllBuiltinModels, getBuiltinModels } from '@earendil-works/pi-ai/providers/all'——模型目录直接继承 pi-ai 的内置目录,DSH 不维护自己的模型清单。
  • 其余是 DeepSeek 自己的直连适配器:llm-deepseek/llm-deepseek-account/llm-deepseek-api-key。

DSH 自己加的东西(llm-pi-ai/README.md):

能力说明
3 种自定义协议openai-completions/openai-responses/anthropic-messages(providers.md:23)
端点模型发现OpenAI 系GET {baseURL}/models;Anthropic 原生GET /v1/models?limit=1000(README:115)
compat开关逐路由/逐模型改请求:system prompt 放哪个角色、哪个字段限输出、thinking 等级怎么传(thinkingFormat: deepseek)、thinkingTokenBudgetField、vllmPriority、supportsMaxOutputTokens
reasoningEfforts等级 → wire 拼写映射,如max: ultra
modelOverrides改一个目录内模型,保留其余 37 个
兜底容量defaultContextWindow: 262144、defaultMaxTokens: 32768
重试retryPolicy,默认 normal 5 次,由dsh-llm-retry执行

限制(providers.md:19):

Providers that sign in with OAuth, such as Codex, are not supported here yet.

即 GitHub Copilot / ChatGPT-Codex 这类 OAuth 登录目前接不了。

2.2 opencode:自建全套协议层 + 远程模型目录

  • 49 个协议实现:opencode/packages/ai/src/protocols/ ——openai-chat、openai-responses、openai-compatible-chat/responses、anthropic-messages、gemini、google-interactions、bedrock-converse、bedrock-event-stream、zai-chat/messages、mistral-chat、cohere-chat、venice-chat、xai-responses、meta-messages、alibaba-chat/messages/responses……还含图像/语音/视频生成协议。
  • 35 个 provider 插件:packages/core/src/plugin/provider/ —— 含ollama.ts、lmstudio.ts、vllm.ts、local.ts(本地模型开箱支持)、openrouter、bedrock、azure、google-vertex、github-copilot、gitlab、nvidia、cerebras、xai、perplexity、vercel、snowflake-cortex、databricks等。
  • 模型目录:models.dev 目录,打包进 5.3MB 快照packages/core/src/models-dev/snapshot.txt(5,373,087 字节)作为离线兜底,运行时从https://models.opencode.ai/api.json刷新(packages/core/src/models-dev.ts)。
  • 逐 provider 补丁插件:github-copilot.ts、amazon-bedrock.ts、google-vertex.ts、databricks.ts、neon.ts会修正 models.dev 的元数据。

小结:opencode 的接入面明显更宽(协议数、provider 数、模型目录规模、本地模型开箱);DSH 的接入面 = pi-ai 目录 + 3 协议 + 声明式 compat,广度靠依赖,深度靠配置。


3. 核心分歧:opencode 逐模型定制,DSH 一套通吃

这是回答"谁更聪明"最关键的一节。

3.1 opencode 做了三件逐模型的事

(a) 逐模型系统提示词—— packages/core/src/plugin/optimize.ts

// optimize.ts:16-27exportconstOpenAIPlugin=make("opencode.prompt.openai",(model)=>{constid=model.id.toLowerCase()if(!id.includes("gpt"))returnundefinedreturnid.includes("astra")?PROMPT_ASTRA:PROMPT_GPT})exportconstAnthropicPlugin=make("opencode.prompt.anthropic",(model)=>{constid=model.id.toLowerCase()if(!id.includes("claude"))returnundefinedreturnPROMPT_ANTHROPIC},"append")// :51-60 kimi / trinity(arcee) / meta(muse) 各自独立提示词

提示词文件清单(system-prompt/):

文件大小匹配规则风格
anthropic.txt300 Bid 含claude,append 追加极短,只补注释密度规则
gpt.txt2.6 KBid 含gpt“Prefer parallelizing independent tool calls”
gpt-astra.txt3.8 KBid 含gpt+astra独立变体
kimi.txt8.7 KBid 含kimi完整重写,“default to taking action with tools”
meta.txt7.9 KBid 含muse带{{MODEL_NAME}}插值
trinity.txt7.7 KBid 含trinityCLI 语气约束

(b) 逐模型切换编辑工具—— packages/core/src/tool/plugin/patch.ts:296-306

constusePatch=event.model.id.includes("gpt-")&&!event.model.id.includes("oss")&&!event.model.id.includes("gpt-4")if(usePatch){deleteevent.tools.editdeleteevent.tools.writereturn}deleteevent.tools.patch

这是教科书级的 model-harness-fit 工程:GPT 系列在apply_patch语料上后训练过,opencode 就给它们patch;其余模型给edit+write(Claude Code 风格)。

© 逐模型思考参数拼写—— packages/core/src/variant.ts(633 行)

摘录(同一文件里逐 provider × 逐模型的分支):

// :57-68 解析 Claude 家族与版本号,决定 manual / adaptive thinkingconstfamilyFirst=/(?:claude-)?(opus|sonnet|haiku|fable|mythos)-(\d+)(?:[.-](\d+))?/i.exec(id)manual:(major===3&&minor===7)||(major===4&&minor<6)// :82-90 Vertex MaaS:DeepSeek 用 thinking,GLM/Gemma 用 enable_thinkingconstkey=modelID(model).toLowerCase().includes("deepseek")?"thinking":"enable_thinking"// :135-171 NVIDIA 路由逐模型if(id.includes("deepseek-v4"))…if(id.includes("kimi-k2.6")||id.includes("kimi-k2-6"))returnnvidiaToggle("thinking")if(id.includes("kimi-k3"))…if(id.includes("minimax-m3"))returntoggle(nvidiaTemplate({thinking_mode:"disabled"}),…)if(id.includes("glm"))returntoggle(nvidiaTemplate({enable_thinking:false}),nvidiaTemplate({enable_thinking:true,clear_thinking:false}))consttoggleOnly=id.includes("qwen")||id.includes("gemma")||id.includes("nemotron")// :31-32 阿里思考预算封顶 64k,不用模型全部输出上限constALIBABA_THINKING_BUDGET_MAX=64_000

外加:逐模型工具裁剪(OpenAIToolsPlugin/AnthropicToolsPlugin删grep/glob,目前因 UX 原因禁用)、逐 provider 压缩策略(chatgpt.ts:294设compaction: { type: "summary" })、原生压缩(compaction.ts:213context.model.compaction?.type === "native"走 provider 自带压缩 API)。

3.2 DSH 的对应做法:一套提示词 + 逐模型上下文预算

DSH 的提示词是单一模型无关的插件化拼装:packages/core/system-prompt/src/index.ts(29 KB)里没有任何模型家族分支(grepmodel|provider44 处命中全是 provider 注册表语义,无提示词分支)。

它的机制是(system-prompt/README.md):

  • 固定开场白You are an AI agent powered by DeepSeek Harness.(order −1000)
  • 插件按order注册 section;{{provider}}/{{model}}变量在每次装配时解析
  • personaPrefix/personaSuffix部署级改写;agent 级 section 可遮蔽全局
  • toolOrder显式控制模型可见工具顺序
  • 极简预设:提示词固定为一句话You are a helpful software engineer assistant.(apps/cli/reference/README.md:133)

DSH 的逐模型调优发生在上下文预算层,不是提示词层 —— packages/compaction/compaction-basic/src/types.ts:

/** Policy fields shared by the default policy and exact model overrides. */thresholdRatio?:numbersummarizationProvider?:string// 摘要可用更便宜/更强的模型summarizationModel?:string/** Exact provider/model overrides; duplicate targets fail plugin load. */modelPolicies?:ModelCompactPolicyConfig[]

即:可以按 provider/model 精确设定压缩阈值、保留尾部比例、指定摘要模型。压缩前先跑「无模型」的工具结果裁剪(compaction-tool-result-pruner),再跑 LLM 摘要(index.ts:321-327)—— 对贵/慢模型很实用。

3.3 这张表就是答案

逐模型工程opencodeDSH
系统提示词按模型换✅ 6 个变体(kimi 8.7KB / gpt / meta / trinity / astra / anthropic)❌ 单一提示词
工具集按模型裁剪✅gpt-*用 patch,其余用 edit;(grep/glob 裁剪暂禁用)⚠️ 只有toolOrder排序 + 工具可见性限制
思考参数逐模型拼写✅ 633 行variant.ts,逐 provider × 逐模型⚠️ 声明式compat+reasoningEfforts,由用户写配置
上下文预算逐模型✅ 按model.limit算 ceiling + 逐 provider 压缩类型✅modelPolicies逐 provider/model 精确覆盖
弱模型容错✅ 摘要模板不合规时发修复提示重问(compaction.ts:179)✅ 死循环提醒thresholds: [3,5,8](guard/repeat-tool-reminder)
模型目录5.3MB 打包快照 + 远程刷新继承 pi-ai 内置目录

结论:opencode 把"模型差异"写进代码,DSH 把"模型差异"交给配置和机制。
接第三方模型时,opencode 的现成收益更多;DSH 的收益要靠你自己配compat才能兑现。


4. 机制层:DSH 更能"救"弱模型的地方

DSH 的工具目录有72 节 / 67 个唯一工具(docs/tool-catalog.md),opencode 内置工具插件15 个(packages/core/src/tool/plugin/:editpatchreadwriteshellglobgrepsubagentskillwebfetchwebsearchquestionmcp-resourceopencode+file-diff辅助)。DSH 多出的这些机制,本质都是用脚手架补模型能力:

DSH 机制补什么
PTC / code-mode(packages/ptc-runtime,DSH_TOOLS_MODE=native|ptc)模型写一个程序,把宿主工具当 async 函数调,只回传打印与返回值 → 大幅降低工具结果往返 token
goal 自动续跑(packages/goal,create_goal/update_goal+ 轮次上限 +blocked判定)弱模型容易中途"忘了目标就停"
ralph 循环(packages/experimental/tool-ralph)循环跑到完成
repeat-tool-reminder(packages/guard/repeat-tool-reminder)精确重复同一工具+同参数时,在 3/5/8 次提醒换思路——弱模型典型死循环
subagent / workflow / agent-team(spawn_teammate、team_task_*、workflow脚本编排,支持逐 agent 覆盖 provider/model)把难任务拆给更强模型,杂活给便宜模型
schedule(定时跟进)、plan mode、todo、deliverables/present长任务结构
session_search / session_trace / session_event_*让模型回看历史,缓解长程遗忘
cordis_inspect_/ plugin_manager*运行时自我修改(opencode 无对应)
computer-use / browser-use(stagehand_*)图形界面任务

opencode 的对应强项:

opencode 机制说明
codemode(packages/codemode)纯 JS 解释器,不沙箱化任意 JS,只跑实现的语言特性;程序无法碰网络/文件系统/进程,只能调宿主工具。带 56KB 语言支持清单 + test262 同步脚本
LSP 集成开箱
多模态生成协议图像/语音/视频协议实现(DSH 无)
原生 provider 压缩支持时直接用 provider 的 compaction API
多客户端TUI / Desktop / IDE / 云端(Zen / Black / Go 三档订阅,Go 专供开源权重模型)
逐 agent 模型build/plan/explore/title/summary/compaction各自可指定模型(plugin/agent.ts:98-134)

PTC 的实现路线差异值得单独记:DSH 跑真实 Node/CPython 进程(能力满格,能装 npm/pandas,依赖 OS 沙箱);opencode 跑自研纯解释器(隔离更强、确定性、跨平台,代价是语言覆盖有限,不支持语法报UnsupportedSyntax)。


5. 工程成熟度与生态

维度opencodeDSH
版本2.0.27(稳定 v2)0.2.1-alpha.2,README 明写 “THERE WILL BE COMPATIBILITY-BREAKING CHANGES”
提交节奏50 次提交跨约 1 天50 次提交集中在 1 天
架构Effect 生态 + Drizzle/SQLite + client/serverCordis 依赖注入(有 arXiv 论文支撑"时空可组合性"范式),一切皆插件,300+@deepseek-ai包
测试大量 provider 协议测试(packages/ai/test/provider/*,逐协议 fixture)100% 单文件覆盖率 CI 门槛 + 录制会话回放快照(test:snapshot,无需 key)
文档多语言 README(19 种)、docs 站中英双语,文档有字数预算门禁与分层规范(docs/AGENTS.md)
扩展plugin / MCP / agents / skillsplugin / MCP / skills + 加载 Claude Code 与 Codex 的hooks.json的兼容插件
效果评测仓库内STATS.md是下载量统计,非效果评测;packages/simulation无 READMEBENCHMARK.md只有 3 行,指向 Python SDK 跑外部基准;benchmarks/全是工程性能门禁(会话打开、流重连、长会话投影)

两边仓库内都没有公开的"模型智力"评测数据。效果数据全在外部(WildClawBench / Terminal-Bench / Harness-Bench)。


6. 必须提醒的风险(接第三方模型时尤其相关)

6.1 DSH 默认上传会话日志

apps/cli/reference/README.md:139 原文:

The [DeepSeek session-log contributor]sends complete unaccepted log suffixes with subsequent DeepSeek requests by default, including requests sent through configured gateways; turn offSettings → General → Upload Session Log when using the official model APIin Web, or set itsenabledconfiguration tofalseto opt out.

三条要点:

  1. session-log-deepseek默认开启,会把完整会话日志后缀随后续请求发出,包括经你配置的第三方网关转发的请求。
  2. OTel 会话上传默认FEEDBACK_ONLY,对所有用户和所有 provider 生效;导出内容可含消息文本、工具参数与结果、工作区路径。
  3. 脱敏默认没有规则:docs/subsystems/session-telemetry.md:144 —— “The seam ships NO rules of its own: with no listener mounted, records reach the backend exactly as captured”,脱敏由部署方自己挂 waterfall。

关闭方式:DSH_TELEMETRY_MODE=DISABLED+ 把session-log-deepseek的enabled设为false。opencode 核心代码里没有对应的厂商会话上传路径(grep 无结果)。

6.2 Anthropic 已封订阅 OAuth 走第三方 harness

2026-01-09 Anthropic 服务端封禁 Claude Pro/Max 订阅 OAuth token 供第三方工具使用;2 月官方文档明确第三方必须用 Claude Console 的 API key。按量付费 API key 仍可用。OpenAI 方向相反,公开允许 pi / opencode 使用 ChatGPT 订阅(并称两者各占 Codex 流量 5%)。

→ 想在 DSH/opencode 上"用 Claude 的订阅价"是不行的;用 API key 可以。DSH 目前连 Codex 的 OAuth 登录都不支持。

6.3 前导 token 重量

opencode 首包 8,084 token、DSH 7,626 token(pi 仅 1,744)。接本地模型时这是每次请求的 prefill 成本;opencode 最重,DSH 居中。


7. 选型建议

场景选
接 GLM / Kimi / MiniMax / Qwen / DeepSeek 开源权重,开箱即用opencode(逐模型提示词 + 逐模型工具形状 + 逐模型思考参数都是现成的;目录覆盖广)
本地模型(Ollama / LM Studio / vLLM / llama.cpp)opencode(4 个本地 provider 插件开箱);DSH 走自定义端点手写compat
接 GPT-5.x 做长任务、在意每美元得分DSH(53.8 分 / 0.30 美元每任务 / 3.98 分钟,公开数据里最优组合)
接 Claude(API key 按量)opencode(edit路径 + Claude 风格提示词,生态成熟);DSH 无 Claude 专属提示词
长程自主任务、多 agent 编排、需要目标续跑/定时/团队DSH(goal / workflow / agent-team / schedule / ralph 是 opencode 没有的)
数据重、想让模型写代码调工具两者都有;要满格语言用DSH PTC,要强隔离用opencode codemode
生产可用、要稳定opencode(v2.0.27);DSH 是 alpha
二次开发 / 换 loop / 换 UI / 换记忆层DSH(一切皆插件,agent loop 可整体替换)

一句可执行的判断

想让第三方模型立刻表现好 → 用 opencode,它的逐模型工程就是为这件事写的。
想让第三方模型表现上限最高→ 用 DSH,但你要自己付调优成本:配compat、配reasoningEfforts、配modelPolicies,并关掉默认遥测。
任何情况下,换 harness 后必须重测你自己的模型——公开数据里没有任何 harness 跨模型通吃。


附:本次分析的证据获取方式

  1. 两仓库git clone --depth 50到本目录。
  2. 源码取证:packages/llm/llm-pi-ai、packages/core/system-prompt、packages/compaction/*、packages/guard/*、packages/ptc-runtime、docs/user/guide/providers.md、apps/cli/reference/README.md、docs/tool-catalog.md;packages/core/src/plugin/optimize.ts、variant.ts、tool/plugin/patch.ts、session/compaction.ts、ai/src/protocols/、plugin/provider/、models-dev/snapshot.txt。
  3. 外部数据:WildClawBench 官方榜与 harness 对比表、dshbase 的 60 任务三维解读、Terminal-Bench 2.1、Harness-Bench (arXiv:2605.27922)、Classmethod 三 harness 同模型实测。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询