核心洞察
对于日常任务,不需要给个人助手一台完整的机器。
3 天构建 TrustClaw,其中 2 天浪费在后来删除的基础设施上。
为什么不是 Fork OpenClaw?
最初的兴奋
OpenClaw 席卷互联网后,Sarah 立即受到启发:
- 让非技术用户(和懒人)轻松启动自己的个人 Agent
- 无需部署自己的实例或购买 Mac mini
最初的想法
为每个用户自动部署虚拟机。
- 很多公司和独立黑客也开始这样做
转折点
"What if I don't need a virtual machine at all? What if I don't need to fork OpenClaw?"
日常任务需要什么机器?
| 任务 | 解决方案 |
|---|---|
| 发邮件、创建播放列表、搜索 Google | Composio 覆盖所有常见功能 |
| Composio 没有的应用 | Composio browser tool(可监控和交互浏览器会话) |
| 写代码 | Composio workbench tool(在沙箱执行代码,缓存/处理/可视化输出),可调用 Devin 等编码 Agent |
| 在本地计算机操作 | Composio triggercmd 集成(远程触发特定命令) |
Composio 的工具数量 absurd,甚至能找到让 AI Agent spam call 未婚妻的方式。
关键认知
不是 Agent "技术上"能做这些事,而是系统专门为做这些事设计,且做得极其好。
Composio 有 continual learning layer,always improving the plans ("skills")。
工具随时间变得 insane 地优化 for Agent 使用。
免责声明
不推荐用于:
- 编码
- 视频编辑
- 任何强烈受益于稳定环境的任务(非一次性云 Agent 调用/沙箱)
但想要 Composio 好处的 OpenClaw 用户:有 Composio CLI for OpenClaw。
如何访问 1000+ App?
简单到荒谬
给 Agent 6 个 meta-tools(仅此而已)。
const session = await composio.create(instance.userId, {
manageConnections: { waitForConnections: true },
});
const tools = await session.tools();
这就是 action layer。
从 OpenClaw 借鉴了什么?
TrustClaw 不是 OpenClaw 的 fork,但 orchestration heavily inspired。
借鉴的设计
| 来源 | 设计 | 说明 |
|---|---|---|
| OpenClaw | soul / identity / personality prompt 结构 | 将系统提示拆分为 soul 层(Agent 是谁)和用户提示,UX 胜利——助手感觉像角色而非工具 |
| pi (OpenClaw 底层 harness) | compaction 算法 | @badlogicgames & team |
| OpenClaw | adaptive chunking | github.com/openclaw/openclaw |
唯一有意的架构差异:记忆
| 系统 | 记忆设计 |
|---|---|
| OpenClaw | 多种选项 |
| TrustClaw | pgvector RAG baked into agent loop,用户无需思考 |
如何实现无限记忆?
Memory Flush 机制
在 compaction 前运行 "memory flush"。
流程
上下文接近 compaction 阈值
↓
触发单独的 LLM 调用(仅带 memory tools)
↓
提示模型将持久事实存入 pgvector
↓
compaction 擦除对话
↓
重要内容在总结中存活下来
模拟无限上下文。
坦率承认
记忆系统有 issues:
- lossy
- 不擅长将 episodic 系列事件组合在一起
欢迎贡献改进想法。
如何实现 "24/7 工作"?
Agent 自调度
schedule tool:create / list / delete actions。
OpenClaw 默认:每 30 分钟唤醒。
TrustClaw:没有默认值——用户偏好。
用户示例
"每天早上给我发天气和今天有什么安排"
→ Agent 自己调度执行。
实现细节
Vercel.json:每分钟 cron 命中 GET /api/cron/trustclaw。
端点行为:
- 原子 claim(
UPDATE ... RETURNING) - 按 instance 分组 due jobs
- 每个 instance dispatch 一个 fetch 到
/api/cron/trustclaw/execute
SQL Claim 关键设计
UPDATE composio_claw_cron_job cj
SET "lockedAt" = NOW(), "lockedBy" = $invocationId, "nextRunAt" = NULL
FROM composio_claw_instance ci
WHERE cj."instanceId" = ci.id
AND cj.enabled = true
AND (
(cj."nextRunAt" <= NOW() AND cj."lockedAt" IS NULL)
OR (cj."lockedAt" < NOW() - INTERVAL '10 minutes') -- stale recovery
)
RETURNING cj.id, cj."instanceId"
三个关键设计
| 设计 | 说明 |
|---|---|
| Lock | 防止两个 cron tick 竞争产生重复 |
| Stale-lock recovery | 处理崩溃的无服务器调用,超过 10 分钟重新认领 |
| nextRunAt = NULL on claim | 长时间运行任务(>60s)不会被下一分钟 tick 重新拾取,调度器在完成后重新调度 |
Telegram 如何工作?
OpenClaw 的 Telegram 设置
对非技术用户较复杂:
- 通过 BotFather 创建自己的 bot
- 粘贴 token 到 .env
- 配置 webhook URL 指向 gateway
- 只能通过 hit API 生成 webhook token
合理流程 for 开发者,但 TrustClaw 用户包括不知道 webhook 是什么的人。
TrustClaw 的简化方案
一个共享 Telegram bot。
关联流程:
- 在 dashboard 点击按钮
- 获取短码
- 手机发送
/start <code> - 完成
Bot 维护:chat ID → instance ID 映射。
路由:所有消息 → 同一个 prepareAgentRun() 循环。
Cron 任务:输出自动投递到 Telegram(如果已关联)。
效果:
"每天早上 8 点,总结我的 Slack DM 并在 Telegram ping 我"
→ 开箱即用,用户侧零基础设施。
如何自己部署?
多用户支持
开箱即用(auth 由 @better_auth 处理)。
完美 starter template for 你的下一个项目。
部署方式
方式 1:Vercel Template
零代码部署:github.com/ComposioHQ/trustclaw
方式 2:命令行
npx @composio/trustclaw deploy
技术栈
| 服务 | 用途 |
|---|---|
| Vercel | 部署 |
| Vercel Database + Redis | 数据存储 |
| Vercel AI Gateway | AI 路由 |
| Vercel CRON | 定时任务 |
整个项目可单命令部署。
开源态度
Fork it, or just steal the parts you like, that's what this writeup is for :)
资源
- 作者:Sarah (@sarahfim)
- 原文:https://x.com/sarahfim/status/2055462458140024906
- TrustClaw:https://github.com/ComposioHQ/trustclaw
- TrustClaw App:https://trustclaw.app
- Composio:https://composio.dev
- OpenClaw:https://docs.openclaw.ai
- pi (harness):@badlogicgames & team