dsh 官方基线 ⊗ dsh-custom 装配层

官方 dsh vs 装配层对照

Compare · 官方基线 ⊗ 装配层 dsh 3.6 → 3.9
COMPARE

官方 dsh ⊗ dsh-custom

核心命题三线:首次回填模型分(v1.4 首次把 dsh 纳入精装度 v2.0:官方 3.6 / 装配层 3.9,旧单点分 2.5 属历史口径、不可相减)· 单维小步跃升 3.6→3.9(v1.5 的 8 维变动仅 memory +1)· 迁移损失已追平(R 环由 R-A 载体接通,E 环因 run_gate 门控通道达 Δ+2.0 反转阈值)。

官方内核 装配层综合 增强环 持平环

00口径披露 · 单点分 vs 模型分

⚠️ 本节是防止虚报跃升的必要声明。 ① 旧口径(v1.3 及以前):dsh 在 KB 里只有「技术框架对照」的单点分 2.5,硬编码在 09-src-data/gen_html.py 的 FRAMEWORK_DATA——它不是 8 维模型的输出,没有硬门槛、没有权重、没有一票否决。 ② 新口径(本轮首次):首次把 dsh 纳入精装度 v2.0 模型(硬门槛 + 8 维加权 + 一票否决),得官方 3.6 / 装配层 3.9。 ③ 不可相减:3.6 与 2.5 不同源,故「2.5 → 3.6」在数学上不成立,本页拒绝给出该数字;旧单点分作为历史口径保留并标注。 ④ 同步校正:本轮把 FRAMEWORK_DATA 里 opencode 的 3.0 校正为模型口径 2.9(原值属口径漂移,一并归位)。 ⑤ 排名隔离:dsh_custom_scores.py 独立于 premium_scores.PRODUCTS,不参与 14 产品市售排名;官方 dsh 与 dsh-custom 构成同源对照对,只回答「装配层带来多少增量」。 ⑥ v1.5 两条新披露:(a) 沙箱证据文本更正——v1.4 记「本机无可用后端(bubblewrap/Landlock 均不可用)→ 实际 fail-closed」,v1.5 实测 bwrap 已装、enforcement=full,该断言已证伪;此为环境事实更正,沙箱维分值未变(4),⛔ 不得呈现为装配层收益。(b) skill 计数口径唯一化——主根 49 = 派生 47 + DSH 原生 2;模型可见 46 = 49 − 3;_overlay 6(详见契约 §2.6)。

01六环雷达 · 官方内核 vs 装配层综合

SP 设定值M 记忆P 规划R 反思T 执行E 评估
环官方装配层Δ标注
SP 设定值4.55.0+0.5增强
M 记忆4.04.5+0.5增强
P 规划4.55.0+0.5增强
R 反思3.04.0+1.0增强
T 执行5.05.0+0.0持平
E 评估2.04.0+2.0反转

分值 0–5,取自 09-src-data/dsh_custom_scores.py(RING_SCORES)。判据:Δ≥2.0 记「反转」,Δ>0 记「增强」,Δ=0 记「持平」。SP 环按 RING_ORDER 单列,不计入五环但为五环提供目标参考序列;v1.5 下 E 环 Δ+2.0 达反转阈值(run_gate 消解抑制项),R 环 Δ+1.0、M 环 Δ+0.5;最弱环为 R 与 E 并列 4.0。

02逐环 delta 卡片(含 SP)

SP RING · Setpoint · 目标参考序列

设定值 增强

官方内核4.5 → 装配层综合5.0 Δ+0.5

3 preset 层固化 persona 15 节(GATE/COMPLEXITY/契约委派/留档 5 段)+ plan-mode section 追加逐题访谈指引;v1.5 新增命令注册(/arch /rd /reflection)作为显式设定值入口 → 维持 5.0

M RING · Estimator · 状态估计

记忆 增强

官方内核4.0 → 装配层综合4.5 Δ+0.5

v1.5 反转项:R-A 载体落地(ADR-012)——~/.dsh/MEMORY.md(14 段 / 10815 B / 14 条 [src:])+ 候选目录 15 份 + archive 1 份 + dsh-reflection skill;v1.4 的「装配层未新增跨会话记忆」已推翻 → 4.0 → 4.5(增强)

P RING · Planner · 分层控制

规划 增强

官方内核4.5 → 装配层综合5.0 Δ+0.5

+7 专职 worker + oc_* 别名 + delegation 编队(12 子行)+ 全局控制面(send_message/interrupt_agent/list_agents)→ 维持 5.0

R RING · Feedback · 反馈闭环

反思 增强

官方内核3.0 → 装配层综合4.0 Δ+1.0

v1.5 反转项:反思链由「断裂」变为「可用」——候选→主 Agent 审阅→落库链 + 零和预算 + 生命周期五件(准入去重 / 退役三态 / 陈旧引用机检 / Coverage-Citation 双机检 / 零和)+ 容量口径(memory_capacity_check.py);v1.4 的「迁移损失、Δ0」已推翻 → 3.0 → 4.0(增强,Δ+1.0)

T RING · Actuator · 工具执行

执行 持平

官方内核5.0 → 装配层综合5.0 Δ0.0

permission 5 档(defaultPreset → opencode-plan)+ 工具面按 preset 收敛 + plugin_manager 收口;v1.5 新增 run_gate 窄通道与命令注册插件;本机沙箱 enforcement=full → 维持 5.0(已封顶)

E RING · Sensor · 评估传感

评估 反转

官方内核2.0 → 装配层综合4.0 Δ+2.0

v1.5 达反转阈值:run_gate 门控执行通道(ADR-010)为产出方恢复脚本执行能力 ⇒ v1.4 的抑制项「门控脚本依赖 bash 而子 Agent 无 bash」消解;叠加 oc_architect + gate_architecture.py / oc_requirement + 分层定档 / oc_search 证据包 + 信源分级 / criterion-design-validation;仍为领域级覆盖(架构 / 需求两域)故不取 4.5+ → 3.5 → 4.0(对官方 2.0 为 Δ+2.0,反转)

03精装度 8 维对比

维度权重官方装配层Δ依据
多Agent编排16%4403 preset 编队(opencode-standard/creator/ptc,order 11/12/13)+ 7 worker(general/explore/architect/requirement-discovery/search/reflection/pdf)+ 全局控制面 send_message/interrupt_agent/list_agents;v1.5 新增 preset 顶层 gate-runner 行(窄工具 run_gate);无真 DAG/画布 → 与 4 档一致,不升 5
Skill库12%34+1主根 49 = 派生 47 + DSH 原生 2(dsh-config / dsh-reflection),模型可见 46 = 49 − 3 件 disable-model-invocation;_overlay 另 6 件 openspec 系叠加;精选个人库、无市场/分发 → 4 档
工作流13%440persona 15 节把 GATE/COMPLEXITY/契约委派/留档 5 段等流程纪律迁入 preset 层 + plan-mode section 追加 grill-me 逐题访谈指引;v1.5 新增 dsh-opencode-commands 插件注册 `/arch` `/rd` `/reflection` 三条命令(命令级工作流入口);无通用可视化画布 → 维持 4
模型接入14%440宿主 profile 提供 4 provider(zai/opencode-go/commandcode/opencode-go-tmp)+ deepseek;v1.5 新增 reasoningEfforts 三档映射(low/high/max,刻意不声明 off)与 maxTokens 输出上限治理(8192→32768 撤销「方案 D」);仍非「千级模型开箱」→ 维持 4
一键部署15%330bundle 需手动 install_bundle 且**不可移植**(persona 含本机绝对路径、node_modules 符号链接指向本机源码树);无 npm/docker/SaaS 分发 → 维持 3
沙箱10%440宿主 permission presets 5 档(read-only / workspace-write / opencode-plan / opencode-build / danger-full-access),defaultPreset 由 read-only 改为 opencode-plan;opencode-plan/build 属**审批档**而非隔离档。✅ v1.5 事实更正:本机沙箱后端已可用且 enforcement=full(v1.4 记「本机仍无沙箱后端」已证伪)——但此为环境事实更正、非装配层新增隔离能力 → **维持 4(Δ0)**
MCP生态10%330宿主 0 个 MCP 配置(对比 opencode-custom 侧 4 个)→ 维持 3(迁移相对损失,见 diff §5)
记忆10%45+1R 环 R-A 载体已落地(ADR-012,门控 6/6):`~/.dsh/MEMORY.md` 存在(14 个 § 段 / 10815 B / 14 条 [src:] 签名)+ `~/.dsh/reflection/candidates/` 15 份候选 + `archive/` 1 份 + `dsh-reflection` skill 承载零和预算 / 生命周期五件 / 容量口径;档位措辞「跨 session 知识库 + 长期记忆 + 结构化状态」三项齐备 → **4 → 5**。⚠ 机制齐备但内容体量小(14 段 / 10.8 KB),写入为显式链非自动自省

数值唯一来源:dsh_custom_scores.py 的 SCORES / WEIGHTS(与 premium_scores.WEIGHTS 同源);官方加权 3.63→3.6,装配层加权 3.85→3.9,均过端到端硬门槛、无一票否决。v1.5 的 Δ+0.3 来源 = memory 维度 +1 × 权重 10% = +0.10,叠加四舍五入后的显示差——这是一次「单维小步」而非「全面跃升」;二者同落 tier() 的「成品化受限」档(≥3.5 且 <4.5),均未跨档。

0410 类改造清单

类别改造内容对环权重对环影响
preset 编队层新增 3 preset:opencode-standard(order 11) / opencode-creator(12) / opencode-ptc(13);顶层插件行 21/22/22、递归展开子行 34/35/35SP 主 + PSP:三档设定值固化;P:模式即编队
persona 层15 节 / 6524 字符(v1.5 收敛后;v1.4 为 8018)persona 逐字符进三 preset 的 dsh-persona 行;遮蔽宿主 system-prompt.personaPrefix(2790 字符 / 8 小节 → 变死配置);v1.5 把机器特定事实外迁至 dsh-config 技能的 local/host-env-facts.mdSP + ESP:行为纪律随模式走;E:判据可复算
skill 库主根 49 = 派生 47 + DSH 原生 2(dsh-config / dsh-reflection);模型可见 46 = 49 − 3 件 disable-model-invocation;_overlay 6 件 openspec 系叠加T + ET:能力密度提升;E:门控 0 问题
委派编队7 worker(general/explore/architect/requirement-discovery/search/reflection/pdf)→ 别名 subagent/oc_explore/oc_architect/oc_requirement/oc_search/oc_reflection/oc_pdf;delegation 组 12 子行;worker 均省略 maxDepth,靠 toolFilter.deny 阻止再委派P 主 + TP:主 Agent 编排 + 专职执行;T:工具面按 worker 隔离
权限层宿主 presets 由 3 档 → 5 档(+opencode-plan / opencode-build);v1.5 defaultPreset 由 read-only 改为 opencode-planT(安全)T:审批档增加,非隔离档增加
模型接入层宿主 4 provider(zai / opencode-go / commandcode / opencode-go-tmp)+ deepseek 直连;含 inputModalities 视觉声明T(基建)T:模型接入面扩大,支撑视觉降级路径
plan-mode 层plan:policy section 由内置 2358 → 2515 字符,追加 3 行中文逐题访谈指引(指向 grill-me)SP + PSP:计划门附访谈约束
工具面分层内置 standard 31 / opencode-standard 37(含 6 个 oc_*)/ opencode-creator 40(+cordis_inspect_*、plugin_manager)/ opencode-ptc 1(仅 run_code,workflow 双禁)TT:同一内核派生 4 种执行面
插件收口plugin_manager 计数 188 → 191(+3 行 preset);standard/ptc 硬禁、creator 条件启用T(治理)T:自省面按模式收口,防越权自改
领域门控栈architecture-judgment(gate_architecture.py ADR schema 门控)+ requirement-discovery(分层定档)+ search-methodology(信源分级)+ criterion-design-validationE 主 + PE:首个领域级自动评估门;P:领域任务路由固化
门控执行通道(v1.5)三 preset 各 +1 顶层 gate-runner 行(本地插件 dsh-opencode-gate-runner):脚本路径 + argv 数组、roots / 扩展名白名单、超时 120s/600s、输出 16KB 封顶后 spill;负向用例 18→30 条,node --test 56/56E 主 + TE:产出方恢复门控执行能力 ⇒ Δ 达反转阈值;T:工具面新增受限执行通道
dsh-config 能力包(v1.5)本机分层实况索引:SKILL.md + ref/ 8 + local/ 11 + ops/ 4 + troubleshooting/ 1 + claims.yaml(声明账本)+ conflicts.md;与官方自带面(settings seam / config-editor / plugin_manager / cordis_inspect_query)分工不重叠E + SPE:判据锚点与层归属可机检;SP:口径唯一化
R 环 R-A 载体(v1.5)~/.dsh/MEMORY.md(14 个 § 段 / 10815 B / 14 条 [src:] 签名)+ reflection/candidates 15 份 + archive 1 份 + dsh-reflection skill(零和预算 / 生命周期五件 / 容量口径);写入链=候选→主 Agent 审阅→落库R 主 + MR:闭环接通(迁移损失追平);M:跨会话记忆载体落地
命令注册插件(v1.5)dsh-opencode-commands 注册 /arch、/rd、/reflection 三条命令(命令级工作流入口)SP + PSP:显式设定值入口;P:领域任务路由
模型路由治理(v1.5)reasoningEfforts 三档(low/high/max,刻意不声明 off)+ maxTokens 8192→32768(撤销「方案 D」止损)+ deepseek-v4-flash 16384→32768T(基建)T:输出上限与思考档可治理
门控判据扩面(v1.5)verify_bundle 判据 13 → 20 项:新增 14 门控执行通道 / 15 真实挂载审计 / 16 工具 output.schema 子集 / 17 会话 PATH 引导 / 18 dsh-config 账本漂移 / 19 迁移状态 / 20 命令注册插件EE:判据面覆盖「插件能否真实挂载」与「迁移是否落地」

05四大核心发现

发现一

迁移损失已追平

v1.4 判「R 环迁移断裂(Δ0)」——v1.5 已推翻。

R-A 文件载体落地(ADR-012,门控 6/6):~/.dsh/MEMORY.md 存在(14 个 § 段 / 10815 B / 14 条 [src:] 签名)+ reflection/candidates 15 份 + archive 1 份 + dsh-reflection skill 承载零和预算 / 生命周期五件 / 容量口径。写入链=候选→主 Agent 审阅→落库。⇒ R 环 3.0 → 4.0(Δ+1.0,增强),「最弱环=R」的结论随之作废。

发现二

E 环达反转阈值

v1.4 的抑制项「门控脚本依赖 bash 而子 Agent 无 bash」——v1.5 已消解。

run_gate 窄通道(ADR-010)实机生效:三 preset 各 +1 顶层 gate-runner 行(本地插件 dsh-opencode-gate-runner),参数面受限(脚本路径 + argv 数组、roots / 扩展名白名单、超时 120s/600s、输出 16KB 封顶后 spill),负向用例 18→30 条。产出方恢复门控执行能力 ⇒ E 环 3.5 → 4.0,对官方 2.0 为 Δ+2.0,达反转阈值(v1.4 因该抑制项只记「增强」)。仍为领域级覆盖(架构 / 需求两域)故不取 4.5+。

发现三

门控判据

bundle 自家门控曾假阳性 FAIL——判据应绑「被消费字段」而非「整文件指纹」。

原判据对「活文件」取整文件 sha256,脆性极高:GUI 写回一个 ui-theme.fontSize 即导致指纹漂移 → 门控 FAIL,而 bundle 实际消费的字段一个都没变。已改为 scoped_digest,只判 bundle 实际消费字段。教训具跨域普适性:门控判据的对象须与被消费的真实形态对齐;对「既存且会被他方合法改写」的文件取整文件指纹,同时制造假 FAIL 与覆盖错觉。

发现四

结构性代价

persona 税与 PTC 空指向——装配层的两处结构性代价。

其一,persona 税:每请求 +6524 字符(v1.5 收敛后;v1.4 为 8018),而内置 standard 的对应 section 仅 54 字符(v1.4 实测值,v1.5 未复测)——约百倍开销,且三 preset 各自完整复制一份。其二,PTC 空指向:PTC 模式下工具面坍缩为单 run_code,但 persona §二 仍写「本模式提供 subagent、oc_explore…」→ 指向了不存在的工具(v1.4 实测,v1.5 未复测)。

发现五

口径漂移是复评的主要风险

同一事实出现多套口径,且两条线存在同名件——比数值本身更容易致错。

① skill 计数四套并存(v1.4 时点 45 / README 46 / reconcile 47 / 实测主根 49),v1.5 已把口径唯一化写入契约 §2.6;② 沙箱:v1.4 记「本机无可用后端」,v1.5 实测 bwrap enforcement=full ⇒ 属环境事实更正,⛔ 不得当作装配层收益;③ 迁移线与 0928 线各有一个 ADR-011(不同域)⇒ 引用必须带路径限定。