Memoh:自托管的容器化 AI Agent 编排平台
> 一句话版本: 用 Go 写的一套开源 AI Agent 平台,每个机器人跑在独立容器里、带持久记忆系统、接十几个聊天渠道,彻底自托管 —— 等于自己搭一个能养多个 AI 员工的基础设施。
- 来源: https://github.com/memohai/Memoh
- 日期: 2026 年活跃开发中
- 作者: MemohAI Team
- 许可: AGPLv3
- 安装:
curl -fsSL https://memoh.sh | sh - 文档: https://docs.memoh.ai
- 社区: https://t.me/memohai
项目速览
Memoh(/ˈmemoʊ/)是一套自托管的容器化 AI Agent 编排平台。在 2026 年已被多篇评测文章列为 OpenClaw 的主要竞品之一。
核心设计: 每个 AI 机器人运行在独立的容器 Workspace 里,有自己的文件系统、网络、工具链,就像给每个机器人配了一台电脑。机器人之间互相隔离,但通过统一平台管理。
与 OpenClaw 的对比
| 维度 | Memoh | OpenClaw |
|---|---|---|
| 语言 | **Go**(Echo + Uber FX DI) | Node.js / TypeScript |
| 隔离方式 | **容器化 Workspace**(Docker/K8s/containerd/Apple Virtualization) | 进程隔离 |
| 记忆系统 | 专业级 — LLM 抽取 + 混合检索 + 多后端 | 依赖 lossless-claw 等插件 |
| UI | 完整的 Vue 3 Web UI + 桌面端 App | 纯 CLI / API / 渠道绑定 |
| 渠道 | Telegram、Discord、飞书、QQ、钉钉、企业微信、微信、Matrix 等 | 类似广度 |
| MCP | 原生支持 HTTP/SSE/Stdio/OAuth | 通过配置支持 |
| 模型 | OpenAI 兼容、Anthropic、Google、Codex、Copilot | 类似广度 |
| 子智能体 | 原生支持(subagent) | 原生支持(sessions_spawn) |
| 技能系统 | Agent Skill 标准 + 应用超市 | Agent Skill 标准 |
技术架构
后端(Go)
cmd/agent/ → 主服务 (Go + Echo + Uber FX)
cmd/bridge/ → 容器内 gRPC bridge(UDS,管理 display/browser)
internal/agent/ → 核心 AI Agent(Twilight AI SDK)
internal/memory/ → 长期记忆系统(多后端)
internal/channel/ → 渠道适配器(Telegram/Discord/飞书/QQ/微信/Matrix 等)
internal/container/ → 容器运行时抽象(containerd/Docker/K8s/Apple Virtualization)
前端
- Vue 3 + Vite 8 + Tailwind CSS 4 + Pinia 3
- Markdown 渲染:markstream-vue + Shiki + Mermaid + KaTeX
- 桌面端:Electron 34(自管理本地 server + embedded Qdrant)
基础设施依赖
- PostgreSQL 或 SQLite
- Qdrant(向量数据库,桌面版内嵌)
- 容器运行时(Docker/K8s/containerd v2/Apple Virtualization)
记忆系统(这是最大亮点)
Memoh 自带一套完全可自托管的记忆引擎,不依赖外部 API。
三种内置模式
| 模式 | 后端 | 适合 |
|---|---|---|
| **关** | 仅文件,无向量检索 | 试用、排错 |
| **稀疏** | 本机小模型神经稀疏向量 + BM25 | 全本地、零费用 |
| **稠密** | 向量模型 + Qdrant | 语义检索 |
实现细节
- LLM 事实抽取:每轮对话解析、去重,存成结构化记忆(非原始全文)
- 混合检索:稠密向量 + 稀疏向量 + BM25 再排序
- 记忆整理:LLM 定期合并冗余/过时条目
- 可检查可改:Web UI 浏览、搜索、手动建/改记忆、整库重建,向量流形可视化
其他后端(可插拔)
| 后端 | 类型 | 说明 |
|---|---|---|
| **Mem0** | SaaS | mem0.ai 的托管记忆服务 |
| **OpenViking** | SaaS/自管 | 开源记忆方案 |
容器化 Workspace(第二大亮点)
每个机器人可以有两种工作模式:
1. 隔离容器:Docker / K8s / containerd v2 / Apple Virtualization
- 自己的文件系统、网络、工具
- 快照、数据导入导出、版本管理
- 可选:完整 GUI 桌面环境(VNC + 有头浏览器)
2. 信任本地:桌面/开发模式下的本地目录
Desktop Environment in Containers — 这个很独特:容器里跑完整桌面环境,包括 VNC 访问和有头浏览器。对于需要真实 GUI 交互的任务(比如拖拽上传、复杂 Web 表单),是真正的 Game Changer。
渠道支持广度
| 即时通讯 | 办公协同 | 邮件 |
|---|---|---|
| Telegram ✓ | 飞书/Lark ✓ | Mailgun ✓ |
| Discord ✓ | 钉钉 ✓ | SMTP ✓ |
| QQ ✓ | 企业微信 ✓ | Gmail OAuth ✓ |
| Matrix ✓ | 微信 ✓ | |
| Misskey ✓ | 公众号 ✓ |
所有渠道支持跨平台身份绑定,群聊里能区分不同用户。
子项目:Twilight AI
从 Memoh 拆出的 Go AI SDK(灵感来自 Vercel AI SDK):
provider := openai.New(openai.WithAPIKey("sk-..."))
model := provider.ChatModel("gpt-4o-mini")
text, _ := sdk.GenerateText(ctx,
sdk.WithModel(model),
sdk.WithMessages([]sdk.Message{...}),
)
支持:GenerateText、StreamText、Embed、Tool Calling、MCP、Image Generation、Speech Synthesis、Approval Flow。
Go 生态里少有的高质量 AI SDK。
评分
| 维度 | 评分 | 说明 |
|---|---|---|
| 架构设计 | ★★★★★ | Go 语言、容器隔离、Uber FX DI,工程质量肉眼可见 |
| 记忆系统 | ★★★★★ | 多后端、混合检索、事实抽取、整理,比很多竞品都完整 |
| 可扩展性 | ★★★★★ | MCP、Agent Skill、应用超市、子智能体 |
| 部署复杂度 | ★★★★☆ | 一键安装脚本很完善,但容器依赖是前提 |
| 社区活跃度 | ★★★★☆ | 有 Telegram 群、文档完善、持续更新 |
| 与我们的关联 | ★★★★★ | 直接竞品,记忆系统设计值得学习,Twilight AI 的 Go 实现有参考价值 |
值得关注的设计细节
1. Sential(哨兵)循环检测:internal/agent/sential.go — 内置 Agent 死循环检测机制,防止机器人无限重复操作
2. Guard State:internal/agent/guard_state.go — 守卫状态管理,安全边界控制
3. Prompt 模板系统:多个预置 system prompt(chat/discuss/heartbeat/schedule/subagent),高度模块化
4. Compaction:internal/compaction/ — 消息历史整理/摘要服务,类似 LCM 的 compaction
5. Memory Compaction:LLM 定期合并冗余记忆条目,保持索引可控
一句话总结
> 如果你想自己搭一套"给每个 AI 员工一个独立办公室"的 Agent 平台,Memoh 是目前最完整的开源方案 —— 从记忆系统到容器隔离到 12 个渠道,基本上能想到的功能它都做了,而且工程品质很高(Go + Vue 3)。和 OpenClaw 是直接竞品,各有取舍。