构建一个可扩展 AI Agent 桌面系统:开源项目 BitFun(Rust + Tauri)
最近在业余时间做了一个 AI Agent 桌面项目 BitFun,刚整理代码并开源,想分享一下这个项目的一些设计思路和技术实践。 项目地址: 过去一年,大量 AI 工具涌现,但大多数产品形态仍然是: ChatBox + LLM 用户通过对话获取结果,但 AI 很少真正参与到 实际任务执行流程 中。 我更感兴趣的是另一种模式: 也就是说: BitFun 就是围绕这个思路做的一个实验项目。 目标是探索一个问题: 是否可以构建一个可扩展的 AI Agent 系统,用于真实工作场景。 BitFun 的核心设计是 Agent + 能力模块(Skills)+ 工具系统。 整体结构大致可以理解为: 核心思路是: 这样可以形成一个 可组合的 AI 工作系统。 目前项目实现了两个主要 Agent。 Code Agent 面向软件开发流程,目标是让 AI 可以参与到开发 workflow 中。 主要能力包括: 支持多种工作模式: Agentic Mode AI 自主完成: Plan Mode 复杂任务先规划,再执行。 Debug Mode 用于排查问题: Review Mode 用于代码审查。 Cowork Agent 更偏向知识工作自动化。 目前支持一些常见办公能力: 例如: 目标是探索 AI 在知识工作流程中的角色。 为了避免 Agent 逻辑过于耦合,项目设计了几种扩展机制。 Skills 是 Agent 的能力模块。 可以理解为: 教 Agent 如何完成某一类任务。 Skill 可以通过: 进行定义。 项目支持 MCP(Model Context Protocol)。 通过 MCP 可以连接: 从而扩展 Agent 能力。 用户可以通过 Markdown 快速定义自己的 Agent: 例如: 从而形成领域专家型 Agent。 项目采用 Rust + TypeScript 技术栈。 主要原因: 用于核心能力部分: 用于: 开发效率更高。 桌面端框架选择 Tauri,主要考虑: 当前支持平台: 目前 BitFun 仍然是一个 实验性项目,一些规划中的形态包括: 希望未来可以逐步形成一个 可扩展的 Agent 生态。 顺便说一个比较真实的情况: 项目 97%+ 的代码是通过 Vibe Coding 完成的, 这个项目主要是业余时间的一个探索: Agent + Tools + Memory 是否会成为未来一种新的 人机协作模式。 如果你对 AI Agent、开发工具或自动化系统感兴趣,欢迎一起交流:
https://github.com/GCWing/BitFun一、为什么做这个项目
AI 不只是回答问题,而是 成为一个可以持续工作的 Agent
二、系统整体架构
User
│
▼
Personal Agent
│
├── Code Agent
├── Cowork Agent
└── Custom Agent
│
▼
Skills / Tools / MCP三、Agent 体系设计
1 Code Agent(开发者场景)
2 Cowork Agent(知识工作场景)
四、扩展机制设计
1 Skills
2 MCP 集成
3 Agent 自定义
五、技术选型
Rust
TypeScript
Tauri
六、项目现状
所以代码结构还有很多可以优化的地方,也欢迎一起改进。七、结语