TRAE AI 创造力大赛参赛作品
【学习工作赛道】BaxCode - AI编程工具协同融合平台
0. 先和大家打个招呼吧 
你是谁:
我是一名独立开发者,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 编程工具)
主要功能:
统一配置管理
集中管理所有 AI 工具的 API 配置,一次配置,所有工具共享。采用 AES-256-GCM 加密保护 API 密钥,绑定机器指纹,安全可靠。
多工具协同
支持 10+ 主流 AI 编程工具的统一管理,包括 Claude Code、Codex CLI、Gemini CLI、Qwen Code、Kimi Code、Hermes、CodeBuddy、OpenCode、Cline、MIMO Code 等。
一键切换后端
支持 10+ 大模型供应商无缝切换:DeepSeek、MIMO、阿里云、字节跳动、硅基流动、vLLM、OpenAI、Anthropic 等。切换后端后,所有工具自动生效。
产品截图位置
2. Demo 创作思路
灵感来源:
作为一个每天都在用 AI 编程工具的开发者,我发现自己陷入了一个尴尬的境地:
- 想用 Claude Code?得配 Anthropic 格式的 API
- 想用 Codex?得换 OpenAI 格式
- 想试试国产模型?每个工具都要重新配一遍
来回折腾了几次之后,我突然想:为什么不能有个中间层,把这些都统一起来?
就像早年的"万能遥控器",一个遥控器控制所有家电。BaxCode 就是 AI 编程工具的"万能遥控器"。
想解决的问题:
| 痛点 | BaxCode 的方案 |
|---|---|
| 每个 AI 工具都要单独配置 API | 统一配置层,一次配置,所有工具共享 |
| 不同工具使用不同的 API 格式 | 内嵌代理自动转换 OpenAI/Anthropic/Gemini/Responses 格式 |
| 本地模型无法直接被某些工具使用 | 自动适配本地 vLLM/Ollama 到各种工具格式 |
| 切换模型供应商需要修改多个配置 | 一键切换后端,所有工具自动更新 |
| 每个工具都要开一个终端窗口 | 统一终端面板,多标签管理 |
为什么做这个方向:
我判断未来 AI 编程工具会越来越多,不会出现"一家独大"的局面。不同工具有不同的擅长领域,用户需要根据场景选择最合适的工具。
BaxCode 不做"另一个 AI 编程工具",而是做"工具的工具"——生态连接器。这种定位有几个好处:
- 不与现有工具竞争,而是互补
- 适配器模式架构,扩展新工具成本很低
- 用户迁移成本低,想用什么工具就用什么
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 修复与体验优化
关键步骤截图
截图 1:项目架构设计阶段
截图 2:终端管理功能开发
截图 3:配置管理界面
关键任务对话 Session ID
- Session ID:
6a4e14b1f5fb4040bd86bcaa- 项目环境初始化与 Hermes 工具修复- 依赖安装与项目配置
- 修复启动白屏问题(index.html 重建)
- 修复应用图标路径问题
- 修复 Hermes 无法使用和重启按钮失效的 bug
5. 踩坑复盘与经验总结
那些年踩过的坑 
坑 1:Electron 图标路径玄学
- 问题:开发模式下图标不显示
- 原因:路径配置不对,从
build/win/icon.ico改成icon/icon.ico才搞定 - 教训:Electron 的路径问题一定要在不同环境下都测一遍
坑 2:终端重启 Race Condition
- 问题:点击重启按钮偶尔没反应
- 原因:
startingRef设置时机不对,终端创建失败时也没清理引用 - 解决:调整引用设置时机 + 延长等待时间 + 增加失败清理逻辑
- 教训:异步操作的状态管理一定要仔细,该加的 guard 不能省
坑 3:pnpm 重装依赖的坑
- 问题:重新安装依赖后,Electron preload 脚本加载出问题
- 原因:pnpm 可能改了依赖版本或者构建缓存
- 教训:依赖不要随便重装,重装前先锁版本
用 TRAE 开发的心得 
-
先说清楚"要什么",再说"怎么做"
我发现跟 TRAE 沟通最有效的方式是:先描述需求和目标,再讨论实现方案。它会帮你想到很多你没考虑到的 edge case。 -
大任务拆成小步骤
不要一上来就说"帮我做个 XXX"。拆成一个个小任务,逐个击破,质量更高,也更容易调试。 -
Bug 描述要详细
报 bug 的时候,现象、复现步骤、你已经试过什么,都要说清楚。TRAE 定位问题的速度会快很多。 -
它写代码,你做架构
别让 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 官方中文社区



