> ## Documentation Index
> Fetch the complete documentation index at: https://docs.token.poryf.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WorkBuddy / CodeBuddy

> 在 WorkBuddy 或 CodeBuddy 中添加再来点Token的模型，写一个 models.json 即可。

WorkBuddy 和 CodeBuddy 是腾讯推出的 AI 助手，都支持通过 `models.json` 添加自定义模型，两者的配置方法相同，只是文件位置不同。本站的 DeepSeek、GLM、Kimi 系列都可以添加。

| 工具 | 配置文件位置（macOS / Linux） | Windows |
| - | - | - |
| WorkBuddy | `~/.workbuddy/models.json` | `%USERPROFILE%\.workbuddy\models.json` |
| CodeBuddy | `~/.codebuddy/models.json` | `%USERPROFILE%\.codebuddy\models.json` |

## 给 AI 助手的一段话

WorkBuddy 本身就是 AI 助手，可以直接把下面这段话发给它，让它自己写好配置。这段话会包含你的完整密钥，接收它的 AI 服务会看到，请只发给你信任的 AI 助手。把 `YOUR_API_KEY` 换成你的密钥，`deepseek-v4-pro` 换成你要用的模型 ID。

<Tip>在控制台 [API 密钥](https://token.poryf.com/keys) 页面点密钥右侧的 **接入配置**，选 WorkBuddy 后点 **复制给 Agent**，复制到的内容已经填好了你的密钥。</Tip>

````text wrap theme={null}
请帮我把 WorkBuddy 接入再来点Token（OpenAI 兼容的 API 服务）。

1. 打开配置文件 ~/.workbuddy/models.json（Windows 为 %USERPROFILE%\.workbuddy\models.json），不存在就新建，所在目录不存在也一并创建。
2. 写入下面的内容。如果文件已存在，把这个模型追加到 models 数组里；已有相同 id 的条目就替换它。保留其他内容。

```json
{
  "models": [
    {
      "id": "deepseek-v4-pro",
      "name": "deepseek-v4-pro",
      "vendor": "再来点Token",
      "apiKey": "YOUR_API_KEY",
      "url": "https://token.poryf.com/v1/chat/completions",
      "supportsToolCall": true,
      "supportsImages": false
    }
  ]
}
```

3. 保存后提醒我重启 WorkBuddy，并在模型列表里选择 deepseek-v4-pro。

这段话里有我的 API 密钥：只把它写进本地配置文件，回复时不要完整复述，也不要提交到代码仓库。
````

## 准备

* 安装 WorkBuddy 或 CodeBuddy，并登录。
* 在 [API 密钥](https://token.poryf.com/keys) 页面创建一个密钥，并确认 [钱包](https://token.poryf.com/wallet) 有余额。
* 在 [模型广场](https://token.poryf.com/pricing) 选好模型，复制模型 ID，例如 `deepseek-v4-pro`。

## 第 1 步：打开 models.json

文件不存在时会自动新建。下面以 WorkBuddy 为例，CodeBuddy 把命令里的 `.workbuddy` 换成 `.codebuddy`：

<Tabs>
  <Tab title="macOS">
    ```bash theme={null}
    mkdir -p ~/.workbuddy && touch ~/.workbuddy/models.json && open -e ~/.workbuddy/models.json
    ```
  </Tab>

  <Tab title="Linux">
    ```bash theme={null}
    mkdir -p ~/.workbuddy && nano ~/.workbuddy/models.json
    ```
  </Tab>

  <Tab title="Windows">
    ```powershell theme={null}
    New-Item -ItemType Directory -Force "$env:USERPROFILE\.workbuddy" | Out-Null; notepad "$env:USERPROFILE\.workbuddy\models.json"
    ```
  </Tab>
</Tabs>

## 第 2 步：粘贴配置

把下面的内容粘贴进去并保存。`apiKey` 换成你的密钥，`id` 换成你的模型 ID。要添加多个模型，就在 `models` 数组里多写几项：

```json theme={null}
{
  "models": [
    {
      "id": "deepseek-v4-pro",
      "name": "DeepSeek V4 Pro",
      "vendor": "再来点Token",
      "apiKey": "YOUR_API_KEY",
      "url": "https://token.poryf.com/v1/chat/completions",
      "supportsToolCall": true,
      "supportsImages": false
    },
    {
      "id": "glm-5.3",
      "name": "GLM-5.3",
      "vendor": "再来点Token",
      "apiKey": "YOUR_API_KEY",
      "url": "https://token.poryf.com/v1/chat/completions",
      "supportsToolCall": true,
      "supportsImages": false
    }
  ]
}
```

### 各字段的作用

| 字段 | 说明 |
| - | - |
| `id` | 本站的模型 ID，**必须和模型广场里的完全一致**，这是实际发给接口的值 |
| `name` | 模型下拉框里显示的名字，可以随便起 |
| `vendor` | 服务商名称，只用于显示 |
| `apiKey` | 本站 API 密钥 |
| `url` | 填完整接口地址 `https://token.poryf.com/v1/chat/completions` |
| `supportsToolCall` | **必须为 `true`**。设为 `false` 时，WorkBuddy 会去掉请求里的工具调用，助手就没法读写文件、执行命令 |
| `supportsImages` | 本站文本模型不支持图片输入，填 `false` |

<Note>只想在界面里显示本站的模型，可以在文件最外层加 `"availableModels": ["deepseek-v4-pro", "glm-5.3"]`。不加时，本站模型会和 WorkBuddy 自带的模型一起显示。</Note>

## 第 3 步：选择模型并验证

保存文件后，WorkBuddy 会自动重新读取配置；没有出现新模型时，重启一次 WorkBuddy。

1. 在对话框的模型下拉列表里选择你刚添加的模型。
2. 发一句"读取当前目录下的任意一个文件，告诉我它的第一行"，确认模型能正常回答并调用工具。

每次调用的用量和费用都可以在 [使用日志](https://token.poryf.com/usage-logs/common) 里查到。

## 也可以在界面里添加

WorkBuddy 的界面也支持添加自定义模型，按下面三项填写即可：

| 界面里的字段 | 填写 |
| - | - |
| 接口地址 / URL | `https://token.poryf.com/v1/chat/completions` |
| API Key | 本站 API 密钥 |
| 模型 ID | 本站的模型 ID，例如 `deepseek-v4-pro`，不是模型的显示名 |

## 常见问题

<AccordionGroup>
  <Accordion title="报 404">
    接口地址填错了。填 `https://token.poryf.com/v1/chat/completions` 或 `https://token.poryf.com/v1`，不要只填 `https://token.poryf.com`：WorkBuddy 会在地址后面补 `/chat/completions`，只填根地址会漏掉 `/v1`。
  </Accordion>

  <Accordion title="提示模型不存在（model_not_found）">
    `id` 或界面里的"模型 ID"填成了显示名。例如 `deep-seek-4-Pro`、`DeepSeek V4 Pro` 都不对，要填模型广场里复制的 `deepseek-v4-pro`。
  </Accordion>

  <Accordion title="模型能聊天，但不会读写文件、执行命令">
    检查 `supportsToolCall` 是否为 `true`。
  </Accordion>

  <Accordion title="下拉列表里看不到新模型">
    确认文件放在正确的目录（WorkBuddy 是 `.workbuddy`，CodeBuddy 是 `.codebuddy`），并且是合法的 JSON，然后重启一次客户端。

    用下面的命令在本机检查 JSON 格式，只检查格式，不会显示或上传密钥：macOS / Linux 运行 `python3 -m json.tool ~/.workbuddy/models.json > /dev/null && echo OK`，Windows PowerShell 运行 `Get-Content "$env:USERPROFILE\.workbuddy\models.json" -Raw | ConvertFrom-Json | Out-Null`，没有报错就说明格式正确。
  </Accordion>

  <Accordion title="提示余额不足或密钥无效（401 / 403）">
    密钥填错、被禁用、过期或额度用完，都会返回 `Invalid token`。到控制台检查密钥状态和钱包余额，详见 [错误排查](/errors)。
  </Accordion>
</AccordionGroup>
