个人常驻 Agent
OpenClaw、Hermes 等:常驻运行、多渠道接入、Skills 与本地执行。
一句话理解:个人常驻 Agent 的本质是“一个在你自己机器上 24 小时运行的网关进程”——通过聊天软件接收指令、通过定时与心跳主动干活、通过 Skills 和记忆越用越顺手;它把几乎全部权力交给了个人,因此安全边界必须由配对、白名单、审批和沙箱自己守住。
前几课的产品都有一个共同点:你打开一个应用,给它布置任务。个人常驻 Agent 走了另一条路——它 一直在线,住在你的电脑、服务器或一台闲置的迷你主机上,你在 Telegram、WhatsApp、Slack、飞书里给它发消息,它也会在定时任务触发时主动来找你。
2026 年初,开源项目 OpenClaw 让这种形态迅速走红;Nous Research 的 Hermes Agent 则把“自我改进”——自动沉淀 Skill 与记忆——作为核心卖点。本课依据两者的官方文档(截至 2026 年 9 月)拆解这类产品。
先说明产品背景:
- OpenClaw:此前先后使用过 Clawdbot、Moltbot 等名称。2026 年 2 月,创建者 Peter Steinberger 宣布加入 OpenAI,OpenAI CEO 表示项目将作为开源项目放在基金会中,并由 OpenAI 继续支持。官方文档显示项目采用 MIT 许可,由独立的非营利基金会维护。
- Hermes Agent:由 Nous Research 开发的开源 Agent,官方文档将其描述为“自我改进的 AI Agent”,内置学习循环:从经验中创建 Skill、在使用中改进 Skill,并跨会话积累对用户的了解。
共同的架构:网关 + Agent 运行时
两款产品都采用了这个结构。差异主要在记忆与 Skill 的“自我进化”程度,以及安全默认值。
用八个问题拆解
1. 它完成什么 Job?
“随叫随到的个人助理”:回复消息时顺手查资料、整理文件、跑脚本、管理日程,定时推送摘要,长期记住你的偏好。Job 是 开放式 的,这是它与业务 Agent 最大的区别——也是风险最大的地方。
2. 它能调用哪些工具?
- OpenClaw:内置工具覆盖命令执行(
exec)、文件读写与补丁、网页搜索与抓取、浏览器(browser)、消息发送、定时任务(cron)、子 Agent 与图像等媒体处理,并可通过插件与 ClawHub 扩展;iOS 与 Android 设备可以作为“节点”配对,提供相机与语音等能力。 - Hermes Agent:终端与代码执行、文件读写与补丁、网页搜索、浏览器、记忆与 Skill 管理工具,并支持 MCP。
两者都通过 Skills 扩展方法。以本站的 Search Router 为例:把它克隆到 ~/.hermes/skills/research/search-router 之后,直接对 Hermes 说“搜索 XXX”,Agent 就会按任务类型在 Tavily、Serper、Exa、Brave 之间选择搜索渠道。这正是“Skill 由描述驱动触发”的日常体验(参见「Skill 如何被发现与加载」)。
3. 它拿得到什么上下文?
这是两款产品设计最有特色的部分。
OpenClaw:工作空间文件 + 分层记忆
- 工作空间中的
AGENTS.md(操作指令)、SOUL.md(人设、语气与边界)、USER.md等文件在会话开始时加载。 MEMORY.md是精炼的长期记忆层,存放持久事实与决定,会话开始时加载。memory/YYYY-MM-DD.md是每日笔记,今天与昨天的笔记自动加载,更早的通过memory_search(语义搜索)和memory_get(读取指定文件或行)按需获取。- 官方文档描述了一个名为 dreaming 的后台整理机制:收集短期回忆信号、给候选内容打分,只把合格的条目提升到长期记忆中。
Hermes Agent:有容量上限的记忆 + 全文检索
~/.hermes/memories/下两个文件:MEMORY.md(Agent 的笔记,约 2,200 字符上限)与USER.md(用户画像,约 1,375 字符上限)。- 会话开始时把记忆作为“冻结快照”注入系统提示词,会话中的修改立即写盘,但要到下一次会话才进入提示词——官方文档说明这样做是为了保护前缀缓存(参见「提示缓存」)。
- 超出容量时,Agent 需要合并、替换旧条目,而不是无限追加。
- 所有 CLI 与聊天会话存入 SQLite,并通过 FTS5 全文检索,Agent 可以用
session_search找回几周前的对话。
两种设计代表了长期记忆的两个思路:OpenClaw 靠 分层 + 后台整理,Hermes 靠 硬容量上限 + 检索兜底。两者都在回答同一个问题:怎样让记忆有用,又不把上下文撑爆(参见「长期记忆」)。
把两种设计并排来看:
4. 它在哪里执行?
默认在 你自己的硬件 上运行,这是这类产品的核心卖点,也是最大的风险来源。
- OpenClaw 的网关始终运行在宿主机上;开启沙箱后,只有工具执行被移入沙箱。沙箱模式默认为关闭,可以设为只对非主会话启用或全部启用;沙箱范围可以是每个会话、每个 Agent 或共享;后端包括 Docker、Podman、SSH 等。官方文档坦言这“不是完美的安全边界”,但能实质性地限制文件系统与进程访问。
- Hermes Agent 提供多种终端后端:本地、Docker、SSH,以及 Daytona、Modal 等远程或无服务器环境。使用 Docker 后端时,容器默认丢弃全部 Linux capabilities、禁止提权并限制进程数量。
5. 它如何决定下一步?
对话触发时由模型在 Agent Loop 中决定。两款产品的特色在于 主动性:
- OpenClaw 心跳:系统定期在主会话中运行一轮 Agent,让模型检查是否有需要提醒你的事情。默认间隔 30 分钟,可以关闭。旧版的
HEARTBEAT.md任务文件已被弃用,周期性检查改为独立的自动化任务(cron jobs)。官方文档专门给出了降低心跳成本的配置,例如使用隔离会话、跳过启动文件或换用更便宜的模型。 - Hermes cron:可以用自然语言创建定时任务,例如“每天早上 9 点查看 Hacker News 的 AI 新闻并发到 Telegram”;任务由网关守护进程调度,在隔离的 Agent 会话中运行,结果投递到指定的聊天平台。
主动运行的代价是 持续的 Token 成本 与 无人值守时的风险,这也是为什么两者都把调度放在网关层、并为无人值守场景单独设计审批行为。
6. 它如何验证结果?
个人 Agent 通常没有系统化的验证环节,主要依赖:
- 在聊天中把结果回报给用户,由用户判断;
- Skill 中写入的检查步骤(例如脚本执行后检查输出);
- 定时任务在执行前校验配置是否可用——Hermes 的文档说明,配置有问题的任务会进入
blocked_config状态,避免空耗 Token。
这是个人常驻 Agent 最薄弱的一环。把它用于重要事务前,最好自己在 Skill 里补上验证步骤(参见「各类动作的验证方式」)。
7. 什么时候需要人确认?
谁能给它下指令是第一道确认:
- OpenClaw:未知发送者会收到配对码而不是被直接处理;私信支持配对、白名单、开放、禁用等模式;群聊默认需要 @ 才会响应。官方文档强调“一个网关对应一个信任边界”,不适合让互不信任的用户共用一个网关。
- Hermes Agent:网关授权默认拒绝;未配置白名单时所有用户都被拒绝。未知用户会收到 8 位配对码,由主人在命令行批准。
哪些动作需要批准是第二道确认:
- Hermes Agent 的危险命令审批有三种模式:默认的
smart用辅助模型评估风险,低风险自动批准、明显危险的自动拒绝、不确定的交给人;manual每次询问;off关闭审批(等同--yolo)。即使关闭审批,rm -rf /等灾难性命令仍被硬性拦截,用户自定义的approvals.deny规则也优先生效。在聊天中可以直接回复/approve或/deny。 - OpenClaw 通过工具策略的 allow/deny 控制可用工具;
tools.elevated是让exec跳出沙箱在宿主机执行的显式“逃生口”,可以用工具策略的 deny 永久关闭。
两道确认连起来,就是一条消息从进入网关到真正执行要经过的关卡:
8. 失败如何恢复?
- Hermes 检查点:开启后,在写文件、打补丁以及
rm、mv、sed -i等破坏性命令之前自动快照,可以用/rollback查看并恢复;官方文档注明该功能默认关闭,需要手动开启。 - 隔离执行:Docker 等沙箱后端把失误限制在容器内。Hermes 文档指出,在容器中会跳过危险命令检查,因为“容器本身就是安全边界”——这意味着容器配置本身必须可靠。
- 配置审计:OpenClaw 提供
openclaw security audit,检查暴露的端口绑定、错误的渠道配置与策略偏离。 - 防注入:OpenClaw 对不可信输入做隔离包裹;Hermes 在把
AGENTS.md等项目文件放入系统提示词前扫描注入内容,并过滤传给子进程的敏感环境变量。
可借鉴的设计决策
| 设计决策 | 产品中的做法 | 迁移到业务 Agent |
|---|---|---|
| 入口即身份校验 | 配对码、白名单、默认拒绝、群聊需 @ | 从 IM 或邮件触发的 Agent,先验证发起人身份与权限,再进入推理 |
| 记忆有上限、有整理 | Hermes 硬容量上限;OpenClaw 分层与 dreaming 整理 | 长期记忆设置容量与失效机制,避免越积越乱 |
| 冻结快照保护缓存 | 记忆在会话开始时注入,会话内不变 | 把稳定内容放在上下文前部,变化内容放后部 |
| 主动性放在调度层 | 心跳与 cron 由网关调度,任务隔离运行 | 定时扫描类 Agent 用独立会话运行,并设置预算 |
| 审批模式可分级 | smart / manual / off,外加不可关闭的硬性拦截 | 即使开放自动执行,也保留一份永远拦截的动作清单 |
| 第三方 Skill 视为代码 | OpenClaw 文档要求把第三方 Skill 当作不可信代码先阅读 | Skill 市场与内部 Skill 库需要审核与签名机制 |
| 坦诚说明信任边界 | “一个网关一个信任边界”“沙箱不是完美边界” | 在文档中写清楚产品 不 防什么 |
常见误区
- “跑在自己机器上就是安全的。” 数据不出本机只解决了隐私问题;一个能执行终端命令、又能被聊天消息驱动的 Agent,本机恰恰是最有价值的攻击目标。
- “开了 YOLO 模式效率更高。” 省下的是确认时间,承担的是整台机器的风险。更好的做法是用容器后端隔离,再在容器内放开。
- “装的 Skill 越多越强。” 每个第三方 Skill 都可能包含脚本和指令,等于给 Agent 安装了新代码。只安装读过、可信的 Skill。
设计要点
- 默认拒绝未知发送者,所有入口都要有身份校验。
- 执行位置与信任边界写清楚,高风险工具默认在沙箱中运行。
- 保留一份任何模式下都不可放行的动作清单。
- 长期记忆设置容量、整理与失效机制,并让用户可查看、可修改。
- 主动运行的任务单独计算成本,并设置频率与预算上限。
练习
如果你有一台可以常驻运行的机器,用 60 分钟尝试 Hermes Agent 或 OpenClaw(没有条件的话,只阅读文档完成设计部分):
- 接入一个聊天平台,并配置白名单或配对,确认陌生账号无法使用。
- 安装一个 Skill(例如 Search Router),用自然语言触发它。
- 创建一个每日定时摘要任务,估算它一个月的 Token 成本。
- 写下你会放进“永远拦截清单”的 5 条命令或动作。
延伸阅读
- OpenClaw Security:信任边界、配对、白名单与注入防护。
- OpenClaw Sandboxing:沙箱模式、范围与后端。
- OpenClaw Memory overview:MEMORY.md、每日笔记与 dreaming。
- OpenClaw Heartbeat:心跳机制与成本控制。
- Hermes Agent Security:审批模式、网关授权与容器隔离。
- Hermes Agent Persistent Memory:记忆文件、容量与会话检索。
- Hermes Agent Skills System:Skill 的结构、渐进加载与自动创建。
- OpenClaw creator Peter Steinberger joins OpenAI(TechCrunch):项目转入基金会的背景报道。
下一步
个人 Agent 追求“什么都能做”,而最容易算清价值的 Agent 恰恰相反。最后一课「垂直业务 Agent」会看客服、销售、财务、运维领域的 Agent 如何用窄而深的 Job 换取可靠性与商业价值。