最近在业余时间做了一个 AI Agent 桌面项目 BitFun,刚整理代码并开源,想分享一下这个项目的一些设计思路和技术实践。
项目地址:
https://github.com/GCWing/BitFun
一、为什么做这个项目
过去一年,大量 AI 工具涌现,但大多数产品形态仍然是:
ChatBox + LLM
用户通过对话获取结果,但 AI 很少真正参与到 实际任务执行流程 中。
我更感兴趣的是另一种模式:
AI 不只是回答问题,而是 成为一个可以持续工作的 Agent
也就是说:
- 能 调用工具
- 能 执行任务
- 能 拥有长期记忆
- 能 持续协作
BitFun 就是围绕这个思路做的一个实验项目。
目标是探索一个问题:
是否可以构建一个可扩展的 AI Agent 系统,用于真实工作场景。
二、系统整体架构
BitFun 的核心设计是 Agent + 能力模块(Skills)+ 工具系统。
整体结构大致可以理解为:
User
│
▼
Personal Agent
│
├── Code Agent
├── Cowork Agent
└── Custom Agent
│
▼
Skills / Tools / MCP核心思路是:
- Agent 负责决策
- Skills 负责执行
- 工具系统提供能力扩展
这样可以形成一个 可组合的 AI 工作系统。
三、Agent 体系设计
目前项目实现了两个主要 Agent。
1 Code Agent(开发者场景)
Code Agent 面向软件开发流程,目标是让 AI 可以参与到开发 workflow 中。
主要能力包括:
- 对话驱动代码生成
- 自动读取项目代码
- 修改代码并执行
- 运行测试并验证结果
支持多种工作模式:
Agentic Mode
AI 自主完成:
- 读代码
- 修改代码
- 运行验证
Plan Mode
复杂任务先规划,再执行。
Debug Mode
用于排查问题:
- 插桩记录
- 路径分析
- 根因定位
- 验证修复
Review Mode
用于代码审查。
2 Cowork Agent(知识工作场景)
Cowork Agent 更偏向知识工作自动化。
目前支持一些常见办公能力:
- PDF 处理
- Word 文档生成
- Excel 数据分析
- PPT 生成
- 浏览器自动化
例如:
- 自动生成报告
- 从网页抓取数据
- 批量处理文档
目标是探索 AI 在知识工作流程中的角色。
四、扩展机制设计
为了避免 Agent 逻辑过于耦合,项目设计了几种扩展机制。
1 Skills
Skills 是 Agent 的能力模块。
可以理解为:
教 Agent 如何完成某一类任务。
Skill 可以通过:
- Markdown
- 脚本
- 外部工具
进行定义。
2 MCP 集成
项目支持 MCP(Model Context Protocol)。
通过 MCP 可以连接:
- 外部工具
- 数据源
- 自动化系统
从而扩展 Agent 能力。
3 Agent 自定义
用户可以通过 Markdown 快速定义自己的 Agent:
例如:
- 投资分析 Agent
- 研究助手
- 数据分析 Agent
从而形成领域专家型 Agent。
五、技术选型
项目采用 Rust + TypeScript 技术栈。
主要原因:
Rust
用于核心能力部分:
- 更好的性能
- 更好的并发能力
- 跨平台支持
TypeScript
用于:
- 前端界面
- 业务逻辑
开发效率更高。
Tauri
桌面端框架选择 Tauri,主要考虑:
- 比 Electron 更轻量
- Rust 生态结合更自然
- 更好的性能表现
当前支持平台:
- Windows
- macOS
六、项目现状
目前 BitFun 仍然是一个 实验性项目,一些规划中的形态包括:
- CLI
- Server
- Mobile
- Telegram / Discord Agent 接入
希望未来可以逐步形成一个 可扩展的 Agent 生态。
顺便说一个比较真实的情况:
项目 97%+ 的代码是通过 Vibe Coding 完成的,
所以代码结构还有很多可以优化的地方,也欢迎一起改进。
七、结语
这个项目主要是业余时间的一个探索:
Agent + Tools + Memory
是否会成为未来一种新的 人机协作模式。
如果你对 AI Agent、开发工具或自动化系统感兴趣,欢迎一起交流:
- 提 issue
- 提 PR
- 分享你的想法
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。