自托管个人 AI Agent,通过对话描述工作流,自动生成代码、执行、调度并持久化,支持 Telegram 和 API 接入。
OpenTulpa 是一个自托管的个人 AI Agent 框架,核心能力是将自然语言描述的工作流转化为可执行代码。基于 LangGraph 和 FastAPI 构建,支持通过 Telegram DM 或内部 API 交互。
核心能力#
记忆与个性化#
- 基于 mem0 的持久化记忆层,跨会话记住用户偏好、文件、历史对话
- 支持文本、文件、图片、语音的多模态输入理解
- 上下文自动压缩与历史摘要,控制 token 消耗
代码生成与执行#
- 自然语言描述工作流 → Agent 编写脚本 → 沙箱执行 → 调度 → 持久化
- Skills 系统:可复用工作流以 SKILL.md 形式存储(user/global 作用域)
- APScheduler 支持定时任务、周期作业、长时间运行流程
安全与审批机制#
- 外部影响操作需显式用户审批(pending → approved/denied/expired → executed)
- 审批可限定单次、过期时间、操作作用域
- Telegram webhook 通过
x-telegram-bot-api-secret-token验证
扩展能力#
- 集成 crawl4ai 进行网页抓取
- 可选 Browser Use Cloud 进行浏览器自动化(填表、网页操作)
- 通过 OpenRouter 路由支持多 LLM 模型切换
典型应用场景#
| 场景 | 示例 |
|---|---|
| 邮件管理 | 每日 Gmail 摘要,提取待办事项 |
| 市场监控 | 股票/加密货币价格跟踪,Alpaca 集成 |
| 团队协作 | Slack Bot、定时 Standup 提醒 |
| 内容订阅 | Giphy 趋势订阅、RSS/Feed 聚合 |
| 自动化响应 | GitHub Webhook 监听 CI 失败并推送通知 |
技术架构#
- 运行时框架:LangGraph(Agent 图编排)+ LangChain(工具链)
- Web 框架:FastAPI
- 记忆层:mem0
- 持久化:SQLite(多 DB 文件)
- 调度器:APScheduler
- LLM 路由:OpenRouter(必需)
快速开始#
# 克隆仓库
git clone https://github.com/kvyb/opentulpa.git
cd opentulpa
# 配置环境变量
cp .env.example .env
# 编辑 .env,添加 OPENROUTER_API_KEY
# API 模式启动
uv run python -m opentulpa
接口方式#
- Telegram Bot:通过 DM 交互,支持 webhook 安全验证
- 内部 API:
POST /internal/chat直接调用
运行时数据#
.opentulpa/— 记忆、配置、上下文tulpa_stuff/— 生成的脚本和产物.opentulpa/logs/agent_behavior.jsonl— 结构化行为日志
成本估算#
- 每次智能循环约 $0.011
- 大多数任务 3-4 次循环完成
- 100 条消息约 $3.30-$4.40