Files
deepseek-harness/docs/rfc/rejected/architecture/2026-06-20-providerless-example-base.zh.md
T
Ziya 2565133af3 docs(i18n): RFC tree batch — 146 bilingual pairs via the committed pipeline
implemented(除 4 篇超长文档随后补)、proposed、rejected 全树配对;
同一流水线 + 二遍校验(paraphrase-back + 仓库上下文一致性)产出。
docs/rfc/implemented/AGENTS.md 与其 CLAUDE.md 符号链接列入排除
(agent 指令文件,与根 AGENTS.md 同策略)。
2026-07-15 23:25:06 -07:00

2.3 KiB

RFC:使共享示例基础配置不依赖提供方

English | 中文

Status: rejected — superseded by Extract example apps into packages, which moves the spine into a dsh-agent-spine-demo bundle and deletes the base*.yml files, so there is no shared base YAML left to rename.

问题

示例曾有两个共享基础文件:examples/base-core.yml 不依赖任何模型提供方,而 examples/base.yml 在此核心之上加入了真实的 llm-deepseek 适配器。快照回放需要搭配 llm-replay 使用那个提供方无关的核心,因为在没有 key 的情况下加载真实适配器会抛错。常规演示则需要真实适配器。结果是命名倒挂:名为 base.yml 的文件并非所有示例的可复用基础,而真正的基础反而叫 base-core.yml。

这种拆分可以理解,但它让每次解释配置都变得更长。它还导致了别扭的测试搭建方式:keyless 冒烟测试需要携带一个假 API key 才能让适配器启动,尽管模型根本不会被调用。

提案

将提供方无关的核心重命名为 examples/base.yml,让适配器选择在每个具体示例中显式声明。编码与 ACP 真实配置添加一小段 llm-deepseek include 或本地块;快照配置添加 llm-replay。删除 examples/base-core.yml。

共享基础应当只包含提供方无关的服务与工具:llm、会话、系统提示词、工具、agent、不变式、bash 执行器与 bash 工具 schema。任何选择模型提供方的内容都属于叶子配置。

验收标准

  • examples/base.yml 不依赖任何提供方。
  • examples/base-core.yml 已删除。
  • 真实演示配置显式添加 DeepSeek 适配器。
  • 快照回放配置引入同一个提供方无关的基础及其回放适配器。
  • examples README、各示例的 README 与 RFC 引用不再解释"base = base-core 加适配器"。

放弃了什么

真实演示失去了一层便利:每个都必须显式引入适配器。对示例而言这是正确的默认值,因为适配器选择是可变部分,而提供方无关的接线才是共享的产品核心。