返回 FEED
OPENCLAW2026-05-18

为什么我没有 Fork OpenClaw:构建能做任何事情的无服务器 Agent

核心洞察

对于日常任务,不需要给个人助手一台完整的机器。

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?"

日常任务需要什么机器?

任务解决方案
发邮件、创建播放列表、搜索 GoogleComposio 覆盖所有常见功能
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。

借鉴的设计

来源设计说明
OpenClawsoul / identity / personality prompt 结构将系统提示拆分为 soul 层(Agent 是谁)和用户提示,UX 胜利——助手感觉像角色而非工具
pi (OpenClaw 底层 harness)compaction 算法@badlogicgames & team
OpenClawadaptive chunkinggithub.com/openclaw/openclaw

唯一有意的架构差异:记忆

系统记忆设计
OpenClaw多种选项
TrustClawpgvector 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

端点行为

  1. 原子 claim(UPDATE ... RETURNING
  2. 按 instance 分组 due jobs
  3. 每个 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 设置

对非技术用户较复杂

  1. 通过 BotFather 创建自己的 bot
  2. 粘贴 token 到 .env
  3. 配置 webhook URL 指向 gateway
  4. 只能通过 hit API 生成 webhook token

合理流程 for 开发者,但 TrustClaw 用户包括不知道 webhook 是什么的人。

TrustClaw 的简化方案

一个共享 Telegram bot。

关联流程

  1. 在 dashboard 点击按钮
  2. 获取短码
  3. 手机发送 /start <code>
  4. 完成

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 GatewayAI 路由
Vercel CRON定时任务

整个项目可单命令部署。

开源态度

Fork it, or just steal the parts you like, that's what this writeup is for :)

资源