mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-27 07:16:19 +09:00
docs: update README
This commit is contained in:
+57
-12
@@ -24,7 +24,7 @@
|
||||
<hr>
|
||||
</div>
|
||||
|
||||
Memoh 是一个 AI Agent 系统平台。用户可通过 Telegram、Discord、飞书(Lark) 等创建自己的 AI 机器人并与之对话。每个 bot 拥有独立的容器与记忆系统,可编辑文件、执行命令并自我构建——与 [OpenClaw](https://openclaw.ai) 类似,Memoh 为多 bot 管理提供更安全、灵活、可扩展的解决方案。
|
||||
Memoh 是一个常驻运行的容器化 AI Agent 系统。你可以创建多个 AI 机器人,每个机器人运行在独立的容器中,拥有持久化记忆,并通过 Telegram、Discord、飞书(Lark) 或内置的 Web/CLI 与之交互。机器人可以执行命令、编辑文件、浏览网页、通过 MCP 调用外部工具,并记住一切 —— 就像给每个 Bot 一台自己的电脑和大脑。
|
||||
|
||||
## 快速开始
|
||||
|
||||
@@ -56,24 +56,69 @@ OpenClaw、Clawdbot、Moltbot 固然出色,但在稳定性、安全性、配
|
||||
|
||||
Memoh 是基于 Golang 的多 bot agent 服务,提供 bot、Channel、MCP、Skills 等的完整图形化配置。我们使用 Containerd 为每个 bot 提供容器级隔离,并大量借鉴 OpenClaw 的 Agent 设计。
|
||||
|
||||
Memoh Bot 具备深度工程化的记忆层,灵感来自 Mem0:对每轮对话进行知识存储,实现更精准的记忆检索。
|
||||
|
||||
Memoh Bot 能区分并记忆多人与多 bot 的请求,在任意群聊中无缝协作。你可以用 Memoh 组建 bot 团队,或为家人配置账号,用 bot 管理日常家务。
|
||||
|
||||
## 特性
|
||||
- **多 Bot 管理**:创建多个 bot;人与 bot、bot 与 bot 可私聊、群聊或协作。
|
||||
- **容器化**:每个 bot 运行在独立容器中,可在容器内自由执行命令、编辑文件、访问网络,宛如各自拥有一台电脑。
|
||||
- **记忆工程**:每次对话存入数据库,默认加载最近 24 小时上下文;每轮对话会存储为记忆,供 bot 通过语义检索召回。
|
||||
- **多平台**:支持 Telegram、飞书(Lark) 等。
|
||||
- **简单易用**:通过图形界面配置 Provider、Model、Memory、Channel、MCP、Skills 等,无需编码即可搭建自己的 AI 机器人。
|
||||
- **定时任务**:使用 cron 表达式在指定时间执行命令。
|
||||
- 更多…
|
||||
|
||||
- 🤖 **多 Bot 管理**:创建多个 bot;人与 bot、bot 与 bot 可私聊、群聊或协作。支持角色权限控制(owner / admin / member)与所有权转让。
|
||||
- 👥 **多用户与身份识别**:Bot 可在群聊中区分不同用户,分别记忆每个人的上下文,并支持向特定用户单独发送消息。跨平台身份绑定将同一用户在 Telegram、Discord、飞书、Web 上的身份统一关联。
|
||||
- 📦 **容器化**:每个 bot 运行在独立的 containerd 容器中,可在容器内自由执行命令、编辑文件、访问网络,宛如各自拥有一台电脑。支持容器快照保存与恢复。
|
||||
- 🧠 **记忆工程**:混合检索(稠密向量搜索 + BM25 关键词搜索),LLM 驱动的知识抽取。默认加载最近 24 小时上下文,支持记忆压缩与重建。
|
||||
- 💬 **多平台**:支持 Telegram、Discord、飞书(Lark) 及内置 Web/CLI。跨平台统一消息格式,支持富文本、媒体附件、表情回应和流式输出。跨平台身份绑定。
|
||||
- 🔧 **MCP(模型上下文协议)**:完整 MCP 支持(HTTP / SSE / Stdio)。内置容器操作、记忆搜索、网络搜索、定时任务、消息发送等工具,可连接外部 MCP 服务器扩展。
|
||||
- 🧩 **子代理**:为每个 bot 创建专用子代理,拥有独立上下文与技能,实现多代理协作。
|
||||
- 🎭 **技能与身份**:通过 IDENTITY.md、SOUL.md 定义 bot 人格,模块化技能文件可在运行时启用/禁用。
|
||||
- 🔍 **网络搜索**:可配置搜索提供商(Brave Search 等),支持网页搜索与 URL 内容抓取。
|
||||
- ⏰ **定时任务**:基于 Cron 的任务调度,支持最大调用次数限制。Bot 可自主在指定时间执行命令或工具。
|
||||
- 📥 **收件箱**:跨渠道收件箱,其他渠道的消息会排入收件箱并呈现在系统提示词中,确保 bot 不遗漏上下文。
|
||||
- 🧪 **多模型**:兼容任何 OpenAI 兼容、Anthropic 或 Google Generative AI 提供商。每个 bot 可独立配置聊天、记忆和嵌入模型。
|
||||
- 🖥️ **Web 管理界面**:基于 Vue 3 + Tailwind CSS 的现代面板,实时流式聊天、工具调用可视化、容器文件浏览器,所有配置可视化操作。深色/浅色主题,中英文支持。
|
||||
- 🚀 **一键部署**:Docker Compose 编排,自动迁移、containerd 初始化与网络配置,一条命令启动全栈。附带交互式安装脚本。
|
||||
|
||||
## 技术栈
|
||||
|
||||
| 层级 | 技术 |
|
||||
|------|------|
|
||||
| 后端 | Go, Echo, sqlc, Uber FX, pgx/v5, containerd v2 |
|
||||
| Agent 网关 | Bun, Elysia |
|
||||
| 前端 | Vue 3, Vite, Pinia, Tailwind CSS, Reka UI |
|
||||
| 存储 | PostgreSQL, Qdrant |
|
||||
| 基础设施 | Docker, containerd, CNI |
|
||||
| 工具链 | mise, pnpm, swaggo, sqlc |
|
||||
|
||||
## 架构
|
||||
|
||||
```
|
||||
┌─────────────┐ ┌─────────────────┐ ┌──────────────┐
|
||||
│ Channels │ │ Web UI │ │ CLI │
|
||||
│ (TG/DC/FS) │ │ (Vue 3 :8082) │ │ │
|
||||
└──────┬───────┘ └────────┬────────┘ └──────┬───────┘
|
||||
│ │ │
|
||||
▼ ▼ ▼
|
||||
┌──────────────────────────────────────────────────────────┐
|
||||
│ Server (Go :8080) │
|
||||
│ Auth · Bots · Channels · Memory · Containers · MCP │
|
||||
└──────────────────────┬───────────────────────────────────┘
|
||||
│
|
||||
┌───────────┼───────────┐
|
||||
▼ ▼ ▼
|
||||
┌──────────┐ ┌─────────┐ ┌──────────────────┐
|
||||
│ PostgreSQL│ │ Qdrant │ │ Agent Gateway │
|
||||
│ │ │ (向量库) │ │ (Bun/Elysia :8081)│
|
||||
└──────────┘ └─────────┘ └────────┬──────────┘
|
||||
│
|
||||
┌───────┼───────┐
|
||||
▼ ▼ ▼
|
||||
┌─────┐ ┌─────┐ ┌─────┐
|
||||
│Bot A│ │Bot B│ │Bot C│ ← containerd
|
||||
└─────┘ └─────┘ └─────┘
|
||||
```
|
||||
|
||||
## 路线图
|
||||
|
||||
详见 [Roadmap Version 0.1](https://github.com/memohai/Memoh/issues/2)。
|
||||
详见 [Roadmap Version 0.1.0](https://github.com/memohai/Memoh/issues/86)。
|
||||
|
||||
### 开发
|
||||
## 开发
|
||||
|
||||
开发环境配置请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user