知识库章节 ▾
导航
▸ 从这里开始 按角色类别
- Cursor + Gonka AI — 便宜的 LLM 用于编码
- Claude Code + Gonka AI — 终端的 LLM
- OpenClaw + Gonka AI — 可负担的 AI 代理
- OpenCode:在终端中使用自己的模型
- Continue.dev + Gonka AI — 适用于 VS Code/JetBrains 的 AI
- Cline + Gonka AI — VS Code 中的 AI 代理
- Aider + Gonka AI — 与 AI 结对编程
- LangChain + Gonka AI — 便宜的 AI 应用程序
- n8n + Gonka AI — 通过便宜的 AI 实现自动化
- Open WebUI + Gonka AI — 您的 ChatGPT
- LibreChat + Gonka AI — 开源 ChatGPT
- Hermes Agent + DeepSeek 在 Gonka 网络 — 极低成本的自主智能体
- Kilo Code + Gonka AI — VS Code 中的 AI 代理
- Roo Code + Gonka AI — VS Code 中的自主 AI 代理
- LlamaIndex + Gonka AI — 低成本的 RAG 应用程序
- PydanticAI + Gonka — 低成本的类型化 AI 代理
- Vercel AI SDK + Gonka AI — 低成本的 TypeScript AI 应用程序
- TanStack AI + Gonka — 低成本的 TypeScript AI 应用程序
- API 快速入门 — curl, Python, TypeScript
- JoinGonka Gateway - 全面概述
- 管理密钥 — Gonka 上的 SaaS
- 最便宜的AI API:2026年提供商对比
- 如何购买AI token和API密钥:2026年的3种方法
- Cursor Pro 请求限制已用尽 — 解析与廉价替代方案
- Claude Code 更便宜 — 账单解析与切换
- Cline 正在烧钱 — 为什么代理花费如此之多
- OpenClaw 成本高昂 —— 为什么 Agent 会疯狂消耗 Token 以及如何节省
- OpenRouter:廉价替代方案 — 与 JoinGonka Gateway 的对比
- 2026 年最佳编码 AI 模型:对比与定价
- GitHub Copilot 无限制低成本替代方案
- 无积分、无限制的廉价 Windsurf 替代方案
- 2026 年最便宜的 AI 代理 API
- ZCode:使用低成本 GLM 推理替代 GLM Coding Plan
- JetBrains IDE + JoinGonka Gateway — 使用自己的 endpoint 替代点数消耗
- GitHub Copilot BYOK — 使用自己的模型替代配额限制
- Zed + JoinGonka Gateway — 编辑器中的低成本推理
- Pi + JoinGonka Gateway — 基于低成本推理的终端代理
- Codex CLI:使用自己的密钥代替订阅
- DeepSeek Harness:通过 JoinGonka Gateway 连接自有提供商
- MiniMax Code:通过 Gonka 使用自备密钥运行 MiniMax 智能体
- Warp + JoinGonka Gateway — 在您端点上的终端代理
- Trae + JoinGonka Gateway — AI-IDE 中的 Gonka 网络模型
- Cherry Studio + JoinGonka Gateway — 桌面 AI 客户端
- omp (Oh My Pi) + JoinGonka Gateway:带模型角色的代理
- OpenHands + JoinGonka Gateway:专属 endpoint 上的智能体
- qwen-oauth 关闭后的 Qwen Code:通过 JoinGonka Gateway 工作
- Goose + JoinGonka Gateway:您的提供商和密钥到 keyring
- Crush + JoinGonka Gateway:基于 Gonka 网络模型的 Charm 代理
- Zoo Code + JoinGonka Gateway:从 Roo Code 迁移至 Gonka 模型
- Kimi Code CLI:通过 Gonka 使用您自己的密钥连接 Moonshot AI Agent
- Factory Droid + JoinGonka Gateway:在 Gonka 网络模型上使用 BYOK
- MiMo Code + JoinGonka Gateway:Gonka 网络模型上的 Xiaomi 代理
工具
Factory Droid + JoinGonka Gateway:在 Gonka 网络模型上使用 BYOK
Factory Droid (droid 命令) 是 Factory 公司推出的终端代码智能体。它能够分析项目、编辑文件、运行命令和测试,并能将大型工作拆解为计划。有两种模式:终端内的交互式 droid 和一次性的 droid exec——即从脚本或 CI 执行单个任务。
默认情况下,Droid 在 Factory 目录中的模型上运行,但它支持 BYOK:~/.factory/settings.json 中的 customModels 数组接受任何支持 OpenAI Chat Completions 的 Endpoint。JoinGonka Gateway 正是如此,因此连接只需一个安装命令——智能体即可在 Gonka 去中心化网络模型上运行:DeepSeek V4 Flash、GLM-5.3 Flash 和 MiniMax M2.7,价格统一——每百万输入 Token $0.0069。
需要注意一点:交互式 Droid 模式需要登录 Factory 账号,使用自己的模型也无法绕过此限制。一次性的 droid exec 在我们的测试中无需登录即可通过 BYOK 模型运行——详情见 BYOK 章节。以下命令、文件和消息已通过 2026 年 9 月 23 日的 Droid 0.225.1 经由网关的实时运行进行了核实。确认地址后,账户将获得 3M 免费 Token——足以让你亲自尝试一遍。
快速开始:安装与单条命令
第 1 步:安装 Droid。来自 Factory 官方文档的推荐方式:
# macOS and Linux
curl -fsSL https://app.factory.ai/cli | sh
# Homebrew
brew install --cask droid
# Windows (PowerShell)
irm https://app.factory.ai/cli/windows | iex
# via npm
npm install -g droid脚本会把二进制文件放到 ~/.local/bin,并提示如何将该目录加入 PATH;在 Linux 上,文档还要求安装 xdg-utils 软件包。验证方式:droid --version。
第 2 步:获取密钥。在 gate.joingonka.ai/register 注册,验证邮箱地址,然后在「API 密钥」板块创建一个以 jg- 为前缀的密钥。一个密钥、一份余额即可用于网络中的所有模型。
第 3 步:运行安装程序。
npx @joingonka/setup --tool droid安装程序会询问密钥 —— 密钥不会通过命令行参数传入,以免残留在 shell 历史记录中 —— 然后完成四件事:
- 在
~/.factory/settings.json(Windows 上为%USERPROFILE%\.factory\settings.json)的customModels数组中为网络中的每个模型写入一条记录:网关地址、提供商类型generic-chat-completion-api、明文密钥、真实的上下文窗口和响应上限;该文件权限将设为600; - 将默认模型 ——
sessionDefaultSettings.model—— 设为 DeepSeek V4 Flash,但仅当尚未选择模型,或所选模型已退出网络时才会设置。它不会覆盖 Factory 目录中的模型或他人的 BYOK 记录,而是会提示如何切换; - 保存原文件的副本,
customModels中的其他记录、其余设置和注释均保持原样;无法解析的文件不会被覆盖,而是会提示需要修正的地方; - 最后向网关发送一次实时请求,并明确告知密钥、地址和模型是否被接受。
如需指定其他默认模型,可使用 --model 参数,并支持简写 deepseek、glm 或 minimax —— 显式指定的模型总会被写入。针对 dotfiles 和服务器还有免交互模式,密钥从环境变量读取:
JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool droid --model glm --non-interactive无需重启 Droid:它会自行检测 settings.json 的更改。结尾出现 ! Could not verify right now 并伴随 429 响应,表示模型正忙,而非配置错误 —— 配置已经写入。
手动配置:settings.json 中的 customModels
安装脚本所做的每一件事,你都可以手动完成。Droid 的用户设置存放在 ~/.factory/settings.json 中;如果该文件不存在,Droid 会在首次启动时自动创建。要接入 Gonka 网络,需要 customModels 数组和一个默认模型:
{
"customModels": [
{
"model": "deepseek-ai/DeepSeek-V4-Flash-0731",
"id": "custom:deepseek-ai/DeepSeek-V4-Flash-0731",
"displayName": "DeepSeek V4 Flash (Gonka)",
"baseUrl": "https://gate.joingonka.ai/v1",
"apiKey": "jg-your-key",
"provider": "generic-chat-completion-api",
"maxOutputTokens": 32768,
"maxContextLimit": 380000,
"noImageSupport": true
},
{
"model": "zai-org/GLM-5.3-Flash",
"id": "custom:zai-org/GLM-5.3-Flash",
"displayName": "GLM 5.3 Flash (Gonka)",
"baseUrl": "https://gate.joingonka.ai/v1",
"apiKey": "jg-your-key",
"provider": "generic-chat-completion-api",
"maxOutputTokens": 8192,
"maxContextLimit": 390000,
"noImageSupport": true
},
{
"model": "MiniMaxAI/MiniMax-M2.7",
"id": "custom:MiniMaxAI/MiniMax-M2.7",
"displayName": "MiniMax M2.7 (Gonka)",
"baseUrl": "https://gate.joingonka.ai/v1",
"apiKey": "jg-your-key",
"provider": "generic-chat-completion-api",
"maxOutputTokens": 8192,
"maxContextLimit": 200000,
"noImageSupport": true
}
],
"sessionDefaultSettings": {
"model": "custom:deepseek-ai/DeepSeek-V4-Flash-0731"
}
}| 字段 | 取值 | 关键点 |
|---|---|---|
model | 网络中的模型 id | 原样随请求发出,包含厂商前缀 |
id | custom: + 模型 id | 供 -m 参数和默认模型使用的固定条目名。不填该字段时,Droid 会自行拼出名称——由 displayName 和序号组成 |
displayName | 任意标签 | 模型在 /model 列表中的显示名称 |
baseUrl | https://gate.joingonka.ai/v1 | 结尾必须是 /v1:/chat/completions 路径由 Droid 自行补上 |
apiKey | 你的 jg-… 密钥 | 直接写字面量最稳妥。写成 ${JOINGONKA_API_KEY} 这样的引用也可以,但前提是该变量必须存在于启动 Droid 的环境中,否则请求发不出去 |
provider | generic-chat-completion-api | OpenAI Chat Completions 的类型——必须完全这样写,全小写;本教程就是在该配置下验证的 |
maxOutputTokens | 32768、8192、8192 | 每个网络模型的回复上限 |
maxContextLimit | 380000、390000、200000 | 模型的上下文窗口;该字段在 Factory 设置 schema 中有说明 |
noImageSupport | true | 网络中的模型都是纯文本模型,该标志会为条目关闭图片附件功能 |
默认模型保存在 sessionDefaultSettings.model 中,通过条目的 id 引用。Factory 文档还提到文件根部的 model 键,但在我们的实测中,不带 -m 参数的 droid exec 正是从 sessionDefaultSettings 取用模型的——改值之后同样如此。
密钥以明文形式存放在文件中:请用 chmod 600 ~/.factory/settings.json 收紧文件权限,也不要把含密钥的条目挪进项目的 .factory/settings.json——这个文件通常会被提交进仓库。另外,如果 Droid 启动后文件看起来变了样,这很正常:每次保存任何设置,Droid 都会整体重写文件——重排键顺序、给条目补上 index 字段,并且不保留注释。此时 600 权限依然保留,安装脚本也能照常更新这些条目。
Droid 中的 BYOK:模型选择与 Factory 账户要求
Droid 将自己的模型与目录分开显示:根据文档,在交互模式下,/model 命令会在 Custom models 部分列出它们,而 Ctrl+N 可以在输入框中直接切换模型。在单次运行模式下,模型由 -m 标志指定,其值取自 id 字段,斜杠按原样书写:droid exec -m custom:zai-org/GLM-5.3-Flash "…"。
如果名字写错了,Droid 会返回 Invalid model,并列出它能看到的全部模型,包括以 custom:… (display name) 形式呈现的自有模型:顺便也能看到模型已经加载成功。按照 Factory 文档风格构造的名字,即由显示名称加编号组成的名字(custom:DeepSeek-V4-Flash-(Gonka)-0),在明确给出 id 时不会生效——在我们的测试中,它同样返回了 Invalid model。
哪些操作需要 Factory 账户。自有模型解决了 token 付费的问题,但并没有解决登录产品本身的问题。以下是我们未登录账户运行 Droid 0.225.1 的结果:
| 场景 | 是否需要登录 Factory | 测试中的表现 |
|---|---|---|
交互式 droid | 是 | 启动画面之后立即出现「Please login with your Factory account to continue」界面,提供 Login 和 Exit 两个选项;没有账户就过不去 |
在 BYOK 模型上运行 droid exec | 按文档说明——是,通过 FACTORY_API_KEY 密钥 | 网络的三个模型都做出了响应;JSON 输出中 factory_credits: 0,日志中有关于云端功能不可用的警告 |
| 云端功能:与网页版同步会话、连接器、套餐限额 | 是 | 对 Factory API 的请求返回 401 并被跳过——这不影响 agent 的工作 |
要在界面中使用,请注册 Factory 账户并通过浏览器登录——即 Login 选项或 /login 命令;在没有浏览器的机器上,文档建议从账户设置中获取密钥并放入 FACTORY_API_KEY 环境变量。不登录就能运行 droid exec 方便试用,但这并未被官方文档说明——不要在 CI 中依赖它。根据 Factory 的定价页面,BYOK 包含在所有个人套餐中并带有免费额度,超出额度后 BYOK 的使用按套餐条款计费;最新条款见 factory.ai/pricing。网络模型的 token 则需单独付费——从 JoinGonka 余额中扣除。
该选哪个模型。网络上所有模型价格相同,所以选择取决于行为表现。以下是在我们的 droid exec 测试中,它们处理同一任务——读取文件并找出错误——的表现:
| 模型 | 上下文 / 回复 | 在 Droid 中的表现 |
|---|---|---|
| DeepSeek V4 Flash | 380K / 32768 | 两轮对话给出正确答案。网络上最大的回复上限,因此安装程序将其设为默认。使用 --auto low 时,它还修复了文件并自行运行以验证 |
| GLM-5.3 Flash | 390K / 8192 | 两轮对话给出正确答案,约 20 秒。属于推理模型:回复上限的一部分用于推理 |
| MiniMax M2.7 | 200K / 8192 | 两轮对话给出正确答案,10-20 秒。模型的推理与回复分开返回,droid exec 的输出中只保留回复本身 |
根据 Factory 的文档,-r 标志(推理级别)不适用于 BYOK 模型。为什么默认选择 DeepSeek V4 Flash,已在模型评测中详细说明。
验证:应该发生什么
在一个空目录里放入一个 calc.py 文件,里面藏一个明显的 bug——比如长方形面积计算把边长相加而不是相乘——然后让 Droid 把它找出来:
droid exec "Read the file calc.py in the current project directory and tell me in one sentence whether it has a bug."不加任何参数时,droid exec 运行在只读模式:可以查看文件,但不能修改。Agent 会自行调用读取工具并给出实质性的回答,指出出错的那行表达式。加上 -o json 参数后,回复会以单个对象返回,方便用脚本解析(输出有删减):
{"type":"result","subtype":"success","is_error":false,"duration_ms":2239,"num_turns":2,
"result":"Yes, the file has a bug: the rectangle area is computed as the sum of the side lengths, but it should be their product (width * height). …",
"usage":{"input_tokens":19016,"output_tokens":146,"factory_credits":0,"ttft_ms":747}}factory_credits: 0 字段说明任务跑在你自己的模型上,而不是消耗 Factory 的额度。要让 agent 能修改文件,提高自主级别:droid exec --auto low "Fix the bug in calc.py and change nothing else."——在我们的测试中,DeepSeek V4 Flash 读取了文件,将加法替换为乘法,并自行运行脚本确认输出为 12。
第三项检查来自网关侧:在控制台的「使用情况」页面,这个请求会出现在「按模型」明细中,「按密钥」区块里的最后请求时间也会更新。
如果出了问题,请留意 Droid 的一个特点:在控制台里 droid exec 只会打印 Error during droid execution: Exec failed(在 JSON 中为 "result":"Exec failed"),真正的原因留在日志里。用一条命令就能把它挖出来:
grep agent_error_count ~/.factory/logs/droid-log-single.log | grep -o '"errorMessage":"[^,]*' | tail -1| 看到什么 | 意味着什么 | 该怎么做 |
|---|---|---|
401 Invalid API key | 网关没有接受密钥 | 检查模型配置里的 apiKey:要完整的密钥,不带空格。如果是 ${…} 引用——该变量必须存在于启动 Droid 所在的环境中 |
405 <html>…405 Not Allowed… | baseUrl 缺少 /v1 后缀 | 地址必须恰好是 https://gate.joingonka.ai/v1 |
400 Model "…" not found. Available: … | model 字段拼写错误,通常是缺少厂商前缀 | 从网关在报错信息里给出的列表中直接复制 id |
Invalid model: custom:… 以及模型列表 | -m 参数或默认模型指向了一个不存在的条目 | 从 Available custom models 区块里取名。网络模型不在其中——说明 Droid 没有加载配置:检查 JSON 语法 |
429 Model "…" is currently overloaded in the Gonka network (rate limit) | 该模型在当前网络中没有空闲容量 | Droid 会自行重试——我们观察到大约两分钟内尝试了五次。仍然不行就用 -m 参数换模型;网络状态见状态页面 |
402 | 余额不足 | 在「计费」页面充值;密钥本身仍然有效 |
| 「Please login with your Factory account to continue」 | 交互模式需要 Factory 账号 | 通过 Login 登录,或改用 droid exec |
| 第一个回复前长时间停顿 | 高峰期排队等待模型 | 耐心等待,或用 -m 参数换模型 |
费用是多少
代理工具消耗 token 的方式与聊天不同:对于你的每一句话,Droid 都会添加系统提示词、工具描述和工作目录快照,而且任务通常需要多轮交互。在我们的运行测试中,每一轮在你的问题发出前就已经消耗了大约 9500 个输入 token:“读取文件并查找错误”任务占用了两轮和约 1.9 万个 token,“修复并验证”则占用四轮和约 4.4 万个 token。因此,这里的 token 价格至关重要。
通过 JoinGonka Gateway,输入 token 价格为每百万 $0.0069,输出 token 价格为每百万 $0.021——所有网络模型价格一致,并从实时源更新至此页面。
| 场景 | 消耗量 | 通过 Gateway |
|---|---|---|
| 单次任务:读取、修复、验证 | 19-44K tokens | 几分钱 |
| 一天的高强度工作 | 3-7M tokens | 几美分 |
| 一个月的高强度开发 | ~150M tokens | 大约一美元 |
右侧栏的估算基于 2026 年 9 月的价格。作为参考,在 Droid 中支付模型费用的一般方式:
| 方法 | 付费模式 | 限制因素 |
|---|---|---|
| Factory 目录中的模型 | 订阅 Pro、Plus 或 Max 计划 | 5 小时、7 天和 30 天的滚动限额;超出部分使用 Droid Core 池或购买 Extra Usage |
| 使用供应商密钥的 BYOK | 按供应商价格付费 | 账单随会话长度增加;价格取决于所选模型 |
| JoinGonka Gateway (BYOK) | 按 token 付费,预充值余额 | 在后台查看消费情况,网关无订阅或配额限制;Factory 端的 BYOK 条件与使用任何自有密钥时相同 |
Droid 界面中的 /cost 命令显示会话统计信息,而 BYOK 模型的精确消费和余额可在网关后台的“使用情况”和“账单”部分查看。请为 Droid 创建单独的密钥——其流量将显示为单独的一行。
使用注意事项
自主性。在单次运行模式下,Droid 默认只读,权限由自主级别逐步放宽:--auto low——修改文件,--auto medium——再加上安装依赖、构建、测试和本地提交,--auto high——一直到 push 和部署。--skip-permissions-unsafe 参数会关闭所有检查——仅用于一次性容器。在交互模式下,Ctrl+L 切换级别,起始级别由 sessionDefaultSettings.autonomyLevel 指定;默认是 off——所有操作都需要确认。
提交签名。includeCoAuthoredByDroid 设置默认开启:Droid 会在提交信息里加上一行协作者署名。如果不需要,在 settings.json 中写入 "includeCoAuthoredByDroid": false。
会话存储在哪里。登录账号后,Droid 默认会把 CLI 会话镜像到 Factory 网页版——由 cloudSessionSync 控制。根据文档,BYOK 密钥保留在本地;如果连对话记录也要留在本机,设置 "cloudSessionSync": false。网关这边不存储提示词和回复的内容——统计里只保留用量汇总。
更新。用脚本安装的版本会自动更新;可以用 FACTORY_DROID_AUTO_UPDATE_ENABLED=false 环境变量固定版本,或用 droid update --version <version> 命令;npm 安装的构建不会自动更新。更新后,用一条 droid exec 检查网络模型是否还在。
图片。网络模型是纯文本的;需要处理截图时,请另外保留一个来自其他厂商、支持视觉的模型条目。
如果必须在不使用厂商账号的情况下工作。同样的网络模型可以接入无需登录的开源终端 agent——例如用同一个安装器加 --tool opencode 参数接入 OpenCode。
npx @joingonka/setup --tool droid 会向 ~/.factory/settings.json 的 customModels 中写入 DeepSeek V4 Flash、GLM-5.3 Flash 和 MiniMax M2.7 的配置项(provider: generic-chat-completion-api、带 /v1 的 baseUrl、jg-… 密钥、形如 custom:<model> 的显式 id),并将 DeepSeek V4 Flash 设为 sessionDefaultSettings.model。交互模式需要 Factory 账号;在 0.225.1 版本的测试中,droid exec 在 BYOK 模型上无需账号即可运行,factory_credits: 0。验证方式是 droid exec -o json 以及控制台中的「用量」板块,而 Droid 会将失败原因写入 ~/.factory/logs/droid-log-single.log,而非输出到控制台。