CraftBot
让AI自主构建并运营SaaS工具的本地智能体系统,支持GUI自动化和主动规划
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让AI自主构建并运营SaaS工具的本地智能体系统,支持GUI自动化和主动规划
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
大多数 AI 助手在做的事,本质上是"你说我做"——你给指令,它执行,结束。然而现实工作远比这复杂:需要跨多个应用协作、需要记住上下文和偏好、需要在没人督促时主动规划。如果把 AI 助手当成真正的"数字员工"来设计,它应该能自主发现问题、构建工具、执行任务、汇报结果,而不仅仅是被动响应。
CraftBot 的核心设计哲学正是如此:它不仅能帮你做事,更能帮你构建做事的工具。它会分析你的工作流,主动识别可以自动化的环节,编写代码构建定制化 SaaS 工具,然后把这套工具当作自己能力的延伸来使用。你可以把它理解为一个住在本地的、自给自足的 AI 数字员工。
CraftBot 由 CraftOS 团队开发,定位是 Self-hosted proactive AI assistant,获得了 Product Hunt 每日热门产品推荐,并被 E2B 列为"AI Startups"赞助项目。当前已支持 40+ Agent Profile(CEO、财务、营销、DevOps 等角色)和 120+ Playbook 自动化模板(覆盖 19 个场景类别),生态中有 150+ MCP 集成和 170+ Skills。
项目核心架构基于 Python(3.10+),提供 Browser UI 和 CLI 两种交互方式,支持 OpenAI、Anthropic Claude、Google Gemini、OpenRouter 等主流 LLM 提供商,也支持通过 Ollama 接入本地模型。
这是 CraftBot 与其他 Agent 框架最本质的区别。大多数 Agent 系统的"工具"是预先定义好的函数调用;CraftBot 则让 AI 自己编写和部署 Web 应用作为工具层。这意味着当现有的工具无法满足需求时,AI 不是告诉你"这个我做不了",而是直接写代码、启动服务,把新能力变成持久化的工具。
Living UI 是这个能力的延伸:CraftBot 可以构建、导入或演进运行在 CraftBot 内部的 Web 应用,AI 能感知 UI 状态,直接读写和操作这些应用的数据。你在 CraftBot 里构建的工具,就是 CraftBot 自己的工具。
CraftBot 会主动学习用户的偏好、习惯和生活目标,然后主动发起经过你批准的任务规划。例如,如果你每天早上需要看行业动态,CraftBot 会记住这个习惯,在适当的时间主动提醒并帮你完成搜索和分析,而不是等你开口。
CraftBot 依赖 OmniParser 实现对 GUI 界面的解析能力。OmniParser 是一个基于 Gradio 的解析服务,首次启动需要下载约 4GB 的模型权重(通过 HuggingFace)。它将 GUI 截图解析为结构化信息,让 AI 能够"看懂"屏幕内容,实现对桌面应用的自动化控制。
这套能力通过 docker-compose 中的 omniparser 服务提供,默认端口 7861。由于 OmniParser 依赖 GPU 加速推理,建议在 NVIDIA GPU 环境下运行。
内置 150+ MCP(Model Context Protocol)集成和 170+ Skills,支持 Google Workspace、Slack、Notion、Zoom、LinkedIn、Discord、Telegram 等主流平台 OAuth 连接。这意味着 CraftBot 不只是一个本地 AI 助手,而是可以连接真实工作流的枢纽。
基于 RAG + Agent File System + 蒸馏机制构建本地知识库,每天午夜会进行"梦境整合"(Dream Consolidation),将一天中发生的事件整理归档。不同于简单的对话历史,这是一套主动的知识管理机制。
CraftBot 的 Docker Compose 包含三个核心服务:
| 服务 | 功能 | 端口 |
|---|---|---|
desktop | Xfce 桌面环境(Selkies WebRTC) | 3001 |
omniparser | GUI 解析服务(Gradio) | 7861 |
agent | 主 Agent 核心(Python) | — |
服务间通过 Docker 网络通信,agent 依赖 desktop 和 omniparser 的健康检查状态启动。主 Agent 需要挂载 docker.sock(用于在 desktop 容器中执行 docker exec 命令)和工作空间目录。
桌面 GUI 方案(Selkies)是一个值得注意的技术选择:通过 WebRTC 将 Xfce 桌面环境流式传输到浏览器,无需 VNC 或 RDP,延迟低且跨平台兼容性好。这种架构让 AI 能够像人一样操作图形界面。
LangGraph 工作流编排:CraftBot 的 Agent 核心逻辑基于 LangGraph 构建,提供状态机式的任务编排能力,相比简单的 ReAct 模式更适合处理复杂的多步骤任务。
OmniParser GUI 解析:用 AI 视觉模型替代传统的坐标点击,实现对任意 GUI 应用的通用自动化。这与 Anthropic 的 Computer Use、OpenAI 的 Operator 等产品方向一致,但作为开源实现更具可定制性。
多 LLM 后端抽象:通过统一的 adapter 层支持 OpenAI、Google-GenAI、Anthropic 三大 SDK,同时保留本地 Ollama 接入能力,无需重写代码即可切换模型提供商。
GPU 几乎是必选:OmniParser 的 GUI 解析功能需要 GPU 加速,虽然理论上可以 CPU 运行,但体验会严重下降。这增加了部署硬件门槛。
docker-compose 复杂度:3 服务架构(desktop + omniparser + agent)加上 docker.sock 挂载和安全配置,对于 Docker 新手来说理解成本不低。此外,首次启动 OmniParser 下载 4GB 模型权重也需要稳定的网络连接。
生产级安全风险:Agent 执行环境默认以 root 权限运行(docker run --privileged),虽然项目声称支持 BYOK(Bring Your Own Key)自托管,但如果系统被滥用或 prompt injection 攻击成功,后果可能严重。生产部署需要额外的安全隔离层。
多语言文档质量参差不齐:项目提供了 8 种语言的 README 翻译,但中文 README (README.cn.md) 内容与英文版本有较大出入,部分段落存在翻译缺失或错误,对中文用户的参考价值有限。
CraftBot 站在了一个极具野心的定位上:让 AI 从"工具"进化为"会造工具的工匠"。自构建 SaaS 工具的能力,结合 Proactive Agent 的主动规划、OmniParser 的 GUI 自动化、以及丰富的外部集成生态,使它成为目前功能最全面的开源 AI Agent 框架之一。
然而,这套复杂性的代价是更高的部署和维护门槛——它不是一个开箱即用的工具,而是一个需要投入时间配置的"AI 操作系统"。适合有一定技术背景、愿意深度定制 AI 工作流的个人用户和小型团队。