背景
codebuddy(CodeBuddy Code CLI,npm 包 @tencent-ai/codebuddy-code)是腾讯的 AI agent CLI。它和 claude 一样是 Node CLI,原生支持用环境变量覆盖 API 端点,接入成本低,值得加入 launcher 列表。
推荐方案:claude 式 /bili/ rewrite,proxy mode
codebuddy 有 CODEBUDDY_BASE_URL 环境变量,启动时注入即可把模型流量打进本地代理。不需要 cert-MITM,也不用碰用户的配置文件:
CODEBUDDY_BASE_URL=http://127.0.0.1:PORT/bili/<真实upstream>
压缩走 proxy mode。codebuddy 不是 ACP-native agent,做 agent 侧薄 plugin 不现实。wire 格式上 OpenAI 和 Anthropic 两种 adapter 都是现成的。
调研确认的配置事实
从本机安装包(dist/codebuddy.js)和内置文档核实:
上游有两个配置面。env CODEBUDDY_BASE_URL + CODEBUDDY_API_KEY(Anthropic 协议);models.json 里每个模型的 url 字段(OpenAI /chat/completions 完整路径)+ apiKey + maxInputTokens,其中 maxInputTokens 可以直接当作 context window 声明。
models.json 分两级:~/.codebuddy/models.json 和 <workspace>/.codebuddy/models.json,项目级优先。
平台登录态的默认端点是 https://tencent.sso.codebuddy.cn/v2(国内版)。控制面独立(CODEBUDDY_CONTROL_BASE_URL),rewrite 只影响模型流量,登录和产品配置加载不受影响。
配置根目录可用 CODEBUDDY_CONFIG_DIR 覆盖,默认 ~/.codebuddy。settings.json 有 env 块和 autoCompactWindow 字段。
原生 auto-compact 由 CODEBUDDY_AUTO_COMPACT_WINDOW / CODEBUDDY_AUTOCOMPACT_PCT_OVERRIDE / settings autoCompactWindow 控制,正好对应 REQ: codex 压缩预算协调 + 匿名代理模式拦截伪造(根本解决方案) #321 的 claude 预算对齐模式(env 注入面)。
MCP 注入走 --mcp-config <fileOrString>,不带 --strict-mcp-config 时与用户配置合并,对应 mcp.ts 的 spawn 时注入路径。
接入点清单
src/client-config.ts:新增 CodebuddyConfig、resolveCodebuddyHome(env)(读 CODEBUDDY_CONFIG_DIR)、readCodebuddyConfig(),只读发现 settings.json(env 块的 CODEBUDDY_BASE_URL、顶层 model、autoCompactWindow)和两级 models.json(url 收集 + maxInputTokens 转 ModelWindow);挂进 loadClientConfig、ModelWindowScope、collectModelWindows。
src/launcher.ts:LAUNCH_CLIENTS 加 "codebuddy";discoverRoutes 加分支(仿 claude);新增 buildCodebuddyEnv()(仿 buildClaudeEnv);预算对齐复用 claude 的 env 注入路径;runLaunch 和 resolveClientCommand 加分支(binary 名 codebuddy / cbc)。
src/discover.ts:extractHttpsHosts 加 codebuddy 分支;configFilePaths 加 settings.json 和 models.json 路径。
src/cli.ts:HELP 加一行(isLaunchClient 自动识别,无新分支)。
测试仿 launcher.test.ts、codex-window-align.test.ts 的模式,补发现 / rewrite / 预算对齐用例。
README client 章节和 AGENTS.md 模块表同步更新。
开放问题
国际版默认端点未确认。本机只核实到国内版 tencent.sso.codebuddy.cn/v2,代码里需要兜底两种。
models.json 里的 per-model url 不经过 CODEBUDDY_BASE_URL,env rewrite 盖不住这部分流量。两个选择:(a) 首版只支持 env / 平台路径并在文档注明;(b) dsh 式持久 overlay,但把 CODEBUDDY_CONFIG_DIR 指向 overlay 目录会隔离用户的 sessions 和记忆,代价太大。建议首版选 (a)。
纯平台登录场景(无 models.json,模型走平台端点)env rewrite 一条路径即可全覆盖,适合作为首个验证场景。
背景
codebuddy(CodeBuddy Code CLI,npm 包
@tencent-ai/codebuddy-code)是腾讯的 AI agent CLI。它和 claude 一样是 Node CLI,原生支持用环境变量覆盖 API 端点,接入成本低,值得加入 launcher 列表。推荐方案:claude 式
/bili/rewrite,proxy modecodebuddy 有
CODEBUDDY_BASE_URL环境变量,启动时注入即可把模型流量打进本地代理。不需要 cert-MITM,也不用碰用户的配置文件:压缩走 proxy mode。codebuddy 不是 ACP-native agent,做 agent 侧薄 plugin 不现实。wire 格式上 OpenAI 和 Anthropic 两种 adapter 都是现成的。
调研确认的配置事实
从本机安装包(
dist/codebuddy.js)和内置文档核实:CODEBUDDY_BASE_URL+CODEBUDDY_API_KEY(Anthropic 协议);models.json里每个模型的url字段(OpenAI/chat/completions完整路径)+apiKey+maxInputTokens,其中maxInputTokens可以直接当作 context window 声明。models.json分两级:~/.codebuddy/models.json和<workspace>/.codebuddy/models.json,项目级优先。https://tencent.sso.codebuddy.cn/v2(国内版)。控制面独立(CODEBUDDY_CONTROL_BASE_URL),rewrite 只影响模型流量,登录和产品配置加载不受影响。CODEBUDDY_CONFIG_DIR覆盖,默认~/.codebuddy。settings.json有env块和autoCompactWindow字段。CODEBUDDY_AUTO_COMPACT_WINDOW/CODEBUDDY_AUTOCOMPACT_PCT_OVERRIDE/ settingsautoCompactWindow控制,正好对应 REQ: codex 压缩预算协调 + 匿名代理模式拦截伪造(根本解决方案) #321 的 claude 预算对齐模式(env 注入面)。--mcp-config <fileOrString>,不带--strict-mcp-config时与用户配置合并,对应mcp.ts的 spawn 时注入路径。接入点清单
src/client-config.ts:新增CodebuddyConfig、resolveCodebuddyHome(env)(读CODEBUDDY_CONFIG_DIR)、readCodebuddyConfig(),只读发现settings.json(env 块的CODEBUDDY_BASE_URL、顶层model、autoCompactWindow)和两级models.json(url 收集 +maxInputTokens转ModelWindow);挂进loadClientConfig、ModelWindowScope、collectModelWindows。src/launcher.ts:LAUNCH_CLIENTS加"codebuddy";discoverRoutes加分支(仿 claude);新增buildCodebuddyEnv()(仿buildClaudeEnv);预算对齐复用 claude 的 env 注入路径;runLaunch和resolveClientCommand加分支(binary 名codebuddy/cbc)。src/discover.ts:extractHttpsHosts加 codebuddy 分支;configFilePaths加settings.json和models.json路径。src/cli.ts:HELP 加一行(isLaunchClient自动识别,无新分支)。launcher.test.ts、codex-window-align.test.ts的模式,补发现 / rewrite / 预算对齐用例。开放问题
tencent.sso.codebuddy.cn/v2,代码里需要兜底两种。models.json里的 per-modelurl不经过CODEBUDDY_BASE_URL,env rewrite 盖不住这部分流量。两个选择:(a) 首版只支持 env / 平台路径并在文档注明;(b) dsh 式持久 overlay,但把CODEBUDDY_CONFIG_DIR指向 overlay 目录会隔离用户的 sessions 和记忆,代价太大。建议首版选 (a)。models.json,模型走平台端点)env rewrite 一条路径即可全覆盖,适合作为首个验证场景。