goose是什么?
goose 是一个开源、可扩展的本地 AI 代理,具有桌面和 CLI 提供程序配置。
本 goose 指南将其 Custom Providers 流程用于 OpenAI-compatible 端点。 goose 自定义提供者 JSON 记录 complete Chat Completions URL,而凭证保留在环境或其安全密钥存储中。 goose 支持多种提供程序格式,其 OpenAI-compatible 自定义提供程序架构需要 complete Chat Completions 端点,而不仅仅是 API 根。将凭证保留在共享 JSON 之外,选择具有 native tool calling 的模型,并在新会话中开始只读开发任务。
goose 官方为 Custom Provider 提供 Desktop、CLI 和配置文件三条路径。TokenHub 使用 OpenAI Compatible;在 goose 的自定义 Provider 中,API URL 按官方 JSON 结构填写完整 Chat Completions 地址 https://us-api.tokenhub.com/v1/chat/completions。
goose Desktop 的官方入口
- 点击左上角侧栏按钮。
- 进入 Settings → Models。
- 点击 Configure providers。
- 滚动到底部,点击 Add Custom Provider。
- Provider Type 选择
OpenAI Compatible。 - Display Name 填
TokenHub。 - API URL 填
https://us-api.tokenhub.com/v1/chat/completions。 - 保持 This provider requires an API key 开启,填入 TokenHub API Key。Desktop 会把 Key 放进系统 keychain;keyring 不可用时写入
secrets.yaml。 - Available Models 填用英文逗号分隔的 TokenHub Model ID。
- 开启 Streaming Support,点击 Create Provider。
Desktop 当前不能添加自定义 headers;需要额外 header 时,应创建后再编辑 Provider JSON。
goose CLI 的官方入口
运行:
goose configure随后严格按菜单选择:
- Custom Providers (Add custom provider with compatible API)。
- Add A Custom Provider。
- API Type 选择
OpenAI Compatible。 - Name 填
TokenHub,API URL 填完整 Chat Completions 地址。 - Authentication Required 选 Yes,再选 Static API key 并粘贴 TokenHub Key。
- Available Models 输入逗号分隔的准确 Model ID。
- 开启 Streaming Support;只有确实需要时才添加 Custom Headers。
CLI 还支持 Command (refreshable) 获取短期凭证,但普通 TokenHub API Key 不需要这条路径。
核对 goose 生成的 Provider 文件
macOS/Linux 文件位于 ~/.config/goose/custom_providers/;Windows 位于 %APPDATA%\Block\goose\config\custom_providers\。生成结果应与以下关键字段一致:
{
"name": "tokenhub",
"engine": "openai",
"display_name": "TokenHub",
"api_key_env": "TOKENHUB_API_KEY",
"base_url": "__API_BASE_URL__/v1/chat/completions",
"models": [
{
"name": "YOUR_TOKENHUB_MODEL_ID",
"context_limit": 128000
}
],
"supports_streaming": true,
"requires_auth": true
}手写 JSON 时才需要 api_key_env;通过 Desktop/CLI 输入的静态 Key 由 goose 安全存储。context_limit 必须替换成模型真实上限。
切换模型并让变更生效
Desktop 进入 Settings → Models → Switch models,选择 TokenHub Provider 和模型,点击 Select model。修改自定义 Provider 后,官方说明变更在下一个 goose session 生效,因此不要用旧会话判断配置失败。
新会话先执行只读代码任务,在 TokenHub 日志确认完整 /v1/chat/completions 路径。404 时核对 API URL;模型不可见时检查逗号分隔列表或 models[].name;能聊天但 Agent 不执行工具时,换用能够返回结构化 tool calls 的模型。
官方资料
推荐模型怎么选?
goose 定制提供商 FAQ
为什么goose使用完整的Chat Completions URL?
官方 goose 自定义提供程序 JSON 格式将 base_url 定义为其 OpenAI-compatible 引擎的 complete 端点。
我应该将 TokenHub API 密钥保存在哪里?
使用自定义提供程序凭据流或 TOKENHUB_API_KEY 环境变量。将值保留在共享提供程序文件之外。
任何聊天模型都可以为goose提供动力吗?
不需要。goose 代理任务需要可靠的 native tool calling,因此在使用不熟悉的模型之前,请在安全任务上验证该行为。
如何验证 goose 自定义提供商?
在新会话中选择已声明的模型,运行只读任务,并确认 Chat Completions 日志中的 Chat Completions 路径、模型 ID 和状态。
为什么聊天正常但 goose 工具调用失败?
该模型可能只产生文本。 goose 代理工作需要本机结构化工具调用,因此请切换到经过验证的支持工具的模型。
配置资料
本页配置以 TokenHub 教程和官方资料为依据,最后核验于 2026-09-08。