Files
deepseek-harness/apps/web/tests/expected/models-settings/declared-edit.expected.md
T
Yichen Jiang 8a320a276b feat(settings-models): one add entry with third-party and custom-API modes
The Models page offered two side-by-side buttons, "Add provider" and
"Add a custom provider", which asked a new user to classify their
provider by an implementation fact — whether it is in the installed
pi-ai catalog — before seeing anything. One "Add model provider" button
now opens one card whose segmented mode switch chooses between a
third-party model provider (the catalog select over the provider
editor) and a custom model API (the create form for a relay, a
self-hosted server, or any other OpenAI- or Anthropic-compatible
endpoint), with a one-line purpose beneath the switch. A panel mounts
the first time its mode is shown and stays mounted, hidden, while the
card is open, so switching modes discards neither draft.

A mode is offered only while its namespace is mounted and disabled
while it has nothing to offer, which keeps the old per-button
availability; with one mode the card shows that form alone. The
protocol pickers name each protocol by its product name while the
stored value stays the schema identifier, and an unnamed protocol shows
that identifier. The Chinese copy of this page calls a provider 提供商
throughout.

The e2e scenarios drive the single entry and its custom-API mode, and
the ARIA goldens that carry the page copy are re-recorded. The user
guide describes the one entry with fresh screenshots in both languages.
2026-09-19 15:14:52 +08:00

2.3 KiB

  • dialog "设置":
    • navigation:
      • text: 设置
      • button "通用设置"
      • button "模型"
      • button "内置插件"
      • button "Agent 预设"
    • button "打开配置文件"
    • button "关闭"
    • heading "模型" [level=2]
    • paragraph: 填入各提供商的 API 密钥即可使用其模型。
    • list:
      • listitem:
        • text: minimax-cn
        • img "API 密钥已配置"
        • button "编辑 minimax-cn": 编辑
        • button "删除 minimax-cn": 删除
      • listitem:
        • text: Acme Gateway 自定义
        • button "编辑 Acme Gateway (acme-gateway)": 编辑
        • button "删除 Acme Gateway (acme-gateway)": 删除
        • text: Acme Gateway acme-gateway API 密钥
        • textbox "API 密钥":
          • /placeholder: 输入 API 密钥,或留空使用环境认证
        • group:
          • text: 自定义设置 显示名称
          • textbox "显示名称":
            • /placeholder: acme-gateway
            • text: Acme Gateway
          • text: API 地址
          • textbox "API 地址":
          • text: API 协议
          • combobox "API 协议":
            • option "OpenAI Chat Completions" [selected]
            • option "OpenAI Responses"
            • option "Anthropic Messages"
          • region "模型目录":
            • text: 模型目录 已自定义模型目录
            • button "恢复默认模型"
            • button "获取可用模型"
            • textbox "模型 ID 1":
              • /placeholder: 模型 ID
              • text: acme-large
            • textbox "显示名称 1":
              • /placeholder: 显示名称
            • button "模型选项 1" [expanded]
            • button "删除模型 1"
            • text: 上下文窗口
            • textbox "上下文窗口 1":
              • /placeholder: 256K
            • text: 最大输出 token 数
            • textbox "最大输出 token 数 1":
              • /placeholder: 32K
            • group "输入类型 1":
              • text: 输入类型
              • checkbox "文本" [checked]
              • text: 文本
              • checkbox "图片" [checked]
              • text: 图片
            • button "添加模型"
        • button "取消"
        • button "保存"
    • button "添加模型提供商"