Files
goodbuddy/docs/features/model-connections/ui-design.md
T
mesalogo 4e60a4ca61 feat: customize model provider requests
Model connections can now save bounded JSON request headers and top-level body fields. Direct requests and Continue support both; local OpenCode and DeepSeek Harness use only native header support, while the managed remote OpenCode gateway applies both.

Runtime, protocol, and authentication fields keep precedence. Custom values are ordinary connection settings, not credential storage. This migrates Runtime settings from v20 to v21 and updates the DeepSeek control and managed Runtime ACP capabilities.

Release note: 模型连接详情新增自定义请求头和请求体;直连与 Continue 支持两者,本地 OpenCode 和 DeepSeek Harness 仅应用原生支持的请求头,受管远程 OpenCode 支持两者,界面会明确提示生效范围。
2026-09-03 22:34:01 +08:00

1.9 KiB

模型连接请求定制 UI 设计

本文件定义模型连接请求定制的界面行为。全局视觉、表单和无障碍规则继续以 UI-DESIGN.md 为准。

信息架构

“自定义请求头”和“自定义请求体”位于当前 LLM 连接详情的最底部、连接兼容性摘要之前。 它们不新增页签、弹窗或高级模式。每个编辑器使用可纵向调整大小的等宽文本域,默认值为 {}。

编辑与保存

  • 请求头接受 JSON 对象,所有值必须是字符串。
  • 请求体接受 JSON 对象,值必须是有界、可序列化的 JSON。
  • 用户输入在编辑时原样保留。JSON 语法、类型、大小或保留字段无效时,文本域显示 aria-invalid 和就地错误;点击保存时阻止写入,并在现有设置错误区域显示对应连接。
  • 保存成功后,编辑器使用两个空格缩进重新格式化已保存对象。
  • 新连接从两个空对象开始。

兼容性说明

请求头说明明确列出直连、Continue、OpenCode 和 DeepSeek Harness 在原生支持范围内使用 该值。请求体说明明确列出直连、Continue 和受管远程 OpenCode 支持,并说明本地 OpenCode 与 DeepSeek Harness 不使用该值。

同一区域还必须说明:

  • Runtime、协议和认证生成的字段优先。
  • 请求体只做顶层浅合并,不递归合并对象。
  • 自定义值按普通连接设置保存,不能用于保存 API Key 或其他密钥。

无障碍与键盘

  • 每个文本域有稳定的可访问名称,并通过 aria-describedby 关联兼容性说明。
  • 无效状态不能只依赖颜色,必须同时提供错误文字和 aria-invalid。
  • 文本域遵循标准键盘编辑、选择、复制和粘贴行为;保存继续使用设置页唯一的主保存操作。
  • 焦点边框、字体、间距、颜色和深浅主题全部复用全局语义令牌。