Skip to content

WorkBuddy / CodeBuddy ​

WorkBuddy 是腾讯推出的桌面 AI 智能体工作台,CodeBuddy(腾讯云代码助手)的命令行版是同一团队的编程工具。两者都支持添加自定义模型,学校的大模型通过 OpenAI 兼容的 Chat Completions 接口接入。

注意:两者的配置文件位置和格式不同:WorkBuddy 使用 ~/.workbuddy/models.json(数组格式),CodeBuddy 使用 ~/.codebuddy/models.json(对象格式)。请按所用的产品阅读对应章节。

WorkBuddy ​

安装并登录 ​

安装 WorkBuddy 并登录。在 我的令牌 中创建并复制您的 API Key。

在界面中添加模型(推荐) ​

  1. 点击主界面输入框旁的模型选择器,在列表最下方选择 配置自定义模型,进入 设置 → 模型 → 自定义模型,点击 添加模型;
  2. 按下表填写:
设置项填写内容
供应商其他 → 自定义
接口地址https://chat.ecnu.edu.cn/open/api/v1/chat/completions
API Key您的 API Key
模型名称ecnu-max(或 ecnu-plus)
高级配置勾选 工具调用 和 图片输入;思考模式 和 自定义协议 不勾选
输入 / 输出448000 / 64000(ecnu-plus 为 224000 / 32000)
  1. 点击 测试连接,确认连接成功后点击 保存;
  2. 需要使用另一个模型时,重复上面的步骤添加 ecnu-plus;
  3. 回到主界面,在输入框旁的模型选择器中选择 ecnu-max 或 ecnu-plus,即可开始对话。

注意:接口地址必须写完整,以 /chat/completions 结尾,不能只写到 /v1。

编辑配置文件 ​

界面添加的模型会写入 ~/.workbuddy/models.json(Windows 为 C:\Users\<你的用户名>\.workbuddy\models.json),也可以直接编辑这个文件。文件内容是一个数组,已有内容时请把下面的两个对象追加进数组;把 your_api_key 替换为您的 API Key:

json
[
  {
    "id": "ecnu-max",
    "name": "ecnu-max",
    "vendor": "Custom",
    "url": "https://chat.ecnu.edu.cn/open/api/v1/chat/completions",
    "apiKey": "your_api_key",
    "supportsToolCall": true,
    "supportsImages": true,
    "supportsReasoning": false,
    "useCustomProtocol": false,
    "maxInputTokens": 448000,
    "maxOutputTokens": 64000
  },
  {
    "id": "ecnu-plus",
    "name": "ecnu-plus",
    "vendor": "Custom",
    "url": "https://chat.ecnu.edu.cn/open/api/v1/chat/completions",
    "apiKey": "your_api_key",
    "supportsToolCall": true,
    "supportsImages": true,
    "supportsReasoning": false,
    "useCustomProtocol": false,
    "maxInputTokens": 224000,
    "maxOutputTokens": 32000
  }
]
字段说明
id / name发给平台的模型名,必须与平台的模型名完全一致
url完整的接口地址,以 /chat/completions 结尾
apiKey您的 API Key,填写密钥本身,不要填写地址
supportsToolCall是否支持工具调用,两个主模型均支持
supportsImages是否支持图片输入,两个主模型均支持
supportsReasoning是否按思考模型处理。学校模型的思考模式默认关闭,这里保持 false
maxInputTokens / maxOutputTokens输入与输出的 token 上限,两者之和即模型的上下文窗口(ecnu-max 512K、ecnu-plus 256K)。输出上限取 64K / 32K 是 Agent 场景的推荐值(模型最大输出为 256K / 128K),把更多窗口留给输入,详见 模型介绍

注意:请将文件保存为 UTF-8 无 BOM 编码。文件里包含 API Key,建议仅自己可读(macOS 可执行 chmod 600 ~/.workbuddy/models.json),也不要提交到代码仓库。修改后如果模型选择器里没有出现新模型,请完全退出 WorkBuddy 后重新打开。

CodeBuddy(命令行) ​

CodeBuddy 命令行读取 ~/.codebuddy/models.json(Windows 为 C:\Users\<你的用户名>\.codebuddy\models.json),文件内容是带 models 数组的对象。如果只想对某个项目生效,改为创建项目级配置文件 <你的项目>/.codebuddy/models.json,其中的 availableModels 会整体替换用户级的列表。

将下面的内容保存到 models.json,并把 your_api_key 替换为您的 API Key:

json
{
  "models": [
    {
      "id": "ecnu-max",
      "name": "ecnu-max",
      "vendor": "ChatECNU",
      "url": "https://chat.ecnu.edu.cn/open/api/v1/chat/completions",
      "apiKey": "your_api_key",
      "maxInputTokens": 448000,
      "maxOutputTokens": 64000,
      "supportsToolCall": true,
      "supportsImages": true,
      "relatedModels": {
        "lite": "ecnu-plus",
        "reasoning": "ecnu-max"
      }
    },
    {
      "id": "ecnu-plus",
      "name": "ecnu-plus",
      "vendor": "ChatECNU",
      "url": "https://chat.ecnu.edu.cn/open/api/v1/chat/completions",
      "apiKey": "your_api_key",
      "maxInputTokens": 224000,
      "maxOutputTokens": 32000,
      "supportsToolCall": true,
      "supportsImages": true
    }
  ],
  "availableModels": [
    "ecnu-max",
    "ecnu-plus"
  ]
}

字段含义与上文 WorkBuddy 的表格相同,另有两项:relatedModels 为 ecnu-max 指定轻量任务(lite)使用 ecnu-plus,推理任务(reasoning)仍使用 ecnu-max;availableModels 是模型选择器中显示的模型,不设置则显示全部。保存后重新启动 CodeBuddy,使用 --model ecnu-max 或在界面中选择模型即可。

验证 API Key ​

如果模型无法使用,可以先用下面的命令验证 API Key 和模型名。

macOS / Linux:

bash
curl https://chat.ecnu.edu.cn/open/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_api_key" \
  -d '{"model":"ecnu-max","messages":[{"role":"user","content":"hi"}],"stream":false}'

Windows PowerShell:

powershell
Invoke-RestMethod -Method Post -Uri "https://chat.ecnu.edu.cn/open/api/v1/chat/completions" `
  -Headers @{ Authorization = "Bearer your_api_key" } `
  -ContentType "application/json" `
  -Body '{"model":"ecnu-max","messages":[{"role":"user","content":"hi"}],"stream":false}'

请求成功,说明 API Key 与模型名均可用。

注意:ecnu-max 同时最多处理 3 个请求,ecnu-plus 为 5 个,超出会返回 429,详见 配额限制。

您的请求将按 credits 配额统一处理,详见 配额限制。