CraftBot 完全指南:当 AI Agent 学会自己造工具——Living UI 原理解析与上手实战
概述
大多数 AI Agent 编排框架(harness)的能力边界止于「聊天 + 工具调用」。你给 Agent 几个工具函数,它按需调用,返回结果。这个过程很高效,但有一个根本限制:你只能让 Agent 用你已经造好的工具。
CraftBot 打破了这层天花板。它是一个开源的通用 Agent 编排框架,核心创新的 Living UI 系统允许 Agent 在运行时按需搭建、部署和操作自己的 SaaS 工具——前端 + 后端 + 数据库,作为一个受监督的子进程运行在宿主环境中。不仅如此,当 Agent 遇到无法用简单脚本解决的问题时,它会主动发明(invent)一个新的 SaaS 工具来解决它(需用户批准)。
项目信息:Python 编写,MIT 许可,344 GitHub Stars,跨平台支持 Windows/macOS/Linux。
架构:Agent + Living UI 双系统
CraftBot 由两个层次组成:
底层是一个标准的 Agent 编排框架:任务执行、偏好记忆、多会话路由、外部工具集成(Google Workspace / Slack / Notion / Discord / Telegram)、150+ MCP 工具和 170+ Skills、BYOK 灵活模型提供商支持(OpenAI、Gemini、Claude、Ollama 等)。
上层是 Living UI 系统——一个让 Agent 能创建、运行和操作 Web 应用的运行时。每个 Living UI 应用包含:
- 前端(你选的任意技术栈)
- 后端 + 数据库
- 一对独立端口运行的主机进程
- 后端子进程拥有全部状态(页面刷新、标签切换甚至宿主机重启都不丢失)
- 前端只负责展示数据和接收用户操作,不管理状态
CraftBot 通过一个作用域内的 HTTP 客户端读写 Living UI 的数据,并且通过内置端点获取 DOM 快照和截图,实时了解屏幕上发生了什么。
安装:一行命令启动
git clone https://github.com/CraftOS-dev/CraftBot.git cd CraftBot python craftbot.py install
安装完成后,命令行自动关闭,浏览器自动打开。之后通过以下命令管理服务:
python craftbot.py start # 后台启动 python craftbot.py stop # 停止 python craftbot.py restart # 重启 python craftbot.py status # 查看运行状态 python craftbot.py logs # 查看最近日志
系统要求:Python 3.10+,浏览器模式需 Node.js 18+。
Living UI 的三种创建方式
方式一:从零描述,Agent 生成
直接告诉 CraftBot 你想要什么。例如:
“创建一个项目冲刺看板,包含 TODO / In Progress / Done 三列,每张卡片有标题、负责人、截止日期。”
CraftBot 就会生成后端 API、数据库 Schema 和前端 UI,然后与你迭代调整。
方式二:从市场安装
CraftBot 内置一个应用市场,里面有社区贡献的现成 Living UI 应用,一键安装即可使用。
方式三:导入已有项目
如果你已经有 GitHub 仓库或现有项目,CraftBot 可以将其转换为 Living UI,并自动集成到自己的环境中。转换后的应用拥有后端状态持久化能力,Agent 可以直接读取和操作其中的数据。
核心功能速览
记忆系统(Memory System)
CraftBot 维护一个本地知识库,通过 RAG + Agent File System + 蒸馏(Distillation)构建。每天午夜,它会自主「做梦」并归纳当天发生的事情,形成长期记忆。这意味着你不需要重复告诉它同样的事情。
主动式 Agent(Proactive Agent)
不仅仅是「你问它答」。CraftBot 学习你的偏好、习惯和长期目标,然后主动规划任务并提建议(需要你的批准才能执行):
- “发现你周末常花 2 小时整理邮件,要我给你创建一个自动分类工具吗?”
- “你每周三都要跑这个数据报告,我帮你做成一个 Living UI 仪表盘?”
多会话路由
不需要每次像 /new 一样手动清上下文。CraftBot 智能判断何时应该开启新会话、何时应该恢复已有任务,保持上下文统一。
外部工具集成
目前已集成 Google Workspace、Slack、Notion、Zoom、LinkedIn、Discord、Telegram,支持 OAuth 和嵌入式凭证管理。
实战场景:从零搭建一个自动化数据分析看板
假设你每周都需要分析销售数据,生成标准报表。传统做法是:登录 Excel → 导出 → 写邮件 → 发报表。CraftBot 的流程完全不同:
步骤 1:告诉 CraftBot 需求。
"每周五下午 5 点,从数据库拉取本周销售数据,生成一个包含销售额趋势、Top 10 产品和区域对比的看板。"
步骤 2:CraftBot 分析后,发现没有适合的工具来做这件事。于是它主动提议创建一个 Living UI:
"当前没有满足需求的工具。我来创建一个『销售分析看板』Living UI, 连接数据库,每日自动刷新。需要用 Python + Dash + SQLite 实现, 运行在 127.0.0.1:9000。是否批准?"
步骤 3:你批准。CraftBot 创建项目、安装依赖、启动服务。几秒后,浏览器中出现了实时销售看板。
步骤 4:CraftBot 自动设置定时任务,每周五下午 5 点刷新数据,并主动将关键指标变化报告给你。
这在传统 AI 工具链中需要手动搭建 Grafana、配置 Data Source、写 SQL、设置告警,至少半天的工作被压缩成了几分钟。
对比:CraftBot vs 传统 Agent Harness
| 维度 | 传统 Harness | CraftBot |
|---|---|---|
| 工具调用 | 只能调用预定义工具 | 可自己发明工具 |
| UI 能力 | 纯 CLI / 聊天 | 可创建全栈 Web 应用 |
| 状态管理 | 无或有限 | Living UI 后端持久化 |
| 主动能力 | 被动响应 | 主动规划和提议 |
| 记忆 | 短期上下文 | RAG + 夜间蒸馏 |
| 许可证 | 多样 | MIT 完全开源 |
注意事项
- GUI 桌面自动化模式已被废弃。CraftBot 当前使用浏览器界面和 CLI 模式。
- Living UI 应用以子进程运行,不适合运行要求极端性能的生产级应用。它更适合内部工具、仪表盘和自动化工作流。
- 需要 LLM API Key(BYOK 模式),不支持开箱即用。可以使用 Ollama 本地模型实现零费用运行。
- 安装时确保没有其他服务占用 CraftBot 的默认端口。
总结
CraftBot 的 Living UI 概念代表了 AI Agent 能力的一次扩展——从「用工具」到「造工具」。当 Agent 发现自己缺少某个工具时,它可以即时创建它,而不是等待人类开发者编写。这种自举式(self-bootstrapping)的工作流在未来 Agent 生态中可能成为一个重要的设计模式。
如果你对构建能自我进化的 AI Agent 系统感兴趣,CraftBot GitHub 仓库(344⭐, MIT)是一个值得关注的参考实现。