把 WorkBuddy/CodeBuddy 桌面端登录态转成本地 OpenAI/Anthropic 兼容 API

FastAPI 提供本地服务与三协议端点,httpx 转发腾讯后端,读取桌面端 auth 文件注入鉴权头,协议互转。

✓ 一套服务同时兼容 OpenAI 与 An✓ 保留原生 tools/tool_call ✕ 不做 Anthropic 模型名到腾讯模✕ 依赖腾讯后端内容审核,agent 文本易

方案简介

workbuddy2api 是一个本地协议转换器,把已经登录好的 WorkBuddy / CodeBuddy(腾讯代码助手)桌面端登录态,转成你本机可直接使用的 OpenAI / Anthropic 兼容 API。

它不负责登录,不模拟桌面端,也不替你执行工具。它只做三件事:读取本机登录态并注入鉴权头、在 OpenAI / Anthropic 协议和腾讯后端协议之间转换、对 Codex CLI 这类长上下文 agent 请求做后端友好的压缩投影。

适合人群:想复用 WorkBuddy 订阅的 OpenAI 兼容客户端用户、想让 Codex CLI 直接接腾讯后端的用户、想让 Claude Code 通过 CC Switch 复用 WorkBuddy 支持的模型的用户。

亮点与能力

  • 暴露 POST /v1/chat/completions、POST /v1/responses、POST /v1/messages、GET /v1/models、GET /health 五个本地接口
  • 用 Codex CLI 走 /v1/responses,适配 Responses 协议
  • 用 Claude Code / CC Switch 走 /v1/messages,适配 Anthropic 协议
  • 用 Cherry Studio / ZCode / LobeChat / NextChat / Open WebUI 走 /v1/chat/completions
  • 保留原生 tools / tool_calls / 流式 SSE / 多轮工具调用
  • --desensitize 压缩运行时提示、去掉 tool description、零宽脱敏高风险关键词
  • 附带中文 Web 管理后台:多账号自动轮转、冷却与积分耗尽避让、凭据刷新、每日自动签到、API Key 管理、概览页统计

组成与分工

  • WorkBuddy / CodeBuddy 桌面端:登录态来源,提供 *.info auth 凭据文件
  • copilot.tencent.com:腾讯后端,转换器把请求转发到这里
  • FastAPI:转换核心,core/converter.py 是主入口的 FastAPI 服务
  • Uvicorn:本地服务运行载体(依赖之一)
  • httpx:依赖清单声明的 HTTP 客户端,负责对腾讯后端的转发
  • Codex CLI:通过 /v1/responses 接入的 agent 客户端
  • Claude Code / CC Switch:通过 /v1/messages 接入的 Anthropic 协议客户端
  • Cherry Studio / LobeChat 等:通过 /v1/chat/completions 接入的 OpenAI 兼容客户端

前置要求

你需要先满足这 3 个条件:

  1. 本机已经安装并登录 WorkBuddy / CodeBuddy 桌面端
  2. 本机有 Python 3.8+
  3. 已安装依赖 fastapi、uvicorn、httpx

默认登录态位置:

  • macOS: ~/Library/Application Support/CodeBuddyExtension/Data/Public/auth/*.info
  • Windows: %LOCALAPPDATA%\CodeBuddyExtension\Data\Public\auth\*.info
  • Linux: ~/.local/share/CodeBuddyExtension/Data/Public/auth/*.info

实施步骤

1. 克隆并安装依赖

推荐用 uv:

bash
git clone https://github.com/ShouZhuo0413/codebuddy2openai.git workbuddy2api
cd workbuddy2api

uv venv
uv pip install -r requirements.txt

也可以用虚拟环境:

bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

2. 启动服务

bash
uv run python -m core.converter --desensitize --log converter.log

看到监听 http://127.0.0.1:8787 就说明已经起来了。

3. 接入 Codex CLI

把下面配置合并到 ~/.codex/config.toml:

toml
[model_providers.workbuddy]
name = "WorkBuddy (via local converter)"
base_url = "http://127.0.0.1:8787/v1"
wire_api = "responses"
env_key = "CODEBUDDY2OPENAI_KEY"

[profiles.workbuddy]
model = "glm-5.2"
model_provider = "workbuddy"

设置占位环境变量并启动:

bash
export CODEBUDDY2OPENAI_KEY=any-value

bash
codex --profile workbuddy "你的任务描述"

4. 接入 Claude Code / CC Switch

在 CC Switch 里配置 base_url 为 http://127.0.0.1:8787/v1/messages,模型名必须填写腾讯后端支持的真实模型名。

5. Docker 部署(可选)

bash
bash deploy/one-click/deploy.sh

或独立转换器:

bash
docker run -d --name workbuddy2api -p 8787:8787 \
-v ~/Library/Application Support/CodeBuddyExtension/Data/Public/auth:/data/auth:ro \
-e CODEBUDDY_AUTH_DIR=/data/auth \
workbuddy2api

使用与配置要点

快速自检:

bash
curl http://127.0.0.1:8787/health
curl http://127.0.0.1:8787/v1/models

如果这两条能通,说明本地服务、登录态、基本路由都没问题。

常用启动参数:

bash
python3 -m core.converter --desensitize
python3 -m core.converter --api-key mysecret
python3 -m core.converter --port 9000

  • --host 默认 127.0.0.1,--port 默认 8787
  • --api-key 给本地客户端加一层鉴权
  • --log 记录请求与响应日志
  • --desensitize 压缩运行时提示、去掉 tool description、零宽脱敏高风险关键词
  • --no-compact 配合 --desensitize 使用,保留更完整的原始 system prompt

其他 OpenAI 兼容客户端配置:Base URL http://127.0.0.1:8787/v1,API Key 留空或填 --api-key 设置值,模型名如 glm-5.2 / deepseek-v4-pro / kimi-k2.7 / auto。

注意事项与常见问题

  • 找不到登录文件:桌面端没登录,或登录目录不在默认路径,先确认桌面端已真正完成登录
  • 本地 401:启用了 --api-key 但客户端没带同一个 key;后端 401:腾讯 token 失效,重新打开桌面端登录
  • 被"敏感内容"拦截:是腾讯后端的内容审核,很多时候是 agent runtime 文本(如 DoS、exploit、credential)触发的;排查顺序:开 --log → 看请求体 → 看 RESPONSES PROJECTION → 开 --desensitize → 尝试 --desensitize --no-compact
  • --desensitize --no-compact 下若仍命中审核,当前实现会自动退回紧凑模式重试一次
  • 模型名必须填腾讯后端支持的真实模型名,不做自动映射
  • 管理后台为单进程设计,正式对外部署必须放在 HTTPS 反向代理之后
  • Docker 部署需把宿主机登录态目录挂进去,容器里拿不到桌面端 auth 文件

优缺点

  • ✓ 一套服务同时兼容 OpenAI 与 An
  • ✓ 保留原生 tools/tool_call
  • ✕ 不做 Anthropic 模型名到腾讯模
  • ✕ 依赖腾讯后端内容审核,agent 文本易

出处

本方案挖掘自开源项目 ShouZhuo0413/codebuddy2api,方案内容与实施命令均来自其 README 原文。

方案出处
ShouZhuo0413/codebuddy2api:把 CodeBuddy / WorkBuddy(腾讯代码助手) 的订阅,转换成 OpenAI 兼容 API、Anthropic 兼容 API,让你能在 Code
305 star 把 CodeBuddy / WorkBuddy(腾讯代码助手) 的订阅,转换成 OpenAI 兼容 API、Anthropic 兼容 API,让你能在 Codex CLI、Claude Code、ZCode、Cherry Studio、NextChat、LobeChat 等任何支持 OpenAI 协议、Anthropic 协议的客户端里复用它。

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。