【学习工作赛道】BaxCode - AI编程工具协同融合平台

TRAE AI 创造力大赛参赛作品

【学习工作赛道】BaxCode - AI编程工具协同融合平台


0. 先和大家打个招呼吧 :waving_hand:

你是谁:
我是一名独立开发者,OPC(一人公司)信仰者。相信"一个人 + AI,可以做出过去一个团队才能做的事情"。

你是怎么用 TRAE 把 Demo 做出来的:

开发 BaxCode 的初衷,其实来自我自己的痛点——每天要在 Claude Code、Codex、Kimi Code 之间来回切换,每个工具都要单独配 API Key,换个模型供应商要改好几个地方,实在太麻烦了。

最开始我只有一个模糊的想法:“能不能做个统一的入口?” 我把这个想法告诉了 TRAE,它没有直接给我一坨代码,而是先帮我梳理清楚了核心问题:

  • 不同工具用的 API 格式不一样(OpenAI、Anthropic、Gemini 各有各的标准)
  • API Key 怎么安全存储?
  • 终端怎么管理?

然后我们就一步步开始搭。从 Electron 项目框架开始,到终端管理、代理服务、配置加密……印象最深的是做内嵌代理那一块,我原本以为协议转换会超级复杂,结果 TRAE 给我设计了一个适配器模式的架构,每个工具一个适配器,新增工具只要加个类就行。当时我就觉得:“原来这么简单,我怎么没想到!”

还有一次修 Hermes 工具无法启动的 bug,我跟 TRAE 描述了现象,它不仅帮我定位到了问题(startingRef 设置时机不对 + 终端创建失败没清理引用),还顺便优化了重启逻辑,延长了等待时间。那种"你说一,它想到三"的感觉,真的很爽。

TRAE 对我来说不是个"代码生成器",更像个搭档。我负责想清楚要什么,它负责把想法落地,还经常提醒我一些我忽略的细节。BaxCode 能做到现在这个样子,TRAE 功不可没。


1. Demo 简介

是什么:
BaxCode 是一款基于 Electron 的桌面应用程序,通过统一配置层聚合多个 AI 编程 CLI 工具,支持一键切换后端供应商,实现 AI 工具的协同工作。

面向谁:

  • 软件开发工程师(日常 AI 辅助编程)
  • AI 应用开发者(需要对比不同模型效果)
  • 技术团队负责人(希望统一团队 AI 工具配置)
  • 编程学习者(想体验多种 AI 编程工具)

主要功能:

:wrench: 统一配置管理

集中管理所有 AI 工具的 API 配置,一次配置,所有工具共享。采用 AES-256-GCM 加密保护 API 密钥,绑定机器指纹,安全可靠。

:rocket: 多工具协同

支持 10+ 主流 AI 编程工具的统一管理,包括 Claude Code、Codex CLI、Gemini CLI、Qwen Code、Kimi Code、Hermes、CodeBuddy、OpenCode、Cline、MIMO Code 等。

:counterclockwise_arrows_button: 一键切换后端

支持 10+ 大模型供应商无缝切换:DeepSeek、MIMO、阿里云、字节跳动、硅基流动、vLLM、OpenAI、Anthropic 等。切换后端后,所有工具自动生效。

:camera_with_flash: 产品截图位置


2. Demo 创作思路

灵感来源:

作为一个每天都在用 AI 编程工具的开发者,我发现自己陷入了一个尴尬的境地:

  • 想用 Claude Code?得配 Anthropic 格式的 API
  • 想用 Codex?得换 OpenAI 格式
  • 想试试国产模型?每个工具都要重新配一遍

来回折腾了几次之后,我突然想:为什么不能有个中间层,把这些都统一起来?

就像早年的"万能遥控器",一个遥控器控制所有家电。BaxCode 就是 AI 编程工具的"万能遥控器"。

想解决的问题:

痛点 BaxCode 的方案
每个 AI 工具都要单独配置 API 统一配置层,一次配置,所有工具共享
不同工具使用不同的 API 格式 内嵌代理自动转换 OpenAI/Anthropic/Gemini/Responses 格式
本地模型无法直接被某些工具使用 自动适配本地 vLLM/Ollama 到各种工具格式
切换模型供应商需要修改多个配置 一键切换后端,所有工具自动更新
每个工具都要开一个终端窗口 统一终端面板,多标签管理

为什么做这个方向:

我判断未来 AI 编程工具会越来越多,不会出现"一家独大"的局面。不同工具有不同的擅长领域,用户需要根据场景选择最合适的工具。

BaxCode 不做"另一个 AI 编程工具",而是做"工具的工具"——生态连接器。这种定位有几个好处:

  1. 不与现有工具竞争,而是互补
  2. 适配器模式架构,扩展新工具成本很低
  3. 用户迁移成本低,想用什么工具就用什么

3. Demo 体验地址

GitHub 仓库: https://github.com/yebax/baxcode

项目已开源发布,采用 Apache 2.0 协议,欢迎 Star、Fork、贡献代码!

快速开始:

# 克隆仓库
git clone https://github.com/yebax/BaxCode.git
cd BaxCode

# 安装依赖
pnpm install

# 启动开发模式
pnpm dev

4. TRAE 实践过程

开发流程

Phase 1:项目框架搭建

  • 基于 Electron + React + TypeScript 搭建项目骨架
  • 配置 Vite 构建工具和开发环境
  • 设计主进程/渲染进程通信架构(IPC)

Phase 2:核心功能开发

  • 终端管理模块:基于 node-pty 实现跨平台伪终端,支持多标签
  • 配置管理模块:AES-256-GCM 加密存储 API 密钥,绑定机器指纹
  • 代理服务模块:Express 内嵌代理,适配器模式实现多协议转换

Phase 3:UI 界面与交互

  • 侧边栏导航系统(工具选择、配置入口、项目管理)
  • 终端面板:xterm.js + WebGL 加速渲染
  • 配置界面:后端 CRUD、连接测试、一键激活

Phase 4:工具集成与优化

  • 开发各 AI 工具的启动适配器
  • 角色系统预置(专家角色、System Prompt 注入)
  • 项目管理(绑定本地代码目录、多工具协作)
  • Bug 修复与体验优化

关键步骤截图

:camera_with_flash: 截图 1:项目架构设计阶段

:camera_with_flash: 截图 2:终端管理功能开发

:camera_with_flash: 截图 3:配置管理界面

关键任务对话 Session ID

  1. Session ID: 6a4e14b1f5fb4040bd86bcaa - 项目环境初始化与 Hermes 工具修复
    • 依赖安装与项目配置
    • 修复启动白屏问题(index.html 重建)
    • 修复应用图标路径问题
    • 修复 Hermes 无法使用和重启按钮失效的 bug

5. 踩坑复盘与经验总结

那些年踩过的坑 :bomb:

坑 1:Electron 图标路径玄学

  • 问题:开发模式下图标不显示
  • 原因:路径配置不对,从 build/win/icon.ico 改成 icon/icon.ico 才搞定
  • 教训:Electron 的路径问题一定要在不同环境下都测一遍

坑 2:终端重启 Race Condition

  • 问题:点击重启按钮偶尔没反应
  • 原因:startingRef 设置时机不对,终端创建失败时也没清理引用
  • 解决:调整引用设置时机 + 延长等待时间 + 增加失败清理逻辑
  • 教训:异步操作的状态管理一定要仔细,该加的 guard 不能省

坑 3:pnpm 重装依赖的坑

  • 问题:重新安装依赖后,Electron preload 脚本加载出问题
  • 原因:pnpm 可能改了依赖版本或者构建缓存
  • 教训:依赖不要随便重装,重装前先锁版本

用 TRAE 开发的心得 :sparkles:

  1. 先说清楚"要什么",再说"怎么做"
    我发现跟 TRAE 沟通最有效的方式是:先描述需求和目标,再讨论实现方案。它会帮你想到很多你没考虑到的 edge case。

  2. 大任务拆成小步骤
    不要一上来就说"帮我做个 XXX"。拆成一个个小任务,逐个击破,质量更高,也更容易调试。

  3. Bug 描述要详细
    报 bug 的时候,现象、复现步骤、你已经试过什么,都要说清楚。TRAE 定位问题的速度会快很多。

  4. 它写代码,你做架构
    别让 AI 替你想"要做什么"。你负责产品方向和架构设计,AI 负责具体实现。这样效率最高。


项目数据

指标 数值
支持的 AI 工具 10+
大模型供应商 10+
代码文件数 246
开源协议 Apache 2.0
GitHub 仓库 https://github.com/yebax/baxcode

技术栈

技术 版本 用途
Electron 28.x 桌面应用容器
React 18.x UI 渲染
TypeScript 5.3+ 类型检查
Vite 5.x 构建工具
Zustand 4.x 状态管理
xterm.js 5.5+ 终端模拟
node-pty 1.0+ 伪终端
Express 4.18+ 内嵌代理

参赛赛道: 学习工作赛道
开发者: yebax (BaxMan)
项目理念: 让 AI 工具协同工作
GitHub: https://github.com/yebax/baxcode

报名连接: 【学习工作赛道】BaxCode - 让AI编程工具协同工作的融合平台 - TRAE AI 创造力大赛 / 【大赛报名专区】 - TRAE 官方中文社区