Skip to content

feat: 新增 codebuddy 客户端支持(bili codebuddy) #640

Description

@ProgramerNoob

背景

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 覆盖,默认 ~/.codebuddysettings.jsonenv 块和 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 时注入路径。

接入点清单

  1. src/client-config.ts:新增 CodebuddyConfigresolveCodebuddyHome(env)(读 CODEBUDDY_CONFIG_DIR)、readCodebuddyConfig(),只读发现 settings.json(env 块的 CODEBUDDY_BASE_URL、顶层 modelautoCompactWindow)和两级 models.json(url 收集 + maxInputTokensModelWindow);挂进 loadClientConfigModelWindowScopecollectModelWindows
  2. src/launcher.tsLAUNCH_CLIENTS"codebuddy"discoverRoutes 加分支(仿 claude);新增 buildCodebuddyEnv()(仿 buildClaudeEnv);预算对齐复用 claude 的 env 注入路径;runLaunchresolveClientCommand 加分支(binary 名 codebuddy / cbc)。
  3. src/discover.tsextractHttpsHosts 加 codebuddy 分支;configFilePathssettings.jsonmodels.json 路径。
  4. src/cli.ts:HELP 加一行(isLaunchClient 自动识别,无新分支)。
  5. 测试仿 launcher.test.tscodex-window-align.test.ts 的模式,补发现 / rewrite / 预算对齐用例。
  6. README client 章节和 AGENTS.md 模块表同步更新。

开放问题

  1. 国际版默认端点未确认。本机只核实到国内版 tencent.sso.codebuddy.cn/v2,代码里需要兜底两种。
  2. models.json 里的 per-model url 不经过 CODEBUDDY_BASE_URL,env rewrite 盖不住这部分流量。两个选择:(a) 首版只支持 env / 平台路径并在文档注明;(b) dsh 式持久 overlay,但把 CODEBUDDY_CONFIG_DIR 指向 overlay 目录会隔离用户的 sessions 和记忆,代价太大。建议首版选 (a)。
  3. 纯平台登录场景(无 models.json,模型走平台端点)env rewrite 一条路径即可全覆盖,适合作为首个验证场景。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions