模型
Beeuni 如何选择模型,以及托管模型和自带密钥模型的计费方式。
Beeuni 在模型上运行每个 会话。本页介绍托管模型与自带提供商密钥(BYOK)的区别、Beeuni 如何自动选择模型,以及两个需要注意的计费问题。
本页适用于已启用 LLM Gateway 的项目。LLM Gateway 是一项实验性功能标志,在平台提供该功能的地方默认开启——可在 Settings → Feature flags 中查看或切换。
关闭此标志也是完全受支持的使用方式。此时项目将使用 标准运行器 原生模型管理。该项目的每个会话都运行标准运行器harness:实验运行器 只会通过网关调用模型。
- 你的提供商 API 密钥(
ANTHROPIC_API_KEY、OPENAI_API_KEY、OPENROUTER_API_KEY等)会作为普通环境变量注入沙盒——可在模型设置页中添加,或将其设为密钥。标准运行器 会自动使用密钥连接各个提供商。 - 模型 ID 使用标准运行器原生的
provider/model引用,例如anthropic/claude-opus-4-8。关闭网关后,不存在托管模型裸 ID 和beeuni/…引用。 - 沙盒启动前后,模型选择器显示的列表相同:通过你的密钥连接的提供商,以及 OpenCode Zen 的免费模型(OpenCode 无需密钥即可连接)。思考强度是编辑器的思考控制(模型自身的变体);网关的 Generation defaults 不适用。
- 本页介绍的网关功能——托管模型、模型默认值链、预算、日志——均不适用;OpenCode 会在沙盒中解析默认模型。
托管模型和 BYOK
模型 ID 有以下三种形式:
- 托管模型——裸 ID,例如
glm-5.2、deepseek-v4-pro-0813或grok-4.6。Beeuni 提供凭据。云账户使用 Beeuni 点数付费。 - BYOK——
provider/modelID,例如anthropic/claude-opus-4-8。你提供密钥,由你的提供商账户付费。 - ChatGPT——
codex/<id>ID。你通过 OAuth 连接一次 ChatGPT 套餐,由该套餐付费。
在项目的模型设置页连接 BYOK 密钥,或直接将提供商环境变量设为密钥。
每个提供商读取自己的密钥。有些提供商在 models.dev 上共用一个环境变量,例如 OpenCode Zen(opencode)和 OpenCode Go(opencode-go)都列出 OPENCODE_API_KEY。该名称由其所属提供商保留。其他提供商使用 <PROVIDER_ID>_API_KEY:OpenCode Go 读取 OPENCODE_GO_API_KEY,Z.ai Coding Plan 读取 ZAI_CODING_PLAN_API_KEY,Moonshot China 读取 MOONSHOTAI_CN_API_KEY。因此,Zen 密钥不会列出 Go 模型。连接表单和 beeuni providers set 会使用正确的名称。
OpenCode Zen 和 Go(使用 OpenCode 登录)
使用 API 密钥连接 OpenCode Zen 或 OpenCode Go,也可以改用 OpenCode Console 账户登录:
- 打开 Customize → Models → Providers,找到 OpenCode Go。
- 选择 Sign in with OpenCode。复制代码,选择 Open auth page,然后在 OpenCode 工作区中批准此设备。
- 密钥字段会显示提供商已连接。移除密钥即可退出登录。
使用 CLI:beeuni providers login opencode-go;使用 beeuni providers login opencode 登录 Zen。Zen 模型通过 ID 使用,例如 opencode/glm-5.3-flash;它们不会显示在选择器中。Zen 和 Go 各自拥有独立的登录状态,因此登录其中一个不会连接另一个。登录有效期为 30 天,Beeuni 会在登录过期前续期。OpenCode 拒绝登录时,Beeuni 会续期一次并重试请求。如果续期也失败,请求会返回 provider_reauth_required:请重新登录。
Beeuni 托管模型
选择器会在 Beeuni 下列出这些模型及其 Token 费率。平台通过已配置的模型网关提供凭据。
| 模型 | ID |
|---|---|
| GPT-6 Astra | gpt-6-astra |
| GPT-6 Sol(平台默认) | gpt-6-sol |
其他模型可通过 BYOK 密钥或 ChatGPT 套餐使用。BYOK 密钥可使用其提供商的完整目录,例如,使用 Anthropic 密钥即可使用 anthropic/claude-opus-5-5。ChatGPT 套餐可使用 Codex 向 ChatGPT 账户提供的所有模型,例如 codex/gpt-6.1-sol。选择器默认显示每个系列中最新的模型。
两个列表都会自动更新。API 每小时读取一次 models.dev 和 Codex CLI 发布的模型列表,因此新模型列出后一小时内就会出现,无需发布 Beeuni 更新。连接提供商后,其最新的稳定工具调用模型会成为默认模型。
禁用提供商或模型
打开 Customize → Models → Providers。在 Beeuni 行中打开 ⋯ 菜单,然后选择 Disable provider,即可仅使用自己的提供商。Beeuni 会与其他提供商一起显示在同一列表中,并注明模型数量和点数计费说明。所有提供商都使用相同的菜单。只有已禁用的提供商会显示状态徽标。要恢复访问权限,请从菜单中选择 Enable provider。
打开 Models 选项卡,可启用或禁用单个模型。禁用某个提供商会阻止其所有模型,包括之后添加的模型。重新启用提供商后,单个模型的选择会保留。凭据会一直保存。
无法禁用项目默认模型及其提供商。请先选择其他已启用的默认模型。项目管理员可以更改访问权限;读取者可以查看。
这些设置适用于通过 Beeuni 网关发出的新请求,包括已保存的会话选择和回退候选项。已发送给上游的请求会正常完成。对已禁用目标的请求会返回 provider_disabled 或 model_disabled;请选择已启用的模型以继续。标准运行器 原生模式不使用此网关策略。
原有的仅影响选择器显示的偏好设置仍然独立。重置模型列表不会移除明确设置的访问限制。
思考强度
在两种模式下,编辑器的思考控制都会将会话的模型设为相应的变体。可选项是模型自身发布的等级(models.dev reasoning_options),并非固定的级别列表;没有此控制项的模型不会显示控件。Auto 会清除变体。
- 原生模式(网关关闭):标准运行器 会将该变体作为提供商自身的请求字段应用。
- 网关开启:请求会携带
reasoning_effort;网关会针对不同上游进行映射(OpenAI →reasoning_effort,Claude → 自适应思考,Amazon Bedrock 上的 OpenAI → Bedrock 的reasoning.effort请求字段)。对于暂时无法映射的上游(目前包括 Nova、Bedrock 上的 Grok),该值会被丢弃,模型按自身默认设置运行。 - Amazon Bedrock 会拒绝大多数当前模型的裸区域内 ID(“不支持按需吞吐量”)。目录中包含
global./ 区域推理配置文件 ID 时,选择器会优先使用该 ID;网关则会针对每个配置文件前缀(global.、us.)对被拒绝的裸 ID 重试一次。 - 沙盒每次启动时都会从 API 获取项目可提供的模型集合(
GET /v1/llm/models?scope=picker,与 Web 选择器使用相同的组合方式),因此选择器提供的模型在运行环境中始终可以解析。 - 每个模型的项目默认值位于 Customize → Models → Routing → Advanced → Generation defaults(
model_generation_config)。仅当请求未设置某字段时才会填入,因此会话的变体始终优先。
自动模型选择方式
不指定模型时,Beeuni 会按顺序通过以下五层来解析模型。(ID auto 对应相同的行为,但目前还不能在模型选择器中选择。)
- 显式指定——会话、频道或触发器自身的
model:字段。 - 代理针对该项目的默认模型。
- 项目的默认模型。
- 账户的默认模型。
- 平台默认模型。
Beeuni 会使用第一个存在且仍可提供服务的值。已保存的默认模型如果无法继续使用——例如密钥断开连接或模型已退役——会自动跳过。会话不会因默认值失效而中断。触发器的 model: 字段请参阅清单参考。
使用回退模型作答时,会话会说明这一点。编辑器会在模型选择器旁显示 Running on 和模型名称。每轮的详情会列出实际作答的模型、被替换的模型,以及 Beeuni 对该轮的计费。Customize → Models → Costs 会将这笔费用计入实际作答的模型。
按项目启用模型
项目可控制模型选择器提供哪些模型。默认情况下,每个系列中最新的模型都会自动提供。Beeuni 托管模型,以及项目默认设置或路由策略引用的任何模型,始终会被提供——保护规则不会将其移除。
你可以在 Manage models 页面(Customize → Models)中为单个模型覆盖默认设置。例外设置按项目保存并立即生效。会话模型选择器和命令面板会隐藏你关闭的模型;随着目录扩展,新模型仍默认开启。
启用设置决定显示哪些模型,而非哪些模型可以提供服务:明确指定已禁用模型的请求(例如通过原始 API 发出的请求)仍会运行。无法关闭项目的默认模型——请先设置其他默认模型。
提供商密钥与成员访问权限
关闭 Pooled provider secrets 后,已连接的提供商密钥适用于整个项目。针对这些项目密钥设置个人覆盖项会返回 llm_credentials_project_wide。
启用 Settings → Feature flags 中的 Pooled provider secrets 和 LLM Gateway,即可使用提供商密钥资源。打开 Customize → Models → Providers,然后在提供商旁选择 Add key。为每个密钥指定不同的标签。密钥值只允许写入;后续页面会显示其标签和访问列表。
新密钥属于当前项目。默认情况下,此项目中的所有人均可使用。打开密钥的 ⋯ → Manage access,然后选择 Specific members 来限制访问。旧版账户级资源会保留其成员授权。账户成员资格、项目权限、代理的密钥权限以及会话选择仍然适用。 成员授权允许使用密钥,但不会泄露密钥。轮换密钥会保留访问权限和会话选择。删除密钥会撤销所有人的访问权限。
为会话选择密钥
打开编辑器中的 Session overrides → Provider keys。选择提供商,然后最多选择十个密钥。在面板底部选择 Save changes。新会话会在发送第一条提示时一并提交所选密钥。
- 未明确选择时,现有项目密钥仍可使用。
- 不选择任何密钥会在当前会话中禁用该提供商,不会恢复使用项目密钥。
- Reset to project default 会移除明确的选择。
- 已撤销或未启用的密钥会显示为不可用。请将其从选择中移除、选择其他密钥,或重置选择。
- 删除最后一个已选密钥会留下一个空池。会话设置仍会显示该提供商,以便你重置选择。
- 读取失败时会显示 Try again。失败的读取结果不会显示为继承的选择。
在输出开始前遇到速率限制时,网关会尝试另一个已选密钥。网关绝不会在不同密钥间重放部分答案。如果所有密钥都受到速率限制,请在最早的冷却时间后重试,等待时间最多为 60 秒。明确指定的密钥池不会静默借用其他成员的密钥或旧版项目凭据。
ChatGPT 账户
在 ChatGPT Plus/Pro 下选择 Add account。每次授权都会在此项目中创建一个独立的命名连接。默认情况下,此项目中的所有人均可使用。使用 Manage access → Specific members 限制访问权限。
会话可以选择多个已授权的 ChatGPT 账户。未选择时,默认使用该成员最新的可用连接。使用其他成员共享的连接需要明确选择。如果成员没有自己的可用连接,旧版项目登录仍可使用。共享的网关密钥无法借用创建者的私人 ChatGPT 连接。
启用网关时,Google Gemini API 密钥会使用 Google 的 OpenAI 兼容端点。标准运行器 原生模式继续使用项目密钥。
受旧版选择器偏好设置隐藏的模型会显示 Hidden from picker。仍允许直接请求。打开该模型的菜单并选择 Disable model,即可同时阻止推理。
提供商的模型数量链接会打开 Models 选项卡。所有提供商分组都会显示在同一个列表中,可在此启用或禁用模型并设置默认值。搜索可缩小列表范围。管理模型前,请先连接提供商。
提供商选择会暂存为草稿,直到你在会话覆盖设置页脚中点击 Save changes。此操作会保存所有提供商的更改,包括重置为默认值。你可以切换分区,也可以关闭后重新打开面板,而不会丢失这些草稿。重新加载页面会丢弃未保存的更改。如果保存失败,面板会保持打开并显示错误。请修正选择或重试。已保存的提供商仍会保留已保存状态;未完成的更改会留在面板中。
预算
网关预算可限制项目或其中一位成员在每天、每周或每月的模型支出。达到限额时,Block 会拒绝新请求;Warn only 则允许请求继续运行。请在项目的 Models 页面中设置预算。
达到预算限额的 80% 和 100% 时,Beeuni 会在每个周期内针对每个阈值各发送一次邮件给账户所有者、管理员和项目经理。
在 Claude Code 中使用网关
网关在 POST /v1/messages 提供 Anthropic Messages API。Claude Code 和 Anthropic SDK 可以通过它调用任何网关模型。
- 在 Customize → Gateway 的 Gateway 选项卡中创建密钥。
- 启动 Claude Code,并将网关设为 API 端点:
ANTHROPIC_BASE_URL=https://gateway.beeuni.ai \
ANTHROPIC_AUTH_TOKEN=beeuni_gw_... \
claude --model kimi-k3
网关会从 Authorization: Bearer 或 x-api-key 读取密钥,因此 ANTHROPIC_API_KEY 也可使用。
网关会为每个提供商转换以下 Claude Code 字段:
thinking: {type: "adaptive"}与output_config.effort一起使用时会变成reasoning_effort。请参阅 思考力度。- 最终
message_delta上的用量包含input_tokens、cache_read_input_tokens和cache_creation_input_tokens。Claude Code 会使用它们进行/context和自动压缩。 - 工具返回的图像(例如屏幕截图的
Read)会在工具结果之后,通过用户消息发送给模型。 - 提供商流在完成前结束时,会返回一个
api_error事件, 因此 Claude Code 会重试该轮请求。
限制:
/v1/messages/count_tokens会返回404。随后 Claude Code 会根据字符数估算 令牌数。- 推理文本不会以
thinking块的形式返回。 - ChatGPT 模型(
codex/*)需要与 此项目中的所有人共享的 ChatGPT 连接。网关密钥无法使用私人连接。 - Claude Code 无法为每个模型单独设置上下文窗口。请将
CLAUDE_CODE_MAX_CONTEXT_TOKENS设置为你使用的最小窗口。