本文面向第一次使用 WorkBuddy、第一次配置自定义模型,或者需要通过 AI Gateway 使用第三方模型的用户。
完成本文后,你将能够:
- 安装并启动 WorkBuddy;
- 安全输入 AI Gateway 的 Base URL 和 API Key;
- 查询自己的 API Key 可以看到的模型;
- 判断模型是否具有 WorkBuddy 所需的 OpenAI Chat Completions 路由;
- 在 WorkBuddy 图形界面添加和选择自定义模型;
- 用标准
和 WorkBuddy 实际消息确认连接;curl - 判断 Claude、多协议模型和“自定义协议”开关的适用边界;
- 根据错误信息排查网络、认证、模型路由或本地配置问题。
本文以 macOS、WorkBuddy 5.3.14 为例。示例 AI Gateway Base URL:
本文的标准 OpenAI 配置路径已按 WorkBuddy 5.3.14 完成实际验证。版本号不同不一定有问题;如果按钮名称、配置路径或 CLI 参数不同,请优先使用 WorkBuddy 图形界面,并参考第 18 节的官方资料。
如果你的 AI Gateway 地址不同,只需要替换 Base URL。不要把真实 API Key 发到聊天、工单、截图、Git 仓库或公开网页。
模型目录由 AI Gateway 和 API Key 的权限共同决定,可能随租户权限、路由配置和上游状态变化。本文不限定模型数量,也不把示例模型当作完整目录;配置时请以你自己的 API Key 实时查询结果为准。
先看结论:模型厂商和请求协议是两件事
同一个模型名称能否使用,取决于三个条件:模型是否对 API Key 可见、AI Gateway 是否为该协议提供路由、WorkBuddy 是否能发送和解析该协议。模型名称前的厂商前缀不会自动切换协议。
| 模型或厂商类型 | 常见协议形态 | WorkBuddy 自定义模型的处理方式 |
|---|---|---|
| OpenAI 系列模型 | OpenAI Chat Completions;部分服务同时提供 OpenAI Responses | 使用 Base URL 到 ,关闭自定义协议,WorkBuddy 请求 |
| Anthropic Claude 系列 | Anthropic Messages,通常使用 、 和 | 当前 WorkBuddy 自定义模型不能直接切换到 Anthropic Messages;不能仅靠修改模型 ID 或 URL 解决 |
| DeepSeek、Qwen 等兼容多个协议的模型 | 由 AI Gateway 的路由决定,可能同时出现在 OpenAI 和 Anthropic 目录 | WorkBuddy 仍只使用 OpenAI Chat;应查询 OpenAI 目录并用 验证 |
| Gemini、Grok、Mistral、Meta 等系列 | 以 AI Gateway 实际提供的兼容协议为准 | 只有 OpenAI Chat 请求和响应格式与 WorkBuddy 一致时,才能按本指南配置 |
| GLM、Kimi、MiniMax 及其他系列 | 可能是 WorkBuddy 内置模型,也可能由 AI Gateway 作为自定义模型提供 | 通过 AI Gateway 配置时仍须查询 OpenAI 目录并测试 ;内置模型不使用本指南配置 |
请把“模型目录可见”“协议请求成功”和“WorkBuddy 使用成功”理解为三个不同结果:目录用于找到模型 ID,协议请求用于确认网关路由,WorkBuddy 实际对话用于完成最终验收。本文后续步骤会按这个顺序执行。
最重要的规则是:
WorkBuddy 自定义模型的基础连接使用 OpenAI Chat Completions。即使模型同时支持 OpenAI Responses 或 Anthropic Messages,WorkBuddy 也不会根据模型名称自动切换协议。
0. 完整操作路线
第一次配置时,请按以下顺序操作:
0.1 第一次使用:只完成这五个检查点
如果你的目标是尽快完成第一次对话,不需要先读完全文。请按下表依次操作;只有当前一项成功后,才进入下一项。
| 检查点 | 在哪里操作 | 需要做什么 | 正常结果 | 下一步 |
|---|---|---|---|---|
| 1. 确认客户端 | macOS Terminal | 按第 2.1 节检查 WorkBuddy | 返回应用名称和版本号 | 进入第 4.1 节 |
| 2. 获取模型 ID | macOS Terminal | 按第 4.1、4.2 节输入 API Key 并查询 OpenAI | HTTP 200,并逐行显示模型 ID | 原样复制一个目标模型 ID |
| 3. 验证模型 | 同一个 Terminal | 按第 5.2 节请求 | HTTP 200,并显示 | 进入 WorkBuddy 设置 |
| 4. 保存模型 | WorkBuddy 图形界面 | 按第 6.2 节填写 Base URL、API Key 和模型 ID | 自定义模型出现在模型列表 | 选择刚保存的模型 |
| 5. 完成验收 | WorkBuddy 对话或任务页面 | 按第 7.3 节发送最小测试消息 | 页面返回 | 基础文本对话配置完成 |
首次配置只使用下面这一组设置:
| 字段 | 首次配置填写值 |
|---|---|
| Base URL | |
| API Key | 你自己的 AI Gateway API Key |
| 模型 ID | 从 OpenAI 返回结果中原样复制 |
| 自定义协议 / Use Custom Protocol | 关闭 |
| 工具调用 | 关闭 |
| 图片输入 | 关闭 |
| 推理模式 | 关闭 |
不要在第一次配置时填写
/messages、打开“自定义协议”,或者同时测试工具调用和图片。先让基础文本对话成功,再根据第 11、12 节确认其他协议和高级能力。
如果任一检查点失败,请停止在当前检查点,并根据返回的 HTTP 状态码查看第 13 节。反复重装 WorkBuddy 通常不能解决 API Key、模型 ID、协议或上游路由问题。
真正成功必须同时满足:
- OpenAI 协议的模型目录能看到目标模型;
- 标准
curl 返回 HTTP 200;/chat/completions - curl 响应中有实际最终文本;
- WorkBuddy 选择该自定义模型后能返回实际文本。
只看到模型名称、只保存配置、只出现自定义模型选项,都不能直接说明模型已经可用。完成第 7 步后,已经具备基础文本对话能力;工具调用、图片输入、推理模式和其他高级能力的适用范围见第 12 节。
1. 准备信息
1.1 Base URL
Base URL 是 AI Gateway 的接口根地址。本示例使用:
这个地址已经包含
/v1。不要写成:
WorkBuddy 标准 OpenAI 模式会在 Base URL 后自动补
/chat/completions,最终请求地址是:
1.2 API Key
请到 AI Gateway 后台创建 API Key,并确认:
- API Key 没有过期;
- API Key 有模型调用权限;
- API Key 与 Base URL 属于同一个环境;
- 复制时没有多余空格或换行;
- 不与其他用户、项目或生产环境共用同一枚 API Key。
本文统一使用“API Key”这个名称。即使某个界面仍显示 Token,也应把 AI Gateway 提供的 API Key 填入对应密钥输入框。
1.3 模型 ID
模型 ID 是 AI Gateway 识别模型的完整字符串,常见格式是:
本文后续使用
YOUR_MODEL_ID 表示你要配置的模型。它是占位符,不能直接提交;实际操作时必须替换成你的 OpenAI 目录返回的完整模型 ID。
模型 ID 必须从实时目录原样复制。下面两个示例写法不是同一个模型:
1.4 在哪里操作
本文有两类操作位置:
| 操作 | 在哪里完成 |
|---|---|
| 检查安装、查询模型、curl 测试、CLI 测试 | macOS Terminal |
| 添加模型、选择模型、发送消息 | WorkBuddy 图形界面 |
打开 Terminal:按
Command + Space,输入 Terminal,按回车。
终端提示符可能类似:
不要复制提示符本身,只复制代码框中的命令。
2. 确认 WorkBuddy 已安装
2.1 检查应用和版本
在 Terminal 执行:
正常情况下会返回应用名称和已安装版本,例如:
如果显示“未找到”,请先从 WorkBuddy 官网下载安装,再重新执行本节命令。
WorkBuddy 官方要求 macOS 12 或更高版本。下载安装包前,在 Terminal 执行:
根据返回值选择安装包:
| 返回值 | 下载版本 |
|---|---|
| Mac ARM64,适用于 Apple 芯片 |
| Mac X64,适用于 Intel 芯片 |
官方安装指南:
下载
.dmg 后双击打开,把 WorkBuddy 图标拖入 Applications 文件夹,再重新执行本节检查命令。
2.2 启动 WorkBuddy
可以双击应用图标,也可以在 Terminal 执行:
WorkBuddy 正常打开后,如果界面要求登录,请先按界面提示完成登录。
2.3 可选:检查内置 CLI
WorkBuddy 应用内置
codebuddy CLI,但安装应用后不一定会自动加入 PATH。在 Terminal 执行:
返回版本号表示 CLI 可用。CLI 不是完成图形界面配置的必需条件;找不到 CLI 时仍可继续第 3 节。
2.4 是否需要 VPN
是否需要 VPN 取决于所在网络。先完成第 4.1 节,再执行第 4.2 节的目录查询:能够获得 HTTP 响应,就说明请求已经到达服务端;HTTP 200 并返回模型 ID 时不需要 VPN。
如果出现连接超时、域名无法解析或 TLS 连接失败,应依次检查:
- 浏览器能否访问互联网;
- 企业网络是否限制外部 HTTPS;
- DNS、系统代理或防火墙设置;
- 组织是否要求使用指定的 VPN 或代理。
只有网络连接失败时才需要考虑 VPN;HTTP 400、401、403、429 或 502 都表示请求已经到达服务端,不属于 VPN 问题。
**下一步:**先理解 WorkBuddy 的协议限制,再添加模型。
3. 配置前必须理解的限制
3.1 WorkBuddy 自定义模型使用 OpenAI Chat Completions
WorkBuddy 当前自定义模型按 OpenAI Chat Completions 格式发送请求:
请求体主要使用:
响应最终文本通常在:
3.2 “自定义协议”不等于 Anthropic 协议
WorkBuddy 中的“自定义协议/Use Custom Protocol”只控制 URL 的处理方式:
| 设置 | WorkBuddy 的行为 |
|---|---|
| 关闭,默认 | 使用标准 ,自动校验并补全路径 |
| 开启 | 直接请求你填写的完整 URL,跳过路径校验和自动补全 |
这个开关不会把请求格式从 OpenAI 切换成 Anthropic,也不会自动增加:
因此,即使打开“自定义协议”,WorkBuddy 仍不能直接调用只接受 Anthropic
/messages 格式的 Claude 接口。
3.3 模型名称不会自动切换协议
模型 ID 中的
anthropic/ 只是字符串的一部分。把带有这个前缀的模型 ID 填入 WorkBuddy,不会让 WorkBuddy 自动改用 Anthropic Messages。
下面两件事必须同时成立,模型才可能在 WorkBuddy 中使用:
- 模型能通过 OpenAI
调用;/chat/completions - WorkBuddy 使用 OpenAI 格式发送请求。
如果一个 Claude 模型只在 Anthropic
/models 目录出现,而不在 OpenAI /models 目录出现,就不能直接加入当前 WorkBuddy 自定义模型。
3.4 WorkBuddy 不会自动导入整个实时模型目录
WorkBuddy 的自定义模型列表来自本地已保存配置,不是 AI Gateway
/models 的自动镜像。
例如,AI Gateway 的 OpenAI 目录可能返回多个模型,但如果 WorkBuddy 只保存了一个自定义模型,下拉框通常只显示这一条自定义模型。
要显示更多模型,需要在 WorkBuddy 中逐个添加,或者通过正确的本地配置文件维护多个模型。
3.5 内置模型和自定义模型不是同一套来源
WorkBuddy 自带的 Hy、GLM、Kimi、DeepSeek 等模型由 WorkBuddy 产品侧提供;通过 AI Gateway 添加的模型属于“自定义模型”。
内置模型成功不代表 AI Gateway 配置成功;自定义模型失败也不代表 WorkBuddy 内置服务故障。
**下一步:**查询 AI Gateway 在 OpenAI 协议下实时提供的模型。
4. 获取实时模型目录
4.1 在当前 Terminal 安全输入连接信息
本节命令使用
jq 读取 JSON。先检查它是否已安装:
如果输出“未找到 jq”,且电脑已安装 Homebrew,在 Terminal 执行:
安装完成后重新执行上面的检查。Homebrew 下载失败属于本机网络或软件源问题,不代表 AI Gateway 或模型不可用;此时可先切换网络,必要时使用企业允许的 VPN/代理,再重试安装。
在 Terminal 执行:
输入时没有任何字符出现是正常的。粘贴 API Key 后按回车。
只检查变量是否存在,不显示 API Key:
正常返回:
不要执行:
4.2 查询 OpenAI 视图
WorkBuddy 使用 OpenAI Chat Completions,因此这是必须查询的目录。在同一个 Terminal 执行:
返回含义:
| 返回 | 含义 | 下一步 |
|---|---|---|
| HTTP 200 | 网络和 Bearer 认证正常 | 继续读取模型目录 |
| HTTP 401 | API Key 缺失、错误或失效 | 重新输入 API Key |
| HTTP 403 | API Key 被拒绝或权限不足 | 检查账号、租户和模型权限 |
| HTTP 404 | Base URL 或 路径错误 | 检查地址,避免重复 |
| HTTP 429 | 额度、并发或限流 | 等待后重试,或检查额度 |
| HTTP 5xx | AI Gateway 或上游暂时异常 | 稍后重试并保存脱敏错误 |
| HTTP 000、DNS 或连接超时 | 请求没有正常到达 AI Gateway | 检查网络、代理、防火墙或 VPN |
HTTP 200 后执行:
如果不是 HTTP 200,查看脱敏错误内容:
正常情况下,每行显示一个模型 ID,例如:
实际数量和名称由当前 API Key 决定。请从返回结果中原样复制准备使用的模型 ID,不要删除厂商前缀,也不要修改点号、连字符或版本号。目录返回成功只说明该模型 ID 对当前 API Key 可见,还需要通过第 5 节验证实际调用。
如果已经收到 200、401、403、404、429 或 5xx,说明域名能够访问,通常不是 VPN 问题。只有域名解析失败、连接超时或网络策略拦截时,才需要检查代理或 VPN。
4.3 仅在排查 Claude 或多协议模型时:查询 Anthropic 视图
这一步不是配置 WorkBuddy 的必需步骤。第一次配置、只使用 OpenAI Chat 模型,或者第 5.2 节已经成功时,请跳过本节。只有需要排查 Claude 或同时支持多个协议的模型时,才使用本节检查 Anthropic 客户端可以看到哪些模型,以及为什么它可能与 WorkBuddy 的列表不同。
在同一个 Terminal 执行:
HTTP 200 后执行:
如果返回了 Claude、DeepSeek、Qwen 或其他模型,只能说明这些模型在 Anthropic 协议视图中可见。它们是否也能用于 WorkBuddy,仍要回到第 4.2 节的 OpenAI 目录,并通过 OpenAI Chat Completions 测试。
4.4 为什么同一个 /models
返回不同列表
/modelsAI Gateway 会根据认证头和协议视图返回不同模型:
因此,同一个
/models 地址可能返回不同列表。这不是目录漏数据,而是认证头选择了不同的协议视图。模型可能只出现在一个视图,也可能同时出现在两个视图;不要把两个列表合并后全部添加到 WorkBuddy。
4.5 继续使用当前 Terminal
第 5 节还会使用
WORKBUDDY_BASE_URL 和 WORKBUDDY_API_KEY。请不要关闭当前 Terminal,也不要清除变量。完成第 5 节后再统一清理。
**下一步:**从 OpenAI 目录复制目标模型 ID,用标准 curl 验证实际调用。
5. 用标准 curl 验证目标模型
5.1 为什么必须先 curl
curl 可以把问题分成两类:
如果 curl 失败,不要先反复删除和重装 WorkBuddy。
5.2 测试 OpenAI Chat Completions
如果已经清除了 Terminal 变量,请重新执行第 4.1 节,不要只重新输入 API Key 而遗漏 Base URL。
先输入准备配置的模型 ID:
模型 ID 必须来自第 4.2 节的 OpenAI 目录。然后执行:
提取最终文字或错误信息:
成功时应看到:
只有 HTTP 200 和最终文字同时出现,才能继续配置 WorkBuddy。HTTP 200 但没有最终文字时,按照第 5.6 节处理。
5.3 厂商、模型与协议的关系
AI Gateway 可以为不同厂商模型提供不同协议入口。厂商名称说明模型来源,协议决定请求和响应格式;两者不是一回事。
| 模型或厂商类型 | AI Gateway 可能提供的协议 | 在 WorkBuddy 中如何判断 |
|---|---|---|
| OpenAI 系列 | OpenAI Chat Completions;也可能提供 OpenAI Responses | 必须出现在 OpenAI 目录,并通过 ;Responses 成功不能代替 Chat 成功 |
| Anthropic Claude 系列 | 通常使用 Anthropic Messages;AI Gateway 也可能提供单独的 OpenAI 兼容映射 | 只有映射后的模型 ID 出现在 OpenAI 目录,并且通过 时才能使用;仅在 Anthropic 目录可见时不能直接添加 |
| DeepSeek 系列 | 可能提供 OpenAI Chat,也可能同时提供 Anthropic 兼容入口 | WorkBuddy 只使用 OpenAI Chat,因此以 OpenAI 目录和 结果为准 |
| Qwen 系列 | 可能提供 OpenAI Chat,也可能同时提供 Anthropic 兼容入口 | WorkBuddy 只使用 OpenAI Chat,因此以 OpenAI 目录和 结果为准 |
| Gemini、Grok、Mistral、Meta 等系列 | 由 AI Gateway 的协议适配和租户路由决定 | 不根据厂商名称判断;必须完成 OpenAI 目录、Chat curl 和 WorkBuddy 实际对话三步验证 |
| GLM、Kimi、MiniMax 及其他系列 | 可能由 WorkBuddy 内置提供,也可能由 AI Gateway 提供 OpenAI 兼容路由 | 使用自定义模型时必须完成 OpenAI 目录、Chat curl 和 WorkBuddy 实际对话三步验证 |
这里的“可能提供”表示 AI Gateway 可以按不同方式暴露模型,不表示每一枚 API Key 都拥有相同协议和模型。最终结果始终以实时目录和标准请求为准。
5.4 WorkBuddy 使用哪些协议
| 协议 | 常见端点 | WorkBuddy 自定义模型是否使用 | 说明 |
|---|---|---|---|
| OpenAI Chat Completions | | 是 | 本指南的配置和验收协议 |
| OpenAI Responses | | 否 | 即使模型通过 Responses,也不能说明 WorkBuddy 可以使用 |
| Anthropic Messages | | 否 | 当前“自定义协议”开关不会把请求体和响应解析切换为 Anthropic 格式 |
因此,为 WorkBuddy 选模型时只需要遵循这条判断路径:
5.5 仅在排查 Claude 或多协议模型时:验证 Anthropic Messages
这一步只用于确认 AI Gateway 的 Anthropic 路由,不用于配置 WorkBuddy。第一次配置 WorkBuddy 时请跳过本节;只有需要判断某个 Claude、DeepSeek、Qwen 或其他模型是否同时具有 Anthropic Messages 路由时才执行。
先输入 Anthropic 目录中原样复制的模型 ID:
然后执行:
提取最终文字或错误信息:
成功时应看到 HTTP 200 和
Anthropic连接成功。
5.6 HTTP 200 但没有最终文本
Qwen、DeepSeek 或其他推理模型可能先输出思考内容。
max_tokens 太小时,响应可能有推理字段但没有最终 content。
排查时建议:
5.7 完成测试后清除敏感变量
**下一步:**至少确认一个目标模型 curl 成功后,再进入 WorkBuddy 图形界面保存配置。
6. 在 WorkBuddy 图形界面添加模型
6.1 打开模型设置
在 WorkBuddy 图形界面操作:
不同版本的按钮位置或中文名称可能略有差异,但核心字段都是 URL、API Key 和模型名/模型 ID。
进入正确页面后,应当能看到与下面含义相同的字段。字段顺序可能不同,不要求界面与示意完全一致:
如果当前页面没有 URL、API Key 或模型 ID 字段,说明还没有进入“自定义 API/Custom”模型配置页面,请返回上一层重新选择。
6.2 首次配置和日常使用:标准 OpenAI 模式
这是本文已完成实际验证的配置方式,也是首次配置时唯一需要执行的方式。
填写:
| 字段 | 示例值 |
|---|---|
| 提供商 | 自定义 API / Custom |
| URL 或 Base URL | |
| API Key | 你自己的 AI Gateway API Key |
| 模型 ID 或模型名 | 从第 4.2 节 OpenAI 目录原样复制,不要填写 占位符 |
| 自定义协议 | 关闭 |
| 工具调用 | 仅在模型和网关完成工具调用测试后开启 |
| 图片输入 | 未验证时关闭 |
| 推理模式 | 未验证时关闭 |
首次保存时,工具调用、图片输入和推理模式全部保持关闭。基础文本对话成功并不代表这些高级能力已经可用;开启条件见第 12 节。
标准模式下,WorkBuddy 会自动请求:
6.3 备用:界面明确要求完整 API URL 时
如果第 6.2 节已经可以保存并正常对话,请跳过本节,不要更改为完整 URL 模式。
只有当前 WorkBuddy 界面明确要求“完整 API URL”,或者标准模式的错误日志明确显示 WorkBuddy 没有补全
/chat/completions 时,才填写:
同时打开“自定义协议/Use Custom Protocol”,让 WorkBuddy 直接请求这个完整地址。
这里的“自定义协议”只是让 WorkBuddy 直接使用完整 URL,不会把请求转换为 Anthropic Messages,也不能用于填写
/messages。Claude 和多协议模型的判断方式见第 11 节。
两种模式只能选择一种:
| 模式 | URL | 自定义协议 |
|---|---|---|
| 推荐标准模式 | | 关闭 |
| 备用完整 URL 模式 | | 开启 |
不要配置成:
6.4 保存配置
点击“保存”“添加”或“确认”。保存后等待几秒。
正常现象:
- 自定义模型出现在模型列表;
- 模型名称显示为你刚才填写的完整模型 ID;
- 可以在对话模型下拉框中选中;
- API Key 输入框可能只显示圆点或星号。
保存成功只表示本地配置已写入,仍要进行第 7 节实际对话测试。
6.5 为什么只出现一个自定义模型
WorkBuddy 不会根据
/models 自动导入全部模型。如果只添加一个模型,下拉框就只显示这一条自定义模型。
需要更多模型时,对第 4.2 节 OpenAI 目录中的目标模型逐个执行第 5.2 节 curl。只有返回 HTTP 200 和最终文本的模型,才继续重复第 6 节添加步骤。目录中的模型数量、名称和可用状态可能随 API Key 变化,因此不要直接复制其他用户的模型列表。
**下一步:**在 WorkBuddy 中选中自定义模型并发送第一条消息。
7. 在 WorkBuddy 中实际使用模型
7.1 打开一个项目
部分 WorkBuddy Agent 功能需要先打开项目文件夹。如果没有现成项目,可以选择一个空文件夹。
如果界面提示“请先打开文件夹”或类似内容,这不是模型调用失败。
7.2 选择自定义模型
在对话或任务界面的模型下拉框中,找到“自定义模型”分组,选择:
这里要选择第 6 节实际保存的模型 ID;如果界面真的显示字面值
YOUR_MODEL_ID,说明配置时没有替换占位符,需要返回第 6 节修正。
不要选择同名的内置 Auto 模式来代替自定义模型测试。
7.3 发送最小测试消息
输入:
正常返回:
7.4 如何判断成功
成功必须同时满足:
- 当前选中的确是自定义模型;
- 没有自动回退到 WorkBuddy 内置模型;
- 界面返回实际文本;
- 没有显示 400、401、502 或模型不存在错误。
如果第一次返回 502,可以短重试 2 至 3 次;如果之后成功,应记录为“存在波动”,不能记录为“稳定成功”。
**下一步:**需要进一步排除界面因素时,使用第 8 节 WorkBuddy CLI 验证。
8. 可选:用 WorkBuddy CLI 进一步验证
8.1 CLI 使用的是同一份自定义模型配置
WorkBuddy CLI 可以直接选择图形界面保存的自定义模型。CLI 中需要给自定义模型 ID 增加
custom-local: 前缀。
图形界面模型 ID:
CLI 模型 ID:
custom-local: 是 WorkBuddy 本地选择器前缀,不是 AI Gateway 的模型 ID。WorkBuddy 发给 AI Gateway 的请求体仍使用你保存的原始模型 ID。
8.2 检查 CLI 是否识别模型
在 Terminal 执行:
如果输出中包含类似下面的条目,说明 CLI 已经识别到自定义模型:
部分版本的
--help 输出可能存在缓存。没有出现时不要仅凭这一项判定配置失败,可以继续执行第 8.3 节;只有实际请求提示模型不存在时,才返回第 6 节检查保存状态,并按照第 9.8 节重新加载 WorkBuddy。
8.3 发送最小 CLI 请求
先输入图形界面中已经保存的完整模型 ID:
然后在同一个 Terminal 执行:
参数含义:
| 参数 | 作用 |
|---|---|
| 非交互执行一次请求并打印结果 |
| 选择本地自定义模型 |
| 关闭工具调用,只验证文本模型 |
| 只输出文本 |
| 限制为最小对话轮次 |
| 不保存这次测试会话 |
正常返回:
8.4 如何理解 CLI 结果
| CLI 结果 | 含义 | 下一步 |
|---|---|---|
返回 | WorkBuddy 已加载该配置,并完成一次文本调用 | 可以开始正常使用;其他能力仍需单独验证 |
| 提示模型不存在 | CLI 没有加载到对应自定义模型,或缺少 前缀 | 返回第 6 节和第 8.2 节检查模型 ID 与配置加载 |
| 返回 401 或 403 | API Key 无效、过期或权限不足 | 重新获取 API Key,并在 WorkBuddy 中更新 |
| 返回 400 或模型路由错误 | 模型 ID、协议或 URL 不匹配 | 重新执行第 4.2 和 5.2 节 |
| 返回 502 | AI Gateway 已收到请求,但上游调用失败 | 间隔数秒重试;持续失败时联系 AI Gateway 支持 |
8.5 curl 成功但 CLI 失败
按顺序检查:
- CLI 是否选中
开头的正确模型;custom-local: - WorkBuddy 本地 URL 是否正确;
- WorkBuddy 是否读取了最新配置;
- 是否为瞬时 502;
- 图形界面和 CLI 是否使用同一个 WorkBuddy 数据目录;
- 是否错误地把 Anthropic 模型加入 OpenAI 自定义配置。
9. 高级排查:本地配置文件说明
9.1 优先使用图形界面
WorkBuddy 官方已经支持在设置页添加、编辑和删除自定义模型。图形界面会自动保存 API Key、URL 和能力标记。
9.2 为什么会看到两个配置路径
不同 WorkBuddy/CodeBuddy 版本和产品形态可能使用不同位置:
部分 WorkBuddy 桌面版本使用:
官方 CodeBuddy
models.json 文档还说明了:
不要只根据网上示例猜路径,应先检查当前电脑实际存在的文件。图形界面能够正常保存和使用模型时,不需要手动修改这些文件。
9.3 安全查看配置,不显示 API Key
在 Terminal 执行:
正常返回只应显示:
不要直接执行
cat ~/.workbuddy/models.json,因为文件中可能保存真实 API Key。
9.4 修改前备份
在 Terminal 执行。命令只会备份当前实际存在的文件:
列出最近备份:
9.5 WorkBuddy 顶层数组格式示例
如果现有
~/.workbuddy/models.json 的第一个字符是 [,它使用顶层数组格式。标准 OpenAI 模式示例:
其中:
填到url
;/v1
为useCustomProtocol
;false- WorkBuddy 自动补
;/chat/completions
等字段只是客户端能力声明,不是自动检测结果;supportsToolCall- 未完成能力测试时应设置为
。false
如果电脑上已经有能正常使用的
models.json,不要把上面的示例整段覆盖到原文件。先备份,再只修改目标模型的 id、name、url、apiKey 和 useCustomProtocol;原来已有的其他模型和能力字段保持不变。这样可以避免误删现有模型,或因为改变能力声明而改变当前工作方式。
手动使用示例时,必须把所有
YOUR_MODEL_ID 替换为 OpenAI 目录中的完整模型 ID,并把 PASTE_YOUR_API_KEY_HERE 替换为自己的 API Key。保留占位符会导致模型不存在或认证失败。
9.6 完整 URL 的数组格式
如果必须直接使用完整 URL:
9.7 不要混用两种 JSON 结构
CodeBuddy 官方文档中的另一种结构是:
这个对象格式主要对应
~/.codebuddy/models.json 文档。不要把它直接覆盖到已经使用顶层数组的 ~/.workbuddy/models.json,除非当前版本明确支持。
9.8 配置重新加载
官方文档说明模型文件支持热重载,但不同 WorkBuddy 桌面版本可能有缓存。如果保存后模型未出现:
- 等待 2 至 3 秒;
- 切换到其他设置页再返回模型页;
- 完全退出 WorkBuddy;
- 重新打开应用。
Terminal 重启方式:
9.9 限制配置文件权限
如果实际使用的是
~/.codebuddy/models.json,则执行:
10. 添加和切换多个模型
10.1 推荐在界面逐个添加
对每个模型重复第 6 节操作,使用相同 Base URL 和 API Key,只修改模型 ID。
模型 ID 必须来自你自己的 OpenAI 目录查询结果,并且每个模型都要单独通过第 5.2 节。不要从文档、截图或其他用户的配置中批量复制模型 ID,因为不同 API Key 的模型范围可能不同。
10.2 添加前先逐个探活
一个模型成功不代表同目录其他模型成功。排查多个模型时,建议为每个模型记录:
10.3 切换模型
在 WorkBuddy 对话界面的模型下拉框选择目标自定义模型,再发送最小消息。
模型切换不会自动切换协议。所有通过本指南添加的模型仍走 OpenAI Chat Completions。
11. 请求协议和配置边界
11.1 三种协议不能混用
| 项目 | OpenAI Chat Completions | OpenAI Responses | Anthropic Messages |
|---|---|---|---|
| 请求路径 | | | |
| 认证头 | | | + |
| 主要输入字段 | | | ,系统提示通常使用顶层 |
| 常用输出上限 | | | |
| 最终文字位置 | | | 中 的内容 |
| WorkBuddy 自定义模型 | 使用 | 不使用 | 不使用 |
只修改 URL 或模型名称,不能把一种协议变成另一种协议。端点、认证头、请求体、流式事件、响应结构和工具调用格式必须一起匹配。
11.2 先确认 Claude 出现在哪个协议目录
Claude 的原生接口通常使用 Anthropic Messages:
WorkBuddy 当前自定义模型使用 OpenAI Chat Completions:
因此,Claude 或其他模型能否用于 WorkBuddy,不由模型名称决定,而由它是否具有 OpenAI Chat 兼容路由决定:
| 目录和测试结果 | WorkBuddy 处理方式 |
|---|---|
只在 Anthropic 目录出现, 成功 | 不能直接添加到当前 WorkBuddy 自定义模型 |
同时在 OpenAI 目录出现,并且 成功 | 可以使用 OpenAI 目录返回的完整模型 ID 按第 6 节配置 |
在 OpenAI 目录出现,但 失败 | 暂时不要添加;先排查权限、路由或上游状态 |
11.3 为什么完整 /messages
URL 不能切换协议
/messagesWorkBuddy 的“自定义协议/Use Custom Protocol”名称容易引起误解。这个开关只决定 URL 是否由 WorkBuddy 自动补全,不会自动完成下面这些转换:
- 把 OpenAI
请求体转换为 Anthropic Messages 请求体;messages - 增加
;anthropic-version - 把 OpenAI system 消息转换为 Anthropic 顶层
;system - 把 Anthropic
响应转换为 OpenAIcontent[]
;choices[] - 转换流式事件、工具调用和工具结果。
因此不要使用下面的组合尝试开启 Anthropic 协议:
这个组合只会让 WorkBuddy 请求
/messages 地址,请求体和响应解析仍可能是 OpenAI 格式,不能保证调用成功。
11.4 在 WorkBuddy 中使用 Claude 的正确条件
如果需要在 WorkBuddy 中使用 Claude,请先确认 AI Gateway 是否提供“OpenAI Chat Completions 兼容的 Claude 映射”。确认方法与其他模型完全相同:
- 使用
查询 OpenAIAuthorization: Bearer API_KEY
;/models - 从返回结果中复制对应模型 ID;
- 使用该 ID 请求
;/chat/completions - 确认 HTTP 200 且
有最终文字;choices[0].message.content - 按第 6 节使用标准模式配置。
如果 AI Gateway 只提供 Anthropic Messages,请改用原生支持 Anthropic provider 的客户端。不要把 Anthropic 目录中的模型 ID 直接复制到 WorkBuddy。
11.5 DeepSeek、Qwen 等多协议模型
部分模型可能同时出现在 OpenAI 和 Anthropic 目录。它们在不同客户端中可以使用不同协议,但 WorkBuddy 不会根据模型名称自动选择协议。
在 WorkBuddy 中始终使用:
Anthropic 目录中的成功结果只说明该模型还可供 Anthropic 客户端使用,不会改变 WorkBuddy 的配置方式。
11.6 目录、curl 和 WorkBuddy 分别说明什么
| 你看到的结果 | 能说明什么 | 下一步 |
|---|---|---|
OpenAI 中有模型 | 当前 API Key 在 OpenAI 目录视图中可以看到模型 ID | 测试 |
| Chat curl 返回 HTTP 200 和最终文字 | AI Gateway 的该模型路由可以完成基础文本请求 | 添加到 WorkBuddy |
| WorkBuddy 模型列表中出现模型 | 本地自定义模型配置已经保存并加载 | 在对话或任务页面选择模型 |
| WorkBuddy 返回最终文字 | WorkBuddy、AI Gateway、模型和基础文本链路已经接通 | 开始使用或继续测试高级能力 |
一个阶段成功不能替代下一阶段。目录成功但 curl 失败时,应排查协议、权限或上游路由;curl 成功但 WorkBuddy 失败时,应排查 URL 模式、模型 ID 和本地配置加载。
12. WorkBuddy 能力边界
12.1 完成基础配置后可以做什么
按照第 4 至第 7 节完成验证,表示下面这条链路已经工作:
这足以确认基础文本对话可以使用,但不能自动说明工具调用、图片输入或其他高级能力也可用。
12.2 高级能力需要分别验证
| 能力 | 不能只看什么 | 开启前需要确认什么 |
|---|---|---|
| 流式输出 | 普通非流式文本成功 | AI Gateway 和模型能正确返回 OpenAI SSE,WorkBuddy 能连续显示内容 |
| 工具调用 | 模型介绍中写“支持 Agent” | 请求和响应能正确处理 、 以及工具结果回传 |
| 图片输入 | 模型名称中包含 Vision 或多模态 | WorkBuddy、AI Gateway 和模型都接受对应图片内容格式 |
| 推理模式 | 模型本身具有推理能力 | 推理字段、最终文本和 token 统计能被正确返回与解析 |
| 结构化输出 | 普通 JSON 文本成功 | 所需的 JSON Schema 或 response format 参数能够被完整转发 |
| 长上下文 | 厂商公布的最大上下文 | AI Gateway 套餐、模型路由和 WorkBuddy 都允许目标输入长度 |
| 并发与稳定性 | 单次请求成功 | 在实际并发、频率和使用时段下完成持续测试 |
12.3 能力开关只是声明
本地配置中的:
只是告诉 WorkBuddy 在界面中开放相应能力,不会自动证明 AI Gateway 和模型真正支持。
正确流程:
12.4 如何判断当前支持状态
| 状态 | 含义 |
|---|---|
| 目录可见 | 返回了模型 ID |
| 调用成功 | 某次实际请求返回 HTTP 200 和最终文本 |
| WorkBuddy 可用 | WorkBuddy 图形界面或 CLI 使用该自定义模型返回了正确文本 |
| 高级能力可用 | 目标能力已经在 WorkBuddy 中单独完成端到端验证 |
| 稳定可用 | 多次、多个时间点和实际使用负载都通过验证 |
如果某个模型只达到“目录可见”,请继续执行 curl;如果 curl 成功但 WorkBuddy 失败,请检查 WorkBuddy 配置;如果偶尔成功、偶尔 502,应先按上游波动处理,不能把单次成功当作稳定状态。
WorkBuddy 任务还可能读取项目文件、运行工具或访问连接器。模型连接成功不等于应该开放全部本机权限。启用这些能力前,请同时检查项目范围、工具权限、默认权限与安全沙箱,以及连接器中可访问的数据。
13. 常见问题排查
13.1 API Key 粘贴时没有字符
正常。第 4.1 节使用
read -s 隐藏输入内容。粘贴后按回车即可,不要通过 echo 显示 API Key。
13.2 WorkBuddy 只显示一个自定义模型
原因:WorkBuddy 显示本地已保存模型,不会自动导入
/models 全目录。
处理:返回第 6 节,逐个添加需要的模型。
13.3 看不到 Claude
原因:当前 API Key 的 Claude 可能只出现在 Anthropic 协议视图中,而 WorkBuddy 自定义模型使用 OpenAI Chat Completions。
处理:按照第 11.4 节检查 AI Gateway 是否提供 OpenAI Chat 兼容的 Claude 映射。如果没有,请使用支持 Anthropic provider 的客户端。
13.4 curl 显示 HTTP 000 或连接超时
HTTP 000 不是服务端状态码,表示 curl 没有获得 HTTP 响应。常见原因包括 DNS、TLS、代理、企业防火墙或网络不可达。
处理:
- 确认浏览器可以正常访问互联网;
- 执行
检查域名解析;nslookup cn-shanghai-alicloud-aimesh.api.clickzetta.com - 检查系统代理和企业防火墙;
- 如果组织要求使用 VPN 或代理,连接后重新测试;
- 网络恢复后重新执行第 4.2 节。
13.5 HTTP 400,路径是 /v1
/v1原因:请求没有到
/chat/completions。
处理:
- 标准模式填写 Base URL 到
,关闭自定义协议;/v1 - 完整 URL 模式填写到
,开启自定义协议。/v1/chat/completions
13.6 HTTP 404 或路径重复
检查错误信息中是否出现:
如果重复,按第 6.3 节只保留一种 URL 模式。
13.7 HTTP 401 或 403
可能原因:
- API Key 错误;
- API Key 过期;
- API Key 与 Base URL 不属于同一环境;
- API Key 没有模型权限;
- 复制时带入空格或换行。
处理:在 AI Gateway 后台轮换 API Key,重新在 WorkBuddy 中粘贴。
13.8 HTTP 400 No upstream candidates
可能原因:
- 模型 ID 写错;
- 点号写成连字符;
- 模型只存在于 Anthropic 视图;
- 当前 API Key 没有该模型权限;
- 当前协议没有上游候选。
排查顺序:
- 重新查询 OpenAI
;/models - 原样复制模型 ID;
- 用第 5 节 curl;
- 确认没有把仅在 Anthropic 目录可见的 Claude 模型直接加入 WorkBuddy;
- 联系 AI Gateway 管理员检查租户路由。
13.9 HTTP 429 Too Many Requests
表示请求频率、并发数、账户额度或上游限额受到限制。
处理:
- 降低请求频率和并发;
- 等待错误响应或响应头中指定的重试时间;
- 检查 AI Gateway 账户额度和限流策略;
- 不要立即进行高频连续重试。
13.10 HTTP 502 Upstream failed
表示 AI Gateway 已经接到请求,但上游模型调用失败。
处理:
- 间隔几秒重试 2 至 3 次;
- 换一个已验证模型;
- 记录 request ID 和检测时间;
- 联系 AI Gateway 管理员检查上游;
- curl 恢复为 HTTP 200 并返回最终文本后,再继续 WorkBuddy 配置。
13.11 HTTP 200 但没有文字
处理:
- 把
从 512 提高到 1024;仍无最终文本时再提高到 4096;max_tokens - 检查
;choices[0].message.content - 检查是否只有
;reasoning_content - 关闭工具调用后重新做纯文本测试;
- 确认响应确实是 OpenAI Chat 格式。
13.12 CLI 提示模型不存在
CLI 自定义模型必须加:
正确示例:
请把
YOUR_MODEL_ID 替换为图形界面中保存的完整模型 ID。
如果仍不存在,检查 WorkBuddy 是否已经加载本地模型配置。
13.13 保存后模型不出现
按顺序处理:
- 等待 2 至 3 秒;
- 检查模型 ID 是否为空;
- 检查 JSON 格式;
- 检查
是否过滤了该模型;availableModels - 完全退出并重开 WorkBuddy;
- 查看第 14 节日志。
13.14 没有打开项目
WorkBuddy 某些 Agent 功能需要项目上下文。先打开一个文件夹,再发送模型测试消息。
这类提示不是 AI Gateway 请求失败。
13.15 curl 成功,但 WorkBuddy 失败
说明 AI Gateway 的基础模型路由已经可用,问题更可能出在 WorkBuddy 本地配置或模型选择。按顺序检查:
- 当前选择的是“自定义模型”分组中的目标模型,不是同名内置模型;
- 标准模式的 URL 是
;https://cn-shanghai-alicloud-aimesh.api.clickzetta.com/gateway/v1 - 标准模式下“自定义协议”保持关闭;
- WorkBuddy 中的模型 ID 与 curl 使用的 ID 完全一致;
- 暂时关闭工具调用、图片和推理模式,只测试纯文本;
- 按照第 9.8 节重新加载 WorkBuddy;
- 需要进一步定位时,使用第 8 节 CLI 测试同一个模型。
13.16 配置写错后恢复
列出备份:
如果当前使用
~/.workbuddy/models.json,确认目标文件名后恢复:
如果当前使用
~/.codebuddy/models.json:
只执行与当前配置路径匹配的一条命令。不要原样输入“实际时间”,应替换为上一个命令列出的准确文件名。恢复后按照第 9.8 节重新加载 WorkBuddy。
13.17 联系客户支持前准备这些信息
如果按照本节仍无法解决,请通过官方私密支持渠道提交下面的信息。内容越完整,越容易判断问题发生在本地配置、AI Gateway 还是上游模型:
可以在 Terminal 获取版本信息:
提交前必须删除或遮盖:
- API Key、
和Authorization
的值;x-api-key - 完整
;models.json - 对话内容、项目代码、文件路径和个人信息;
- 与问题无关的完整日志。
request ID 可以帮助官方支持人员定位同一次请求,但只应通过可信的私密支持渠道提交,不要发布到公开网页、群聊或截图中。不要为了复现问题而公开、重复打印或重新发送 API Key。
14. 查看日志时保护 API Key
14.1 日志位置
优先在 WorkBuddy 图形界面中操作:
这是最不受版本和文件名变化影响的方式。
macOS 上常见的 WorkBuddy 日志位置是:
不同版本的日志文件名可能不同。查看现有日志文件:
如果目录存在,可以查看最近错误:
14.2 分享日志前先脱敏
日志可能包含:
- API Key;
- Authorization 请求头;
- 本机路径;
- 用户 ID;
- request ID;
- 对话内容;
- 第三方连接器凭据。
不要直接把完整日志上传工单或发到群聊。分享前至少删除:
15. API Key 和配置安全
15.1 API Key 保存在本地
WorkBuddy 官方说明,自定义模型的 API Key 会保存到本地模型配置文件中。因此本地账户、文件备份和日志都应按敏感数据处理。
15.2 必须遵守的安全规则
- 不把
上传 Git;models.json - 不把完整配置截图;
- 不在命令行执行
;echo "$WORKBUDDY_API_KEY" - 不在文档中填写真实 API Key;
- API Key 泄露后立即撤销和轮换;
- 不同用户、项目和环境尽量使用不同 API Key;
- 离职、设备报废或停止使用时清理本地 API Key;
- 定期检查 AI Gateway 调用量和费用。
15.3 检查文件是否被 Git 跟踪
如果在项目目录中使用项目级配置,执行:
发现含真实 API Key 的文件被跟踪时,应先从 Git 历史和远端仓库处理中删除,并立即轮换 API Key。只在最新提交中删除文件不一定能清除历史泄露。
16. 配置完成后会看到什么
16.1 模型设置页
保存成功后,自定义模型会出现在 WorkBuddy 的模型列表中。模型数量取决于你手动添加了多少条配置,不等于 AI Gateway
/models 返回的总数。
16.2 对话或任务页面
在模型选择器中选中自定义模型后,发送消息会经由以下路径处理:
16.3 费用和内容处理
自定义模型的调用额度和费用由你的 AI Gateway 账户承担。发送给自定义模型的提示词、项目上下文和附件可能被传输到所配置的 AI Gateway 及其上游模型,请在使用前确认组织的数据安全和合规要求。
16.4 成功配置不代表所有功能都已开启
基础文本对话成功后,可以正常开始使用文本任务。工具调用、图片、推理模式、长上下文等能力应按照第 12 节分别验证,再决定是否开启对应选项。
17. 完成检查清单
完成 WorkBuddy 配置前逐项确认。第一组是基础文本对话的必选项;第二组只在使用相应功能或遇到相应问题时检查。
“基础配置必选”全部完成后,表示 WorkBuddy 已经通过 AI Gateway 完成基础文本模型配置,可以开始使用。“按需检查”不适用于当前场景时可以留空,不影响基础文本对话验收。
如果只有目录查询成功,不能称为模型可用;如果 curl 成功但 WorkBuddy 失败,应优先检查 URL 模式、本地模型 ID、配置加载和 WorkBuddy 日志;如果 curl 和 WorkBuddy 都间歇性 502,应记录为上游波动。
18. 官方参考
- WorkBuddy 官网:https://www.workbuddy.cn/
- WorkBuddy Mac 安装指南:https://www.workbuddy.cn/docs/workbuddy/From-Beginner-to-Expert-Guide/Installation-Mac-Guide
- WorkBuddy 模型配置:https://www.workbuddy.cn/docs/workbuddy/From-Beginner-to-Expert-Guide/Function-Description/Model
- WorkBuddy 常见问题:https://www.workbuddy.cn/docs/workbuddy/From-Beginner-to-Expert-Guide/FAQ
- CodeBuddy
配置指南:https://www.workbuddy.cn/docs/ide/Features/modelsmodels.json
使用官方文档时仍需注意版本差异:
~/.codebuddy/models.json 与 ~/.workbuddy/models.json 可能同时存在。优先使用 WorkBuddy 图形界面;需要排查文件时,以当前版本实际生成并加载的配置为准。