DeepSeek Harness vs opencode:接入第三方模型后谁更聪明
分析日期:2026-10(本地拉取源码 + 全网评测数据交叉验证) 源码版本:deepseek-harness v0.2.1-alpha.2(末次提交 2026-10-09);opencode v2.0.27(末次提交 2026-10-13) 两仓库均已 git clone 到本目录进行分析对比:deepseek-harness/、opencode/
一句话结论
"接第三方模型后谁更聪明"没有普适答案------公开数据一致显示:harness 的收益是逐模型的,同一个 harness 对某些模型是放大器,对另一些等于没装。
在这个前提下,两者的差异非常清晰:
| opencode | DeepSeek 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/WildClawBen...(上海智lab 司南体系,60 项真实环境长程任务)。表内加粗 = 该模型最优 harness,每格为「耗时分钟 / 美元每任务 / 得分」:
| 模型 | OpenClaw | Claude Code | Codex | Hermes Agent |
|---|---|---|---|---|
| GPT-5.4 | 5.83 / 0.33 / 50.3% | 9.07 / 0.61 / 48.4% | 7.16 / 0.57 / 56.8% | 8.97 / 0.44 / 50.7% |
| GLM 5 | 6.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 Pro | 7.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.7 | 9.18 / 0.12 / 33.8% | 10.08 / 0.09 / 32.0% | 8.66 / 0.06 / 35.8% | 10.30 / 0.11 / 37.1% |
三个可直接读出的事实:
- 没有跨模型最优 harness:GPT-5.4 最优是 Codex,GLM 5 与 MiMo 最优是 Hermes,MiniMax 最优是 Codex。
- 第一方 harness 对开源模型是负资产 :Claude Code 在 GLM 5 上只有 31.0%,比 OpenClaw 的 42.6% 低 11.6 分;在 MiMo V2 Pro 上 29.9% vs 40.2%。
- 成本与得分不成正比: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 Pro | 45.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 修复任务):
| opencode | pi | DeepSeek Harness | |
|---|---|---|---|
| 是否完成 | ✅ | ✅ | ✅ |
| 耗时 | 68s | 45s | 71s |
| 模型请求数 | 19 | 6 | 13 |
| 工具调用 | 19 | 7 | 14 |
| 首次请求输入 token | 8,084 | 1,744 | 7,626 |
| 总输入 token(含缓存读) | 238,856 | 19,899 | 148,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
ts
// optimize.ts:16-27
export const OpenAIPlugin = make("opencode.prompt.openai", (model) => {
const id = model.id.toLowerCase()
if (!id.includes("gpt")) return undefined
return id.includes("astra") ? PROMPT_ASTRA : PROMPT_GPT
})
export const AnthropicPlugin = make("opencode.prompt.anthropic", (model) => {
const id = model.id.toLowerCase()
if (!id.includes("claude")) return undefined
return PROMPT_ANTHROPIC
}, "append")
// :51-60 kimi / trinity(arcee) / meta(muse) 各自独立提示词
提示词文件清单(system-prompt/):
| 文件 | 大小 | 匹配规则 | 风格 |
|---|---|---|---|
anthropic.txt |
300 B | id 含 claude,append 追加 |
极短,只补注释密度规则 |
gpt.txt |
2.6 KB | id 含 gpt |
"Prefer parallelizing independent tool calls" |
gpt-astra.txt |
3.8 KB | id 含 gpt + astra |
独立变体 |
kimi.txt |
8.7 KB | id 含 kimi |
完整重写,"default to taking action with tools" |
meta.txt |
7.9 KB | id 含 muse |
带 {{MODEL_NAME}} 插值 |
trinity.txt |
7.7 KB | id 含 trinity |
CLI 语气约束 |
(b) 逐模型切换编辑工具 ------ packages/core/src/tool/plugin/patch.ts:296-306
ts
const usePatch =
event.model.id.includes("gpt-") && !event.model.id.includes("oss") && !event.model.id.includes("gpt-4")
if (usePatch) {
delete event.tools.edit
delete event.tools.write
return
}
delete event.tools.patch
这是教科书级的 model-harness-fit 工程:GPT 系列在 apply_patch 语料上后训练过,opencode 就给它们 patch;其余模型给 edit + write(Claude Code 风格)。
(c) 逐模型思考参数拼写 ------ packages/core/src/variant.ts(633 行)
摘录(同一文件里逐 provider × 逐模型的分支):
ts
// :57-68 解析 Claude 家族与版本号,决定 manual / adaptive thinking
const familyFirst = /(?: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_thinking
const key = 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")) return nvidiaToggle("thinking")
if (id.includes("kimi-k3")) ...
if (id.includes("minimax-m3")) return toggle(nvidiaTemplate({ thinking_mode: "disabled" }), ...)
if (id.includes("glm")) return toggle(nvidiaTemplate({ enable_thinking: false }),
nvidiaTemplate({ enable_thinking: true, clear_thinking: false }))
const toggleOnly = id.includes("qwen") || id.includes("gemma") || id.includes("nemotron")
// :31-32 阿里思考预算封顶 64k,不用模型全部输出上限
const ALIBABA_THINKING_BUDGET_MAX = 64_000
外加:逐模型工具裁剪(OpenAIToolsPlugin / AnthropicToolsPlugin 删 grep/glob,目前因 UX 原因禁用)、逐 provider 压缩策略(chatgpt.ts:294 设 compaction: { type: "summary" })、原生压缩(compaction.ts:213 context.model.compaction?.type === "native" 走 provider 自带压缩 API)。
3.2 DSH 的对应做法:一套提示词 + 逐模型上下文预算
DSH 的提示词是单一模型无关 的插件化拼装:packages/core/system-prompt/src/index.ts(29 KB)里没有任何模型家族分支 (grep model|provider 44 处命中全是 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:
ts
/** Policy fields shared by the default policy and exact model overrides. */
thresholdRatio?: number
summarizationProvider?: 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 这张表就是答案
| 逐模型工程 | opencode | DSH |
|---|---|---|
| 系统提示词按模型换 | ✅ 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/:edit patch read write shell glob grep subagent skill webfetch websearch question mcp-resource opencode + file-diff 辅助)。DSH 多出的这些机制,本质都是用脚手架补模型能力:
| DSH 机制 | 补什么 |
|---|---|
| PTC / code-mode (packages/ptc-runtime,`DSH_TOOLS_MODE=native | ptc`) |
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. 工程成熟度与生态
| 维度 | opencode | DSH |
|---|---|---|
| 版本 | 2.0.27(稳定 v2) | 0.2.1-alpha.2,README 明写 "THERE WILL BE COMPATIBILITY-BREAKING CHANGES" |
| 提交节奏 | 50 次提交跨约 1 天 | 50 次提交集中在 1 天 |
| 架构 | Effect 生态 + Drizzle/SQLite + client/server | Cordis 依赖注入(有 arXiv 论文支撑"时空可组合性"范式),一切皆插件,300+ @deepseek-ai 包 |
| 测试 | 大量 provider 协议测试(packages/ai/test/provider/*,逐协议 fixture) |
100% 单文件覆盖率 CI 门槛 + 录制会话回放快照(test:snapshot,无需 key) |
| 文档 | 多语言 README(19 种)、docs 站 | 中英双语,文档有字数预算门禁 与分层规范(docs/AGENTS.md) |
| 扩展 | plugin / MCP / agents / skills | plugin / MCP / skills + 加载 Claude Code 与 Codex 的 hooks.json 的兼容插件 |
| 效果评测 | 仓库内 STATS.md 是下载量 统计,非效果评测;packages/simulation 无 README |
BENCHMARK.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 off Settings → General → Upload Session Log when using the official model API in Web, or set its
enabledconfiguration tofalseto opt out.
三条要点:
session-log-deepseek默认开启 ,会把完整会话日志后缀随后续请求发出,包括经你配置的第三方网关转发的请求。- OTel 会话上传默认
FEEDBACK_ONLY,对所有用户和所有 provider 生效;导出内容可含消息文本、工具参数与结果、工作区路径。 - 脱敏默认没有规则 :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 跨模型通吃。
附:本次分析的证据获取方式
- 两仓库
git clone --depth 50到本目录。 - 源码取证:
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。 - 外部数据:WildClawBench 官方榜与 harness 对比表、dshbase 的 60 任务三维解读、Terminal-Bench 2.1、Harness-Bench (arXiv:2605.27922)、Classmethod 三 harness 同模型实测。