跳转到内容

命令行 Agent

Qwen Code

让 Qwen Code 命令行 Agent 通过 OpenAI 兼容协议使用 NoviaHub 的模型。

Qwen Code 是一款开源的 AI 编程 Agent,官方介绍是「面向终端、编辑器、桌面、浏览器和聊天的开源 AI 编程 Agent」。它支持 OpenAI、Anthropic、Gemini 和 Qwen 多种 API 协议。本页用它的 OpenAI 兼容协议接入 NoviaHub。

  • 有一个 NoviaHub 账户,并且已经创建了 API 密钥,见 API 密钥。
  • 账户里有余额,见 钱包与充值。
终端窗口
curl -fsSL https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen-standalone.sh | bash

安装完成后请重新打开终端,让环境变量生效。

  1. 把密钥保存到环境变量 NOVIAHUB_API_KEY。

    终端窗口
    # macOS 默认用 zsh;Linux 用 bash 的话把 ~/.zshrc 换成 ~/.bashrc
    echo 'export NOVIAHUB_API_KEY="sk-..."' >> ~/.zshrc
    source ~/.zshrc
  2. 编辑配置文件 ~/.qwen/settings.json(没有就新建),写入:

    ~/.qwen/settings.json
    {
    "modelProviders": {
    "openai": [
    {
    "id": "deepseek-v4-flash",
    "name": "deepseek-v4-flash",
    "baseUrl": "https://noviahub.com/v1",
    "envKey": "NOVIAHUB_API_KEY"
    }
    ]
    },
    "security": {
    "auth": {
    "selectedType": "openai"
    }
    },
    "model": {
    "name": "deepseek-v4-flash"
    }
    }
    配置项 作用
    modelProviders.openai 使用 OpenAI 兼容协议的模型列表,每个模型一项。
    id 模型 ID,必须和 NoviaHub 上的模型 ID 完全一致。
    name 在 /model 选择器里显示的名字,不填时等于 id。
    baseUrl 接口地址,填到 /v1 为止:https://noviahub.com/v1。不要填成 .../v1/chat/completions,Qwen Code 会自己拼上请求路径。
    envKey 存放密钥的环境变量名。
    security.auth.selectedType 启动时使用哪种协议,这里是 openai。有了它就不用每次在 /auth 里手动选择。
    model.name 启动时默认使用的模型,必须是上面某一项的 id。

    如果 settings.json 里已经有别的内容,把上面的字段合并进去即可,不要出现两个同名的顶层字段。

  3. 运行 qwen 启动。配置正确时不需要再走 /auth 的交互设置。

不想写配置文件时,也可以只设置下面三个环境变量。官方说明:只靠环境变量选择 OpenAI 兼容方式时,必须设置 OPENAI_API_KEY。

终端窗口
export OPENAI_API_KEY="sk-..." # 你的 NoviaHub 密钥
export OPENAI_BASE_URL="https://noviahub.com/v1"
export OPENAI_MODEL="deepseek-v4-flash"
qwen
  1. 在 Qwen Code 里运行 /doctor,检查当前的认证状态。

  2. 发送一句简单的话,例如「用一句话介绍你自己」。收到回复,说明配置成功。

  3. 到 NoviaHub 控制台的 使用日志 查看这次调用和费用。

  • 添加模型:在 modelProviders.openai 里再加一项(至少要有 id),baseUrl 和 envKey 照抄第一项。修改 settings.json 后,正在运行的会话会自动读取新配置,重新打开 /model 即可看到。
  • 切换模型:在会话里运行 /model 选择;或者启动时指定:qwen --model "kimi-k3"。
  • 选哪些模型:默认走 Chat Completions 接口,请选择在 模型&价格 上带有「Chat」标签的模型。2026-09-28 线上的全部模型都带有这个标签。
  • 使用 Responses 接口:给某个模型加上 "wireApi": "responses",Qwen Code 就会对它改用 Responses 接口。只有模型详情里带「Response」标签的模型(例如 gpt-6-sol)才能这样用。
  • 密钥的读取顺序(优先级从高到低):命令行参数(如 --openai-api-key)→ 终端里 export 的环境变量 → .env 文件 → settings.json 里的 env 字段。.env 文件只读找到的第一个:先从当前目录往上找 .qwen/.env、.env,都没有再找 ~/.qwen/.env、~/.env。
  • 不建议把密钥写进 settings.json 的 env 字段:那样密钥是明文保存的,官方建议优先用 .env 文件或 export。
  • 建议写在用户目录:官方建议把 modelProviders 写在用户目录的 ~/.qwen/settings.json 里,避免和项目目录下的配置冲突。

以下资料查阅于 2026-09-28: