跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

自定义模型(BYOK)

在 settings.json 的 customModels 里接入自己的 OpenAI/Anthropic 密钥、开源模型或本地模型,字段、环境变量引用与 apiKeyHelper。

Factory 托管模型及其倍率以官方 Models 页为准。接入自定义模型就在本页。

Droid CLI 支持通过 BYOK(Bring Your Own Key)配置自定义模型:用你自己的 OpenAI 或 Anthropic Key、连接任何开源模型服务商,或在本机运行模型。你的 API Key 保留在本地,不会上传到 Factory 服务器;自定义模型在 Droid CLI 和桌面应用里可用(它们读取本地 settings.json),不会出现在 Factory 托管的网页或移动平台里。在 ~/.factory/settings.json 的 customModels 数组里添加:

{
  "customModels": [
    {
      "model": "your-model-id",
      "displayName": "My Custom Model",
      "baseUrl": "https://api.provider.com/v1",
      "apiKey": "${PROVIDER_API_KEY}",
      "provider": "generic-chat-completion-api",
      "maxOutputTokens": 16384
    }
  ]
}

字段:model(必填,通过 API 发送的模型标识);displayName(模型选择器里的名称);baseUrl(必填,API 端点基址);apiKey(可选;对 HTTP 自定义模型可省略,用于无需密钥的端点,如通过 extraHeaders 或网络层信任认证的网关;设置则不能为空,支持 ${VAR_NAME} 环境变量引用);provider(API 类型:generic-chat-completion-api 用于 OpenAI Chat Completions 兼容端点,anthropic 用于 Anthropic Messages 兼容端点,另有 OpenAI 等类型,见官方列表);maxOutputTokens;apiKeyHelper(用 shell 命令的 stdout 作为 Key,在请求时解析并按 TTL 与 401 后刷新,优先于 apiKey,仅在组织托管设置里生效,TTL 默认 5 分钟);authMode: "bearer"(仅对非 Bedrock 的 anthropic 类型有效:某些 Anthropic Messages 兼容网关要求 Authorization: Bearer 而不是默认的 x-api-key 头)。旧的 ~/.factory/config.json(snake_case 字段 custom_models、base_url 等)仍支持,与 settings.json 合并加载。组织对自定义模型、基础 URL 和服务商访问的限制见企业控制文档。