知识库章节 ▾
导航
▸ 从这里开始 按角色类别
- 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 代理
工具
omp (Oh My Pi) + JoinGonka Gateway:带模型角色的代理
omp (Oh My Pi) 是一个终端编码代理,是极简主义 Pi 的分支,它增加了高性能工作所需的一切:每个文件条目的语言服务器(LSP)、真实的调试器控制、隔离工作副本中的子代理、以及持久的 Python 和 JavaScript 单元。核心采用 Rust 编写,同一个二进制文件可以在 macOS、Linux 和 Windows 上运行。
omp 中的提供者以声明方式描述:任何支持 OpenAI Chat Completions 的端点只需在 ~/.omp/agent/models.yml 中添加十几行代码即可完成配置。JoinGonka Gateway 正是如此,因此连接过程简化为一条安装命令或两个简短的 YAML 文件。之后,代理即可在去中心化的 Gonka 网络模型(DeepSeek V4 Flash、GLM-5.3 Flash 和 MiniMax M2.7)上运行,价格统一:$0.0069 / 百万输入 token。
omp 与其父项目的核心区别在于 模型角色:常规动作、深度解析、规划模式和后台杂务可以分配给不同的模型,并配有备份链。以下是快速入门路径、手动配置、模型角色对应表和错误解析。命令和消息已通过 2026 年 9 月 21 日通过网关运行的 omp 18.2.8 进行核实。确认地址后,您的账户将获得 3M 免费 token,足够您亲自尝试所有功能。
快速入门:安装与单条命令
第 1 步:安装 omp。来自项目 README的官方方式:
# macOS and Linux
curl -fsSL https://omp.sh/install | sh
# Homebrew
brew install can1357/tap/omp
# via Bun (requires Bun 1.3.14 or newer)
bun install -g @oh-my-pi/pi-coding-agent
# Windows (PowerShell)
irm https://omp.sh/install.ps1 | iex第 2 步:获取密钥。在 gate.joingonka.ai/register 注册,验证邮箱地址,然后在「API 密钥」页面创建一个以 jg- 为前缀的密钥。一个密钥和一个余额即可用于网络中的所有模型。
第 3 步:运行安装程序。
npx @joingonka/setup --tool omp安装程序会询问密钥——密钥不会通过命令行参数传递,以免留在 shell 历史记录中——然后它会做四件事:
- 将提供商
joingonka写入~/.omp/agent/models.yml:网关地址、openai-completions协议、以字面量形式写入的密钥,以及网络的三个模型及其真实的上下文窗口和响应上限;该文件将获得600权限; - 将默认模型——
~/.omp/agent/config.yml中的modelRoles.default——设置为 DeepSeek V4 Flash,但仅当该角色为空或指向已从网络中下线的模型时才会这样做:它不会覆盖他人的选择,而是提示如何切换; - 写入前会备份原文件,其余提供商、角色和注释保持原样;
- 最后向网关发送一个实时请求,并明确告知密钥、地址和模型是否被接受。
如需指定其他默认模型,可使用 --model 标志,支持简写 deepseek、glm 或 minimax——显式指定的模型总是会被写入。对于 dotfiles 和服务器,还提供了无交互模式,此模式下密钥从环境变量读取:
JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool omp --model glm --non-interactive安装程序会自动识别非标准的配置位置:命名配置文件(OMP_PROFILE)和迁移后的代理目录(PI_CODING_AGENT_DIR)。它会把遗留的 models.json 迁移到 models.yml,方式与 omp 自身完全相同——原有提供商不会丢失。而如果旁边存在旧的 settings.json 却没有 config.yml,安装程序不会创建 config.yml,以免 omp 跳过其自身的设置迁移:它会要求先运行一次 omp,然后重新执行该命令。
手动配置:两个 YAML 文件
安装程序所做的一切都可以手动完成。只有两个文件,各司其职:models.yml 描述提供商和模型,config.yml 保存设置——包括哪个模型担任哪个角色。
# ~/.omp/agent/models.yml
providers:
joingonka:
baseUrl: https://gate.joingonka.ai/v1
api: openai-completions
apiKey: jg-your-key
models:
- id: deepseek-ai/DeepSeek-V4-Flash-0731
name: DeepSeek V4 Flash (Gonka)
input: [text]
contextWindow: 380000
maxTokens: 32768
reasoning: true
- id: zai-org/GLM-5.3-Flash
name: GLM-5.3 Flash (Gonka)
input: [text]
contextWindow: 390000
maxTokens: 8192
reasoning: true
- id: MiniMaxAI/MiniMax-M2.7
name: MiniMax M2.7 (Gonka)
input: [text]
contextWindow: 200000
maxTokens: 8192# ~/.omp/agent/config.yml
modelRoles:
default: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731| 字段 | 值 | 要点 |
|---|---|---|
baseUrl | https://gate.joingonka.ai/v1 | 末尾必须带 /v1:/chat/completions 路径由 omp 自行补上 |
api | openai-completions | Chat Completions 传输方式——本指南全程基于它验证 |
apiKey | 你的 jg-… 密钥 | omp 会先查找同名环境变量,找不到就把该字符串直接当作密钥。以 ! 开头的值是一条命令,其输出将作为密钥 |
contextWindow、maxTokens | 参照上方模型列表 | 不填的话 omp 会代入 128000 和 16384——与网络中的模型并不相符。智能体依据上下文窗口判断何时压缩历史记录 |
input | [text] | 网络中的模型接受文本 |
reasoning | true | 推理模型的标记:安装程序会为 DeepSeek V4 Flash 和 GLM-5.3 Flash 设置它,而 MiniMax M2.7 这一条则没有 |
直接把密钥写成字面量是最省事的做法:omp 在任何环境下都能启动,你只需用 chmod 600 ~/.omp/agent/models.yml 把文件权限收紧即可。若想把密钥放在文件之外,就在 apiKey 中填入环境变量名,例如 JOINGONKA_API_KEY,并在启动 omp 的 shell 中导出它:项目文档中描述的正是这样的密钥解析顺序。
可选字段 cost(每百万 token 的价格)仅用于在 omp 界面中估算会话成本。安装程序会写入安装时网关的实时价格;在手动配置中该字段可以省略——这个估算与你的账单无关,实际用量以账户后台显示为准。
模型选择器写作 provider/model-id。提供商名称以第一个斜杠为界切分,因此自带斜杠的网络标识符按原样书写:joingonka/deepseek-ai/DeepSeek-V4-Flash-0731。除了修改 config.yml,你也可以在界面中指定角色——在会话内使用 /model 命令,或在 omp setup 向导中设置。
模型角色:如何分配模型任务
在 omp 中,模型不是为所有任务选择一个,而是按角色选择——这就是主要的调整杠杆。内置的对话角色包括:default, smol, slow, plan, commit, task, tiny, memory, advisor 和 vision。无需全部指定:未定义的 smol 和 slow 默认使用 default 角色的模型,没有 task 角色的子代理运行在当前会话模型上,commit 和 tiny 则紧随 smol 之后。单行配置 default 即可完全正常工作。
在网络模型之间分配角色并不是为了省钱——DeepSeek V4 Flash、GLM-5.3 Flash 和 MiniMax M2.7 的价格是一样的——而是为了控制行为和容量:推理模型规划能力更强,长响应模型写作更好,而后台小任务没必要与主任务排在同一个队列中。
| 角色 | 执行内容 | 网络模型 | 原因 |
|---|---|---|---|
default | 常规代理行为:读取、编辑、命令 | DeepSeek V4 Flash | 380K 上下文和 32768 响应上限——为带工具的长会话留有余地;安装程序默认设置此项 |
smol, task, commit | 快速子任务、子代理、提交前的差异分析 | 无需设置——从 DeepSeek V4 Flash 继承 | 它们都会调用工具,在统一价格下,单独使用一个“廉价”模型并不会节省成本 |
slow | 深度分析:复杂的逻辑、根本原因查找 | GLM-5.3 Flash | 回答前先进行推理;8192 响应上限,部分用于推理过程——若文本过长,请改回 DeepSeek V4 Flash |
plan | 规划模式 | GLM-5.3 Flash | 计划是简短的文本,其中思路比篇幅更重要 |
tiny | 会话标题和业务分类——无工具的短请求 | MiniMax M2.7 | 该模型在网络中容量最大,且后台任务不会与主任务争抢槽位 |
advisor | 读取主模型每一步并插入评论的第二个模型 | GLM-5.3 Flash,可选 | 顾问与执行者不同很有帮助;通过 /advisor on 命令启用 |
vision | 图像任务 | 无需设置 | 网络模型均为文本模型:将此角色留给具备视觉模型的提供商 |
# ~/.omp/agent/config.yml
modelRoles:
default: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731
slow: joingonka/zai-org/GLM-5.3-Flash
plan: joingonka/zai-org/GLM-5.3-Flash
tiny: joingonka/MiniMaxAI/MiniMax-M2.7
retry:
fallbackChains:
default:
- joingonka/zai-org/GLM-5.3-Flashretry.fallbackChains 模块是高峰期的保险:当主模型持续返回 429 时,omp 会将剩余的任务交给链中的下一个条目,稍作停顿后再切回主模型。链的键可以是角色、具体模型或整个提供商(joingonka/*)。
对于单次运行,可以通过标志重写角色:omp --model slow 使用 slow 角色的模型启动会话,而 --smol, --slow 和 --plan 则会替换该角色本身的模型。在会话内部,Ctrl+P 可以滚动查看角色模型,/model 可以打开选择器;在“Roles”标签页中,可以指定角色及其备用模型。
你可以在角色值后附加推理级别——:low, :medium, :high。这是 omp 的语法,具体模型如何理解该级别取决于模型本身:例如,GLM-5.3 Flash 将其用作二进制开关——详情请参阅 模型概览。另一个有用的细节是:可以通过 <repo>/.omp/config.yml 文件并在其中包含相同的 modelRoles 块,为单个仓库重写角色。提供商和密钥仍保留在主目录中,因此密钥不会泄露到仓库中。
验证:应该发生的事情
首先确认 omp 能看到该服务商:
omp models joingonka返回的是一张三行表格,列出 models.yml 中的上下文窗口和输出上限,数值四舍五入到千位(输出有删减:omp 还有 thinking 和 images 两列):
joingonka (3)
model context max-out
deepseek-ai/DeepSeek-V4-Flash-0731 380K 33K
MiniMaxAI/MiniMax-M2.7 200K 8.2K
zai-org/GLM-5.3-Flash 390K 8.2K接着做一次无界面的单次运行。往一个空目录里放一个带有明显错误的文件,然后让它找出来:
omp -p "Read calc.py and tell me in one sentence whether it has a bug."智能体应当自行调用读取工具并给出实质回答——指出错误所在的那个表达式。在我们 2026 年 9 月 21 日的运行中,这一循环——请求、调用工具、返回结果、作答——被 DeepSeek V4 Flash 和 GLM-5.3 Flash 完整通过;MiniMax M2.7 的情况见下方表格最后一行。
第三项检查从网关侧进行:在控制台的「使用情况」里,该请求会出现在「按模型」细分中,而「按密钥」区块会更新最后一次请求的时间。如果那里是空的,说明 omp 走的是另一个服务商:用 omp config get modelRoles 看看各角色上挂的是什么。
如果出了问题,诊断信息通常可以直接从报错里读出来:
| 看到什么 | 意味着什么 | 怎么办 |
|---|---|---|
Bun runtime must be >= 1.3.14 | omp 是通过 Bun 安装的,而 Bun 本身太旧 | 升级 Bun(bun upgrade),或安装现成的二进制文件:curl -fsSL https://omp.sh/install | sh -s — --binary |
401 Invalid API key | 网关没有接受该密钥 | 检查 apiKey:密钥要完整,不能有空格,也不能有打错的引号。如果那里填的是变量名,该变量必须在启动 omp 的那个 shell 里已导出 |
405 Not Allowed 以及 nginx 的 HTML 页面 | baseUrl 少了后缀 | 地址必须以 /v1 结尾 |
404 Invalid URL (POST /v1/v1/chat/completions) | baseUrl 多了一截尾巴 | 只保留 https://gate.joingonka.ai/v1 —— 其余部分 omp 会自己补上 |
400 Model … not found. Available: … | 模型 id 打错了 | 网关会自行列出可用的标识符;完整列表见 GET https://gate.joingonka.ai/v1/models |
Warning: models.yml validation failed — custom providers disabled,随后是 No models matching "joingonka" | 文件未通过校验:必填字段名打错,或 YAML 损坏。此时 omp 仍会继续使用内置模型工作 | 具体原因就在警告下一行里写着;修正该字段后重新运行 omp models joingonka |
429 | 该密钥的每分钟请求限额已用尽,或模型在高峰时段容量不足 | omp 会自动以递增的间隔重试。如果拖得太久,用 /model 换个模型,或配置 retry.fallbackChains;网络状态见状态页 |
402 | 账户余额已用尽 | 在「账单」中充值;密钥本身仍然可用 |
本轮结束了,却看不到回答(-p 模式下是一行空字符串) | 2026 年 9 月 21 日在 MiniMax M2.7 上观察到:调用工具之后的轮次中,回答出现在推理块内部,omp 把它当作思考内容展示了 | 把带工具的角色交给 DeepSeek V4 Flash 或 GLM-5.3 Flash,而 MiniMax M2.7 留着处理不带工具的短任务 |
这需要多少费用
智能体工具消耗 token 的方式与聊天不同:omp 会在你的每一句话中加入系统提示词和工具描述,而且一个任务通常需要多个步骤。在我们的一次运行中,即使只启用了文件读取工具,每一步都会带来大约 3500 个输入 token;如果启用全套工具,消耗会更多。因此,token 价格在这里至关重要。
通过 JoinGonka Gateway,输入端 token 价格为 $0.0069/百万,输出端为 $0.021/百万 — 网络中所有模型的价格相同,并从实时源自动更新到此页面。
| 场景 | 消耗量 | 通过 Gateway 费用 |
|---|---|---|
| 单次任务:读取文件,查找错误 | 7K token 起 | 分钱级别 |
| 忙碌工作一天 | 3-7M token | 几分钱 |
| 忙碌开发一个月 | ~150M token | 约 1 美元 |
右侧估算基于 2026 年 9 月的价格。作为对比,以下是在 omp 中为模型付费的方式:
| 方式 | 计费模式 | 限制因素 |
|---|---|---|
订阅 coding plan(通过 /login) | 每月固定金额 | 受限于供应商的额度和限制刷新窗口 |
| 直接使用供应商 Key | 按供应商价格支付 token | 账单随会话长度增长;价格取决于所选模型 |
| JoinGonka Gateway | 按 token 支付,预付余额 | 在仪表板中可见消耗;无订阅费和月度额度限制 |
omp 状态栏显示会话成本估算。它是根据 models.yml 中的 cost 字段计算的:安装程序在安装时写入网关价格,由于网络中的美元价格会随 GNK 汇率波动,因此估算仅供参考。精确消耗和余额请查看仪表板中的“使用情况”和“账单”部分。关于为什么默认选择 DeepSeek V4 Flash,详细分析见模型综述。
工作注意事项
确认模式。默认情况下 omp 运行在 yolo 模式下:读取、写入和执行命令都由它自己批准。在自己的项目上这很方便,但在别人的代码上,这正是收紧模式或转入容器的理由:
omp config set tools.approvalMode write在 write 模式下,智能体只对执行命令请求许可;在 always-ask 模式下,写入也需要请求许可。单次运行可通过 --approval-mode 标志设置同样的行为。这是 omp 自身的属性,与模型提供商无关。
Pi 和 omp 是配置各异的近亲。一个工具的设置不会传递给另一个:它们的目录、格式和字段名各不相同。
| Pi | omp | |
|---|---|---|
| 配置目录 | ~/.pi/agent | ~/.omp/agent |
| 提供商 | models.json | models.yml |
| 默认模型 | settings.json:defaultProvider 和 defaultModel | config.yml:modelRoles.default |
| 按任务选择模型 | 会话中的 /model | modelRoles 角色与 retry.fallbackChains 链 |
| 检查 | pi --list-models | omp models joingonka |
| 安装器 | --tool pi | --tool omp |
多套环境。命名配置文件(omp --profile work 或 OMP_PROFILE 变量)会把所有设置迁移到 ~/.omp/profiles/<name>/agent——便于把工作密钥和个人密钥分开。当前智能体目录由 omp config path 打印。
如果需要在编辑器中运行智能体。omp 可以通过 ACP 协议在 Zed 内运行——同一个智能体、同一套设置,无需再次配置提供商和角色。
npx @joingonka/setup --tool omp 或两个文件即可连接到 JoinGonka Gateway:~/.omp/agent/models.yml 中的 joingonka 提供商(baseUrl 带 /v1,api: openai-completions,Key 为 jg-…,且模型有真实的 contextWindow 和 maxTokens)以及 config.yml 中的 modelRoles.default。接下来发挥 omp 的核心杠杆作用——角色:DeepSeek V4 Flash 用于常规操作,GLM-5.3 Flash 用于分析和规划,MiniMax M2.7 用于后台琐事,fallbackChains 链用于高峰时段。验证方式为 omp models joingonka 以及仪表板中的“使用情况”部分;网络中所有模型价格一致,因此角色选择是基于行为而非预算。