GoForum🌐 V2EX

[分享创造] 写了一个开源 agent 平台,专门解决"管 100 个 agent"的运维问题

2code · 2026-04-29 09:55 · 0 次点赞 · 0 条回复

各位 V2EXer ,最近在 Claude Code 的加成下,生产率有点爆棚,和大家分享一下自己折腾的东西:

起因

最近一年 CLI agent 火起来了,Claude Code 、OpenClaw 、Hermes 这一类,本质上都是个人助理形态:

  • memory 是 markdown 文件
  • session 是 JSONL
  • skill 是文件夹
  • secret 是 dotfile / 环境变量
  • 配置散落在 ~/.xxx/ 下

一个人一台电脑用这种栈,体验好还方便。但我自己折腾的时候发现,一旦想跑多个 agent —— 比如给团队每人配一个、或者做一个 SaaS 给每个用户配一个、或者跑一群分工不同的 specialist agent —— 这种”文件即状态”的模式就崩了。

  • 想给 100 个 agent 装同一个 skill:写部署脚本 SSH 进每台机器
  • 想统一加一条系统指令:同上
  • 想审计某个 agent 上周做了啥:登上去 grep 文件
  • secret 散在各处还在 shell history 里,安全性也很差

这是一个没有运维层的栈,因为单用户场景下 agent 自己就是运维。

做了啥

写了个开源平台叫 OpenHermit 。一个核心设计选择:把内部状态和外部状态分开。

  • 内部状态( sessions / memories / instructions / skills / MCP / schedules / secrets / users )→ 全部进 PostgreSQL ,按 agent_id 分 scope
  • 外部状态( agent 当前在工作的 workspace 文件)→ 留在每个 agent 自己的 Docker 容器里

类比:人的记忆在脑子里,工作的文件在电脑里。OpenClaw 把这两者混在一起,OpenHermit 把它们分开。

我觉得 openclaw 的做法有点像:你既可以在你的桌面上工作,又可以随时打开自己的脑子动手术。我的做法是把这两个事情严格分开,手术的事情交给一个专业的人来管理。

这样做带来什么

内部状态集中后,运维操作变成一行命令:

hermit skills enable standup-digest –all # 给所有 agent 装一个 skill hermit mcp enable mcp_github –all # 给所有 agent 加一个 MCP hermit instructions append rules “不要泄露 PII 。” –all # 给所有 agent 推一条新规则 hermit config secrets set OPENROUTER_API_KEY … –agent main # 更换 secret

也可以从一个 admin UI 看到所有 agent 的 session 、event 、memory ,secret 加密存表里( AES-256-GCM ),channel adapter (Telegram/Discord/Slack) 内置好了。 当前状态

  • License: MIT
  • 栈: TypeScript + Hono + PostgreSQL + Drizzle + Docker
  • 内置 channel: CLI / Web / Telegram / Discord / Slack
  • 仍然在快速迭代,文档、测试覆盖、稳定性都还有不少坑要填
  • star 数还很惨淡,欢迎拍砖、提 issue 、提 PR

链接

想听的反馈

  1. 内部 / 外部状态这个切分,大家觉得是合理的设计选择吗?还是有更好的技术架构?
  2. 你们身边有没有在管多 agent 的场景?是怎么解决的?
  3. 任何 “上 Postgres 到底有没有必要” 的反对意见 —— 都欢迎,我现在最缺的就是不同视角。

谢谢各位看完这么长。

0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: 2code
发布: 2026-04-29
点赞: 0
回复: 0