dsh-bailian-gold:为阿里云百炼做前缀缓存优化的 DSH Agent Preset

前言

在 DeepSeek Harness(DSH)里接阿里云百炼(Model Studio)时,常见做法是沿用面向官方 DeepSeek API 的 standard preset。那条路线在官方端点上有 systemPromptUpdate: in-history 兜底:系统提示变更时追加在历史之后,而不是重写对话开头。百炼上的 OpenAI 兼容壳与 Anthropic 端点,中间层(pi-ai)并未对自定义 route 放开同等能力,standard 容易放任系统提示重写,导致隐式前缀缓存整体失效。长会话里,输入 token 反复按全价计费,而百炼对缓存命中的输入有显著折扣(隐式约 20%、显式约 10%),差距可达数倍。

下面介绍社区插件 百炼成金模式(dsh-bailian-gold),维护者为 SZYTree0312。它是挂在 DSH 上的 agent preset,不是独立运行时、也不是 fork;目标是在 harness 侧保证前缀稳定,把 prefix cache hit rate 当作一等指标,而不是单纯压 token 数。

这是什么

一句话:为阿里云百炼路线做前缀缓存优化的 DSH agent preset,Qwen / DeepSeek / Kimi / GLM / MiniMax 等共用同一份 preset;模型差异通过 Host 层 route 的 models 与 modelPolicies 覆盖即可。

名字化用「百炼成钢」:百炼是平台,成金是结果——反复锤炼会话前缀,省的是按命中价计费的输入成本。上游 harness 基线需 pin 在 0.2.0-rc.2(上游明示会有破坏性变更)。

插件在 SkillHub 目录页:dsh-bailian-gold。源码与文档:GitHub — SZYTree0312/dsh-bailian-gold。分类为模型推理;许可证 MIT(见仓库 package.json)。

核心原理与策略

百炼对缓存命中的输入按输入单价折扣计费:隐式命中约 20%,显式命中约 10%。因此 preset 的设计与其他 harness 常见做法相反,概括为三条:

  1. 工具目录全程固定,不按阶段裁剪或扩展(与上游 plan-mode 中「工具目录跨 mode 不变以利于 request-cache」一致,并推广到整个会话)。
  2. 历史只追加;压缩只做定点区间替换,系统提示永不进压缩区。
  3. 动态状态一律推到尾部,不注入系统提示开头。

README 记载 2026-09-30 实测:同一实例连续三次发送约 10391 token 的前缀,OpenAI 壳隐式缓存第二次起 cached 10240,Anthropic 端点显式第二次起 read 10377;两种缓存均通。完整数据见仓库 docs/verify-prefix-cache.md。

与 梁神模式 形态相同(均为 @deepseek-ai/dsh-agent-preset 经 bundle patch 装入 profile),机制相反:梁神靠切换工具目录做首轮锚定,在百炼长会话中会多次破坏前缀;本 preset 用「工具目录常驻 + 首轮输出预算 bootstrapMaxTokens + 尾部锚定指令」达成类似目的且不牺牲缓存。

preset 自带内容与 route 要点

装完插件后,preset 自带两部分,一般不必再手动叠加 examples/ 里的 route(除非你自行改 profile):

段 层级 作用
insert · preset-bailian-gold Agent(preset) 工具面、提示词、压缩策略
override · llm-pi-ai Host(profile patch) 模型路由:固定走 Anthropic 端点

第二段按 id 覆盖 base 里的 llm-pi-ai,改为 api: anthropic-messages、路径 /apps/anthropic,并写入 contextWindow: 991808。

route 名必须对齐:provider 标识取 profile 里 llm-pi-ai 的 route 名,文档示例为 aliyun(不是 dashscope)。写错不会报错,但 modelPolicies 会静默失效。preset 内 modelPolicies.provider 与 summarizationProvider 须与此一致。

contextWindow 是关键数。不填则回落 defaultContextWindow 262144,压缩触发点约 163840,正常编码会话可能触发 compaction,前缀缓存会因 replace 整体失效。开到 Qwen3.8-Flash 官方标准模式最大输入 991808 时,触发点约 893504,常规会话不易压到压缩。README 明确:不填 contextWindow 约等于放弃本 preset 的主要收益。同时不要给 model 设 maxTokens,否则会压低 messageBudget、让压缩更早触发。

协议上,本 preset 只走 Anthropic 端点(/apps/anthropic),支持隐式缓存与 cache_control 显式断点;OpenAI 兼容壳仅隐式缓存,作为备选见 examples/aliyun-route.patch.yml。长会话(约 N ≥ 4 轮重复同一稳定前缀)时,显式缓存相对隐式更省,配套示例为 examples/aliyun-anthropic-route.patch.yml。显式缓存有效期固定 5 分钟(命中后重置)。

版本兼容

分界点在 dsh 0.1.7-rc.1:

dsh 版本 机制 使用路径
0.1.7-rc.1 及以后(含 0.2.0-rc.x) @deepseek-ai/dsh-agent-preset 插件行 presets/bailian-gold.patch.yml
0.1.5-rc.1 ~ rc.3 @deepseek-ai/dsh-agent-presets 扫描 ~/.dsh/.agent-presets/ compat/0.1.5/(见 compat/README.md)

安装与启用

前提:profile 里已有 llm-pi-ai 的 aliyun route,并建议使用 Anthropic 端点那份配置(与 preset 自带 override 一致;公共端点即可,不必专属实例)。

  1. 安装插件(命令来自仓库 README):
dsh plugin --profile web add github:SZYTree0312/dsh-bailian-gold
  1. 在 DSH 会话预设选择器里选择 百炼成金模式。

  2. 若需改回 OpenAI 壳、换实例域名或增删模型,可在自己的 profile cordis.patch.yml 或 --patch overlay 里再次覆盖(该层在 preset 之后应用)。

卸载:

dsh plugin --profile web remove dsh-bailian-gold

典型用法与成本杠杆

一等指标:观察 prefix cache hit rate,而不是只看总 token。

三条成本杠杆(README 按影响排序):

  1. 隐式改显式:稳定前缀重复轮数越多,显式越划算(转折点约 N ≥ 4);渐近可省约 50% 输入侧缓存相关费用。
  2. 别让压缩触发:依赖正确的 contextWindow 与压缩策略,避免主动打断前缀。
  3. 思考输出:部分百炼模型默认开思考,思维链计入输出 token;输出价相对缓存命中输入价高很多。控制方式见 docs/verify-prefix-cache.md 第 4 节(部分配置写法 README 标注为未验证)。

若你自行维护 profile,可将 examples/aliyun-anthropic-route.patch.yml 中的 route 片段合并进 cordis.patch.yml,并核对 aliyun route 名与 contextWindow: 991808。

适用场景与注意

适合:长期通过 DSH 接百炼、会话轮次多、希望利用前缀缓存折扣的开发者;同 preset 可覆盖百炼上多厂商模型,只需在 Host 层调整 models 与 modelPolicies。

不适合或需知:

  • 依赖官方 DeepSeek API 的 standard 行为、且不在百炼上跑的场景,不必换本 preset。
  • README 注明:部分实机验证——前缀命中已用真实请求测通;preset 作者自述 尚未跑过一次完整真实会话,工具目录是否全程不变、真实命中率等待实测。
  • DSH 插件以当前 dsh 进程权限运行;安装前请自行阅读 仓库源码 与 MIT 许可证,确认 patch 内容与本地 profile 路由、密钥配置匹配。
  • 社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本 preset 为社区贡献,非官方应用商店内置项。

结尾

百炼成金模式把 harness 策略对准百炼的计费结构:固定工具面、追加式历史、尽量推迟压缩,并默认走 Anthropic 端点以兼顾显式缓存。若你已在 DSH 上用百炼做模型推理,可按上文命令安装并在预设里切换 百炼成金模式,同时核对 aliyun route 与 contextWindow。

  • 目录页:https://www.skillhub.cn/plugins/SZYTree0312/dsh-bailian-gold
  • GitHub:https://github.com/SZYTree0312/dsh-bailian-gold
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye