做了一年 Agent 基础设施,踩了无数坑,我终于想明白了一件事:好的 Agent 架构不是把所有功能塞进一个进程,而是让每一层都能独立演化。
2026 年初,OpenClaw 爆火 —— 一个自托管的 AI 助理。它本质是一个跑在你自己机器上的 Agent 网关(Gateway),通过 Telegram、Discord、Slack、飞书等你已经在用的聊天软件接入,能真正替你干活:收发邮件、管日程、浏览器自动化、执行命令。
OpenClaw 支持多端接入、记忆系统、技能市场(ClawHub)、多 Agent 协作,甚至 A2A(Agent-to-Agent)——功能很全。
为了用上 OpenClaw,我买了台 Mac Mini,日常通过手机发指令,做了很多项目,效率很高。
为了让其他人也用上 OpenClaw,我做了个托管服务,帮 500 多个用户部署了专属的龙虾,跑在云端的一套 K8S 集群上。
在自用和做托管服务的过程中,我对 OpenClaw 的架构设计越来越了解,也发现了很多问题。为了解决这些问题,我认为必须从底层架构全新设计,而不是在 OpenClaw 的基础上魔改。
我决定做一个更好的 Agent 框架:FastClaw,面向云原生多租户场景设计,更快、更轻量、更好用。

这篇文章记录了我对 OpenClaw 架构的理解,以及我对 FastClaw 架构设计的经验总结。
OpenClaw 虽然有不少问题,但它在产品方向上的探索是超前的。回头看,有几个创新点是真正有价值的。
OpenClaw 支持极广的 IM 接入——Telegram、Discord、Slack、WhatsApp、Signal、iMessage、飞书、Matrix、Microsoft Teams 等,外加 Web Chat 和 CLI。用户可以在任何地方和自己的 Agent 对话。
这个设计的核心洞察是:Agent 不应该被困在一个 App 里。你写代码的时候用终端,开会的时候用飞书,摸鱼的时候用 Telegram——Agent 应该无处不在。
OpenClaw 引入了 SOUL.md 的概念——一个定义 Agent 人格、语气、价值观的配置文件。不是冷冰冰的 system prompt,而是一份精心调教的"灵魂"。
这带来了两个意想不到的好处:
OpenClaw 的记忆系统分两层:
MEMORY.md,一份精简的长期记忆摘要,作为 project context 注入提示词memory/*.md 每日文件,平时不进上下文,靠 memory_search / memory_get 工具按需检索,不占 token配合 SOUL.md(人设)、USER.md(用户信息)等文件,Agent 可以记住你的偏好、习惯、常用工具,真正做到"越用越懂你"。
传统 Agent 是"你问我答"。OpenClaw 加了 Cron Job 和心跳机制后,Agent 可以:
这是 Agent 从工具进化为助理的关键一步。
OpenClaw 的 Skill 安装不是"去应用商店下载",而是在对话中直接说"帮我装一个翻译技能",Agent 自己去搜索、安装、配置。
这种对话即操作的范式降低了使用门槛,也让 Agent 有了一种"养成"的感觉——你在训练它、给它装新技能。
OpenClaw 支持同时运行多个 Agent,每个 Agent 有不同的专长:
这些 Agent 在单个 Gateway 进程内相互隔离运行,每个有独立的 workspace、状态目录(agentDir)和会话历史,通过 multi-agent routing 把消息分发给对应的 Agent。
OpenClaw 采用的是 Node.js 单体架构,核心组件包括:

配置方式:一个 ~/.openclaw/openclaw.json 文件管所有——LLM Provider、Channel Token、Plugin 配置、Skill 列表、默认参数……全在一个 JSON 里。
存储方式:文件系统为主,Session 存 JSON 文件,Memory 存 Markdown,Skills 存目录。
运行方式:openclaw start 启动一个 Node.js 进程,Gateway 挂载所有 Channel 和 Plugin,一荣俱荣一损俱损。
作为一个个人助理工具,OpenClaw 是够用的。但作为一个要服务多人的生产级 Agent 平台,它有致命缺陷。
OpenClaw 的隔离是围绕"Agent"设计的——Session、Memory 都按 agent / workspace 隔离,但没有"用户(account)"这层抽象。要真正隔离,得"一人一 Agent"。
也就是说,同一个 Agent 没法安全地服务多个互不信任的用户——做托管只能给每人单开一套,成本高、浪费大。缺的不是会话隔离,而是平台级多租户。
所有 Channel、所有 Plugin、所有 Agent 的运行时都挂在同一个 Node.js 进程里。一个 Plugin 内存泄漏,整个 Gateway 崩溃;一个 Channel 的 API 超时,所有 Channel 都卡住。
没有隔离,就没有可靠性。
OpenClaw 每轮都会把一组 bootstrap 文件——SOUL.md、MEMORY.md、AGENTS.md、工具说明——注入提示词。文件一多、对话一长,system prompt 越堆越大。
它也做了优化(memory/*.md 按需检索、cron 用隔离 session 把每轮压到 ~2-5K token),但默认配置对 token 不够敏感,bootstrap 写得啰嗦,账单就很可观。钱烧得心疼。
Node.js + 一堆 npm 依赖 + 文件系统 I/O,idle 状态就吃 500MB+ 内存。加上 Sandbox(Docker 容器),一台 4GB 的小机器跑得喘不过气。
~/.openclaw/),多 Pod 之间没法共享同一份配置和会话,天然单机node_modules 有 800MB+,构建时间 3 分钟+。每次更新依赖都像开盲盒——不知道哪个包会炸。
OpenClaw 的 Control UI 和 CLI 其实共享同一份 ~/.openclaw/openclaw.json(都走 config.get / config.set / config.apply,还有 base-hash guard 防并发覆盖),配置层面是一致的——这点没问题。
问题在体验:Web UI 界面粗糙,配置项藏得深,想在网页上完整跑通一次 Agent 配置并不顺手。对一个想拿出去给用户用的产品来说,"能用但不想用"就是劝退。
OpenClaw 的安全边界是"信任操作者本人",不是"在不可信用户之间做隔离"。默认值都是按这个前提来的:
exec 默认 full + 免审批、沙盒默认关闭,Agent 能直接在宿主机跑任意命令、读写文件——文档也承认这是"单操作者场景的有意 UX"自己单机用足够安全;但要做成多人平台,exec 沙盒、密钥加密、租户级 RBAC、注入防护,每一层都得从头补。
FastClaw 的设计原则很明确:轻量、快速、云原生。
# 一行命令安装,单二进制文件
curl -fsSL https://raw.githubusercontent.com/fastclaw-ai/fastclaw/main/install.sh | bash
# 零配置启动(纯环境变量)
FASTCLAW_PORT=18953 fastclaw
# K8s 部署就是一个 Deployment + Secret
FASTCLAW_STORAGE_DSN 一个环境变量切换存储后端,本地用 SQLite,生产切 PostgresFASTCLAW_OBJECT_STORE_* 环境变量接入 S3,多 Pod 共享 Skills 和文件OpenClaw 是"一个人的工具",FastClaw 是"一群人的 Agent 平台"。
用户模型:
├── super_admin — 平台管理员,全权限
├── user — 普通用户,管理自己的 Agent
├── app_user — 应用端用户(通过 API 懒创建)
└── channel_user — IM 渠道用户(Telegram/Discord 登录)
四层配置继承:
system (全局默认)
→ user (用户级覆盖)
→ agent (Agent 级覆盖)
→ (user, agent) (特定用户对特定 Agent 的定制)
内层配置自动覆盖外层,同名 Provider 配置整条替换。这意味着:

每个 Session 的 key 是 (user_id, agent_id, channel_type, chat_id) 四元组。同一个 Agent 被 100 个用户使用,每人看到的都是自己的记忆和历史。
X-Fastclaw-End-User Header 让 SaaS 层可以透传终端用户身份,FastClaw 自动为每个 (api_key, external_id) 对创建隔离的内部用户。零代码改造,接入即多租户。

Go 的 goroutine 天然适合高并发场景。FastClaw 的 Session Manager 可以同时处理数千个会话而不会互相阻塞。
关键设计:Session 是无状态的,状态在数据库里。 每次请求从 DB 加载上下文,处理完写回。这意味着:
# 编译产物就是一个二进制文件,约 30MB
make build
ls -lh bin/fastclaw
# -rwxr-xr-x 1 user staff 30M fastclaw
# 交叉编译
make release-local
# → dist/fastclaw-darwin-amd64
# → dist/fastclaw-linux-amd64
# → dist/fastclaw-windows-amd64.exe
没有 node_modules,没有运行时依赖,没有构建步骤。下载、chmod、运行,三步搞定。
对比 OpenClaw(Node.js)和 FastClaw(Go)的 idle 内存占用:

Go 编译为原生机器码,没有 GC 停顿,没有 JIT 预热。同样的硬件,能扛 10 倍流量。
OpenClaw 的 Plugin 跑在主进程里,一个 Plugin 崩了整个 Gateway 挂。
FastClaw 的 Plugin 通过 JSON-RPC 子进程 隔离运行:
FastClaw Gateway ←→ JSON-RPC (stdin/stdout) ←→ Plugin Process
openclaw-plugin-bridge,可以兼容 OpenClaw 的 TypeScript Plugin 生态FastClaw 对外部工具(Web Search、Image Gen、TTS 等)设计了统一的 Provider + Fallback Chain 架构。
比如 Web Search 配置了 Tavily 为主、SerpAPI 为备,Tavily 限流了自动切 SerpAPI,用户无感知。

┌──────────────────────────────────────────────────────┐
│ FastClaw Gateway (Go) │
│ │
│ ┌──────────────────────────────────────────────┐ │
│ │ HTTP API Layer │ │
│ │ /v1/chat/completions (OpenAI 兼容) │ │
│ │ /api/chat/stream (SSE 流式) │ │
│ │ /api/agents (Agent CRUD) │ │
│ │ /api/config (Provider 管理) │ │
│ │ /api/skills/install (Skill 安装) │ │
│ │ /api/apikeys (API Key 管理) │ │
│ └───────────────────┬──────────────────────────┘ │
│ │ │
│ ┌───────────────────▼──────────────────────────┐ │
│ │ Scope Resolution │ │
│ │ system → user → agent → (user, agent) │ │
│ │ 四层继承,内层覆盖外层 │ │
│ └───────────────────┬──────────────────────────┘ │
│ │ │
│ ┌───────────────────▼──────────────────────────┐ │
│ │ Agent Runtime │ │
│ │ ┌────────┐ ┌────────┐ ┌────────────────┐ │ │
│ │ │Session │ │Memory │ │Tool Providers │ │ │
│ │ │Manager │ │(MD+DB) │ │(Fallback Chain)│ │ │
│ │ └────────┘ └────────┘ └────────────────┘ │ │
│ │ ┌────────┐ ┌────────┐ ┌────────────────┐ │ │
│ │ │Skills │ │Sandbox │ │Plugin System │ │ │
│ │ │Loader │ │(Docker │ │(JSON-RPC 子进程)│ │ │
│ │ │ │ │ /E2B) │ │ │ │ │
│ │ └────────┘ └────────┘ └────────────────┘ │ │
│ └──────────────────────────────────────────────┘ │
│ │ │
│ ┌───────────────────▼──────────────────────────┐ │
│ │ Channel Layer │ │
│ │ Telegram │ Discord │ Slack │ Feishu │ Web │ │
│ └──────────────────────────────────────────────┘ │
└──────────────────────┬───────────────────────────────┘
│
┌─────────────┼─────────────┐
▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌──────────┐
│ SQLite │ │ Postgres │ │ S3 │
│ (本地) │ │ (生产) │ │ (对象存储)│
└─────────┘ └──────────┘ └──────────┘
FastClaw 最核心的架构决策是存算分离:
计算层(Gateway):
存储层(Database + Object Store):
这意味着:
FastClaw 基于 Scope 实现配置的链式继承
这带来了极高的灵活性:
gpt-5,所有新用户直接能用claude-opus,覆盖一层claude-fable5,再覆盖一层FastClaw 对所有外部依赖都做了 Fallback:
LLM Provider Fallback:
主模型 (claude-sonnet) → 备用模型 (gpt-4o) → 最后防线 (本地 ollama)
Tool Provider Fallback:
Web Search: Tavily → SerpAPI → 直接抓取
Image Gen: Replicate → 本地 SD
TTS: ElevenLabs → Fish Audio
Sandbox Fallback:
Docker (本地) → E2B (云端) → 无沙盒模式 (受限)
每一层 Fallback 对上层透明,LLM 不知道具体用的是哪个 Provider,用户也不需要关心。
FastClaw 不只是一个"更好的 OpenClaw"。它有四个递进的定位:
你可以在电脑上一行命令安装 FastClaw👇
curl -fsSL https://raw.githubusercontent.com/fastclaw-ai/fastclaw/main/install.sh | bash
可视化配置 FastClaw,替代 OpenClaw,Hermes Agent 日常使用。

可接入常用的 IM 软件:

适合:个人用的 AI 助手、Telegram Bot、Discord Bot、飞书机器人、微信 ClawBot。
你可以在 cloud.fastclaw.ai 云平台创建自己的 Agent

自定义 Agent 的 SOUL、技能、模型。

适合:Skills 创作者、提示词工程师,创建个性化 Agent,自用或分享给朋友使用。
你可以把 FastClaw 作为 Agent Runtime,导出 API 给其他 Agent 产品使用。

比如 weclaw.im 就是把 FastClaw 作为 Backend 的一个 Agent 应用,只做前端交互,一小时上线。

适合:想快速开发 Agent 产品的开发者,无需实现 Agent Loop、Sandbox 等运行时逻辑。
可以把 FastClaw 作为团队版的 OpenClaw,搭建 Agent 协作平台。团队共享知识库、Skills。

适合:需要私有化部署 Agent 平台的企业。只需一台内网服务器,快速部署,无限多开 Agent。
在做 FastClaw 的过程中,我总结了几条经验。
OpenClaw 一开始就做单租户,后来想加多租户发现要改的东西太多,几乎等于重写。FastClaw 从第一行代码就设计了 (user_id, agent_id) 的隔离模型,即使一开始只有一个人用,后续扩展也不需要改架构。
多租户不是功能,是架构决策。越早做越省事。
OpenClaw 用文件系统存数据,简单直接。但当你要做多实例部署、水平扩展、数据备份时,文件系统就是噩梦。
FastClaw 用数据库作为唯一真相源(SQLite 本地开发,Postgres 生产),文件系统只存 Skills 目录(可以通过 S3 共享)。
永远用数据库存状态。文件系统只存"内容"(代码、文档、配置文件),不存"状态"(Session、用户、权限)。
OpenClaw 所有功能跑在一个进程里,一个组件出问题全盘崩溃。FastClaw 用子进程隔离 Plugin,用 Docker/E2B 隔离代码执行,用数据库事务隔离并发写入。
如果两个组件的故障域不同,就不要让它们共享进程。
LLM API 会限流、会宕机、会涨价。Web Search API 会超时。Image Gen 会排队。如果你的 Agent 在任何一个外部依赖挂掉时就完全不能用,那你的 Agent 就是玩具。
FastClaw 的每个 Tool Category 都有 Fallback Chain,主 Provider 挂了自动切备用,用户无感知。
生产级 Agent 必须对所有外部依赖做 Fallback。没有例外。
OpenClaw 把所有上下文一股脑塞进每次请求,token 消耗居高不下。后来我学到:
上下文管理是 Agent 的核心竞争力。会省 token 的 Agent 才能活下去。
从 OpenClaw 到 FastClaw,本质上是从"做一个很酷的开源项目"到"做一个能跑在生产环境的平台"的思维转变。
OpenClaw 验证了方向——多端接入、SOUL 机制、记忆系统、多 Agent 协作,这些都是对的。
FastClaw 解决了工程问题——单租户、单点故障、资源浪费、不可扩展,这些都是要修的。
好的架构不是设计出来的,是迭代出来的。在迭代之前想清楚存算分离、多租户隔离、Fallback 容错这三件事,你会省下很多时间。
如果你也在做 Agent 基础设施,希望这篇文章能帮你少走一些弯路。
欢迎体验 fastclaw.ai,免费开源。
https://github.com/fastclaw-ai/fastclaw
欢迎 fork,感谢 star。
文章来自于"艾逗笔",作者 "艾逗笔"。
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】FASTGPT是基于LLM的知识库开源项目,提供开箱即用的数据处理、模型调用等能力。整体功能和“Dify”“RAGFlow”项目类似。很多接入微信,飞书的AI项目都基于该项目二次开发。
项目地址:https://github.com/labring/FastGPT
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0
【开源免费】VideoChat是一个开源数字人实时对话,该项目支持支持语音输入和实时对话,数字人形象可自定义等功能,首次对话延迟低至3s。
项目地址:https://github.com/Henry-23/VideoChat
在线体验:https://www.modelscope.cn/studios/AI-ModelScope/video_chat
【开源免费】Streamer-Sales 销冠是一个AI直播卖货大模型。该模型具备AI生成直播文案,生成数字人形象进行直播,并通过RAG技术对现有数据进行寻找后实时回答用户问题等AI直播卖货的所有功能。
项目地址:https://github.com/PeterH0323/Streamer-Sales