genmux API 现已全面开放。 查看文档 →
genmux API

博客

在 genmux 上使用 Continue(IDE 与 cn 命令行):config.yaml 与工具

2 分钟阅读作者 genmux API Team


Continue 是一个开源助手,活在 VS Code 和 JetBrains 里,自从有了 cn 命令行之后,也活在终端和脚本里。它由一个 YAML 文件配置,而那个文件就是与 genmux 的全部集成:一个指向 https://api.genmux.tech/v1 的 openai 服务商。本文讲这份配置、每个字段的作用,以及如何在脚本里以无界面方式跑同一套设置。

config.yaml

把下面这段放进 ~/.continue/config.yaml(全局),或者放进你传给命令行的某个 config.yaml:

yaml
name: genmux
version: 0.0.1
schema: v1
models:
  - name: DeepSeek V4 Flash
    provider: openai
    model: deepseek-v4-flash
    apiBase: https://api.genmux.tech/v1
    apiKey: nb_live_...
    roles: [chat, edit, apply]
    capabilities: [tool_use]

逐字段说明:

  • provider: openai——Continue 的 OpenAI 适配器。没有 genmux 专用的服务商,也不需要:对话接口讲的就是 OpenAI 方言,包括流式和工具调用。
  • apiBase——genmux 的 base URL,带上 /v1。Continue 会自己接上 /chat/completions。
  • apiKey——你的密钥。如果这份配置是共享的,文件里也可以改成引用环境变量(Continue 的语法是 apiKey: ${{ secrets.GENMUX_API_KEY }})。
  • model——七个支持工具调用的 id 之一:deepseek-v4-flash、deepseek-v4-pro、deepseek-v3、qwen3-max、qwen3-7-max、doubao-seed-2-pro、doubao-seed-2-code。
  • roles——这个模型负责哪些活(见下一节)。
  • capabilities: [tool_use]——最要紧的一行。Continue 不认识 genmux 的 id,因此无法查出某个模型是否支持工具;没有这一行,Agent 模式会退化成不带工具的对话。加上它,Continue 才会发送 tools 数组并读回 tool_calls。

给更重的模型再加一条,然后在模型选择器里切换:

yaml
  - name: DeepSeek V4 Pro
    provider: openai
    model: deepseek-v4-pro
    apiBase: https://api.genmux.tech/v1
    apiKey: nb_live_...
    roles: [chat, edit]
    capabilities: [tool_use]

角色:chat、edit、apply

Continue 把不同的活路由给不同的模型,roles 就是你指定谁干哪一件的地方:

角色Continue 用它做什么推荐
chat侧栏对话和 Agent 模式,含工具默认 deepseek-v4-flash,难题用 deepseek-v4-pro
edit行内的「编辑这段选区」(Cmd/Ctrl+I)——对一段代码的定点改写两个 V4 模型都行;Flash 快到有行内的手感
apply把对话里的一段代码合并进文件deepseek-v4-flash——这是很多次短调用,越便宜越好
autocomplete边打字边补全(fill-in-the-middle)刻意没有列出

例子里没有 autocomplete 是有原因的。Continue 的自动补全用的是针对 completions 类接口的「中间填空」提示词,而 genmux 不提供这类接口——只有 chat completions。别把对话模型放进那个角色;你想要一行代码,它会给你一段对话式的回答。

apply 值得补一句。Continue 可以用纯文本合并来应用代码块,也可以让模型来做;在 V4 Flash 这种 100 万上下文的模型上,走模型这条路很可靠,而且调用都很小。两者每百万 token 的价格:Flash 输入 $0.198 / 输出 $0.594,Pro $0.594 / $1.782。

Agent 模式以及工具调用长什么样

在 Agent 模式下,Continue 会把它内置的工具——读文件、写文件、执行终端命令、搜索,以及你添加的 MCP 工具——放进 tools 数组。genmux 为上面那七个模型模拟实现了函数调用(上游网关会丢掉 tools,所以定义被渲染进 system prompt,回复再解析回来);Continue 收到的是标准的 OpenAI tool_calls,展示确认卡片、执行工具、再把 role: tool 发回去。这套模拟有两点会在编辑器里显现出来:

  • 那些定义会计入 prompt token,每个工具约 40 个外加 schema。Continue 自带的一套不大,几百个 token;你另外加的每个 MCP 服务器都会带来自己的那份。
  • tool_choice: required 是模型可以忽略的提示。Continue 用的是 auto,在我们 20 个任务的评测里 V4 Pro 每次该调用的都调用了(20/20),Flash 是 19/20——细节见模拟函数调用那篇。

如果你还想让助手在编辑器里直接出图,就在同一个文件的 mcpServers 下加上 genmux MCP 服务器:它把 generate_image 和 estimate_cost 暴露成对话模型可以调用的工具。

无界面运行:cn -p --auto

命令行就是同一个引擎,去掉了 IDE:

bash
npm i -g @continuedev/cli
cn --config ./config.yaml                        # interactive TUI in the current repo
cn --config ./config.yaml -p --auto "add unit tests for pkg/parse and make them pass"

-p(print)跑完一条提示词就退出;--auto 不询问直接批准工具调用,这正是脚本或 CI 步骤需要的。我们每次发版都用这个组合来验证:一个临时仓库、这份配置、cn -p --auto "create hello.txt containing hi",然后断言文件存在。每次打 tag 之前,它都会在生产环境上以 deepseek-v4-flash 和 qwen3-max 跑通。

给脚本的几点实务建议:

  • 当配置文件在仓库里时,请通过环境变量传密钥,而不是写进文件。
  • --auto 会执行模型要求的一切,包括 shell 命令。请在容器或一次性检出里运行,就像你对待任何带终端工具的智能体那样。
  • 每次 cn 调用是若干次对话请求,每一次都是一个 genmux 任务;GET /v1/generations?capability=text.chat 会连同每次的费用一起列出来,这比解析命令行输出干净得多。

开始使用

一份 config.yaml,写上 provider: openai、apiBase: https://api.genmux.tech/v1 和 capabilities: [tool_use],就让 IDE 里和终端里的 Continue 通过一把 genmux 密钥用上了 DeepSeek V4 和 Qwen3。编程智能体页面有每个客户端的简版,其他智能体也各有专文——OpenCode、aider、Cline 与 Roo Code——对话接口的说明见文档。

关于作者

作者 genmux API Team — genmux API.

了解我们