mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-27 07:16:19 +09:00
+35
-30
@@ -6,7 +6,7 @@
|
||||
<div align="center">
|
||||
<img src="./assets/logo.png" alt="Memoh" width="100" height="100">
|
||||
<h1>Memoh</h1>
|
||||
<p>多成员、结构化长记忆、容器化的 AI Agent 系统。</p>
|
||||
<p>自托管、常驻运行的容器化 AI Agent 平台。</p>
|
||||
<p>📌 <a href="https://docs.memoh.ai/blogs/2026-02-16.html">Introduction to Memoh - The Case for an Always-On, Containerized Home Agent</a></p>
|
||||
<div align="center">
|
||||
<img src="https://img.shields.io/github/package-json/v/memohai/Memoh" alt="Version" />
|
||||
@@ -28,7 +28,7 @@
|
||||
<hr>
|
||||
</div>
|
||||
|
||||
Memoh 是一个常驻运行的容器化 AI Agent 系统。你可以创建多个 AI 机器人,每个机器人运行在独立的容器中,拥有持久化记忆,并通过 Telegram、Discord、飞书(Lark)、Email 或内置 Web 管理界面与之交互。机器人可以执行命令、编辑文件、浏览网页、通过 MCP 调用外部工具,并记住一切 —— 就像给每个 Bot 一台自己的电脑和大脑。
|
||||
Memoh 是一个常驻运行的容器化 AI Agent 系统。你可以创建多个 AI 机器人,每个机器人运行在独立的容器中,拥有持久化记忆,并通过 Telegram、Discord、飞书(Lark)、QQ、Matrix、企业微信、微信、Email 或内置 Web 界面与之交互。机器人可以执行命令、编辑文件、浏览网页、通过 MCP 调用外部工具,并记住一切 —— 就像给每个 Bot 一台自己的电脑和大脑。
|
||||
|
||||
## 快速开始
|
||||
|
||||
@@ -45,12 +45,14 @@ curl -fsSL https://memoh.sh | sudo sh
|
||||
```bash
|
||||
git clone --depth 1 https://github.com/memohai/Memoh.git
|
||||
cd Memoh
|
||||
cp conf/app.docker.toml config.toml
|
||||
# 编辑 config.toml
|
||||
sudo docker compose up -d
|
||||
```
|
||||
|
||||
> **安装指定版本:**
|
||||
> ```bash
|
||||
> curl -fsSL https://memoh.sh | sudo MEMOH_VERSION=v1.0.0 sh
|
||||
> curl -fsSL https://memoh.sh | sudo MEMOH_VERSION=v0.6.0 sh
|
||||
> ```
|
||||
>
|
||||
> **使用中国大陆镜像加速:**
|
||||
@@ -66,36 +68,40 @@ sudo docker compose up -d
|
||||
|
||||
## 为什么选择 Memoh?
|
||||
|
||||
OpenClaw 令人印象深刻,但在稳定性、安全性、配置复杂度和 token 成本上存在明显不足。如果你正在寻找稳定、安全的方案,不妨考虑 Memoh。
|
||||
Memoh 为**常驻连续运行**而生 —— 一个始终在线的 AI,一份属于你自己的记忆。
|
||||
|
||||
Memoh 是基于 Golang 的多 bot agent 服务,提供 bot、Channel、MCP、Skills 等的完整图形化配置。我们使用 Containerd 为每个 bot 提供容器级隔离,并大量借鉴 OpenClaw 的 Agent 设计。
|
||||
|
||||
Memoh Bot 能区分并记忆多人与多 bot 的请求,在任意群聊中无缝协作。你可以用 Memoh 组建 bot 团队,或为家人配置账号,用 bot 管理日常家务。
|
||||
- **轻量高效**:Go 语言构建,可作为家庭/工作室基础设施,在边缘设备上高效运行。
|
||||
- **默认容器化**:每个 Bot 拥有独立容器,包含专属文件系统、网络和工具。
|
||||
- **混合架构**:云端推理获取前沿模型能力,本地记忆和索引保障隐私。
|
||||
- **多用户优先**:用户与 Bot 之间具有明确的共享和隐私边界。
|
||||
- **全图形化配置**:通过现代 Web 界面配置 Bot、渠道、MCP、技能等所有设置,无需编写代码。
|
||||
|
||||
## 特性
|
||||
|
||||
- 🤖 **多 Bot 管理**:创建多个 bot;人与 bot、bot 与 bot 可私聊、群聊或协作。支持角色权限控制(owner / admin / member)与所有权转让。
|
||||
- 👥 **多用户与身份识别**:Bot 可在群聊中区分不同用户,分别记忆每个人的上下文,并支持向特定用户单独发送消息。跨平台身份绑定将同一用户在 Telegram、Discord、飞书、Web 上的身份统一关联。
|
||||
- 📦 **容器化**:每个 bot 运行在独立的 containerd 容器中,可在容器内自由执行命令、编辑文件、访问网络,宛如各自拥有一台电脑。支持容器快照保存与恢复。
|
||||
- 🧠 **记忆工程**:多供应商记忆架构 —— 内置(off / sparse / dense 三种模式)、[Mem0](https://mem0.ai)、OpenViking。LLM 驱动的知识抽取,混合检索(稠密语义搜索 + BM25 关键词 + 神经稀疏向量),24 小时上下文加载,记忆压缩与重建,多语言自动检测。
|
||||
- 💬 **多平台**:支持 Telegram、Discord、飞书(Lark)、Email 及内置 Web 管理界面。跨平台统一消息格式,支持富文本、媒体附件、表情回应和流式输出。跨平台身份绑定。
|
||||
- 📧 **邮件**:多适配器邮件服务(Mailgun、通用 SMTP),支持按 bot 绑定与发信审计日志。Bot 可将邮件作为渠道收发。
|
||||
- 🔧 **MCP(模型上下文协议)**:完整 MCP 支持(HTTP / SSE / Stdio)。内置容器操作、记忆搜索、网络搜索、定时任务、消息发送等工具,可连接外部 MCP 服务器扩展。
|
||||
- 🧩 **子代理**:为每个 bot 创建专用子代理,拥有独立上下文与技能,实现多代理协作。
|
||||
- 🎭 **技能与身份**:通过 IDENTITY.md、SOUL.md 定义 bot 人格,模块化技能文件可在运行时启用/禁用。
|
||||
- 🌐 **浏览器**:每个 Bot 可拥有独立的无头 Chromium 浏览器(基于 Playwright)。支持页面导航、点击、填写表单、截图(带编号标注的交互元素)、读取无障碍树、多标签页管理等,实现真正的网页自动化与 AI 驱动浏览。
|
||||
- 🔍 **网络搜索**:内置 12 种搜索提供商 —— Brave、Bing、Google、Tavily、DuckDuckGo、SearXNG、Serper、搜狗、Jina、Exa、Bocha、Yandex,支持网页搜索与 URL 内容抓取。
|
||||
- ⏰ **定时任务**:基于 Cron 的任务调度,支持最大调用次数限制。Bot 可自主在指定时间执行命令或工具。
|
||||
- 💓 **心跳**:周期性自主任务,Bot 可按配置间隔执行例行操作(如签到、汇总、监控),并记录执行日志。
|
||||
- 📥 **收件箱**:跨渠道收件箱,其他渠道的消息会排入收件箱并呈现在系统提示词中,确保 bot 不遗漏上下文。
|
||||
- 📊 **Token 用量追踪**:按 bot 监控 token 消耗,支持用量统计与可视化。
|
||||
- 🧪 **多模型**:兼容任何 OpenAI 兼容、Anthropic 或 Google Generative AI 提供商。每个 bot 可独立配置聊天、记忆和嵌入模型。
|
||||
- 🖥️ **Web 管理界面**:基于 Vue 3 + Tailwind CSS 的现代面板,实时流式聊天、工具调用可视化、聊天内文件管理器、容器文件浏览器,所有配置可视化操作。深色/浅色主题,中英文支持。
|
||||
- 🚀 **一键部署**:Docker Compose 编排,自动迁移、containerd 初始化与 CNI 网络配置。附带交互式安装脚本。
|
||||
### 核心
|
||||
|
||||
- 🤖 **多 Bot 与多用户**:创建多个 Bot,支持私聊、群聊或 Bot 间协作。Bot 可在群聊中区分不同用户,分别记忆上下文,并支持跨平台身份绑定。
|
||||
- 📦 **容器化**:每个 Bot 运行在独立的 containerd 容器中,拥有专属文件系统和网络,宛如各自拥有一台电脑。支持快照、数据导入/导出与版本管理。
|
||||
- 🧠 **记忆工程**:LLM 驱动的知识抽取,混合检索(稠密 + 稀疏 + BM25),24 小时上下文加载,记忆压缩与重建。可插拔后端:内置(off / sparse / dense)、[Mem0](https://mem0.ai)、OpenViking。
|
||||
- 💬 **9 大渠道**:Telegram、Discord、飞书(Lark)、QQ、Matrix、企业微信、微信、Email(Mailgun / SMTP / Gmail OAuth)及内置 Web 界面 —— 统一流式输出、富文本和附件支持。
|
||||
|
||||
### Agent 能力
|
||||
|
||||
- 🔧 **MCP(模型上下文协议)**:完整 MCP 支持(HTTP / SSE / Stdio / OAuth)。连接外部工具服务器进行扩展,每个 Bot 独立管理自己的 MCP 连接。
|
||||
- 🌐 **浏览器自动化**:基于 Playwright 的无头 Chromium/Firefox —— 页面导航、点击、填写表单、截图、读取无障碍树、多标签页管理。
|
||||
- 🎭 **技能与子代理**:通过模块化技能文件定义 Bot 人格;将复杂任务委派给拥有独立上下文的子代理。
|
||||
- ⏰ **自动化**:基于 Cron 的定时任务和周期性心跳,实现 Bot 自主活动。
|
||||
|
||||
### 管理
|
||||
|
||||
- 🖥️ **Web 界面**:基于 Vue 3 + Tailwind CSS 的现代面板 —— 流式聊天、工具调用可视化、文件管理器、所有配置可视化操作。深色/浅色主题,中英文支持。
|
||||
- 🔐 **访问控制**:基于优先级的 ACL 规则,支持 allow/deny 效果,可按渠道身份、渠道类型或会话维度控制。
|
||||
- 🧪 **多模型**:兼容任何 OpenAI 兼容、Anthropic 或 Google 提供商。每个 Bot 独立配置模型,支持 Provider OAuth 和自动模型导入。
|
||||
- 🚀 **一键部署**:Docker Compose 编排,自动迁移、containerd 初始化与 CNI 网络配置。
|
||||
|
||||
## 记忆系统
|
||||
|
||||
Memoh 的记忆系统围绕 **Memory Provider(记忆供应商)** 构建 —— 可插拔的后端,控制 bot 如何存储、检索和管理长期记忆。
|
||||
Memoh 的记忆系统围绕 **Memory Provider(记忆供应商)** 构建 —— 可插拔的后端,控制 Bot 如何存储、检索和管理长期记忆。
|
||||
|
||||
| 供应商 | 说明 |
|
||||
|--------|------|
|
||||
@@ -103,7 +109,7 @@ Memoh 的记忆系统围绕 **Memory Provider(记忆供应商)** 构建 —
|
||||
| **Mem0** | 通过 [Mem0](https://mem0.ai) API 的 SaaS 记忆服务。 |
|
||||
| **OpenViking** | 自托管或 SaaS 记忆服务,使用自有 API。 |
|
||||
|
||||
每个 bot 绑定一个供应商。聊天过程中,bot 自动从每轮对话中抽取关键事实并存储为结构化记忆。收到新消息时,系统通过混合检索找到最相关的记忆并注入 bot 上下文 —— 实现跨对话的个性化长期记忆。
|
||||
每个 Bot 绑定一个供应商。聊天过程中,Bot 自动从每轮对话中抽取关键事实并存储为结构化记忆。收到新消息时,系统通过混合检索找到最相关的记忆并注入 Bot 上下文 —— 实现跨对话的个性化长期记忆。
|
||||
|
||||
其他功能包括记忆压缩(合并冗余条目)、重建、手动创建/编辑,以及向量流形可视化(Top-K 分布与 CDF 曲线)。详见[文档](https://docs.memoh.ai/memory-providers/)。
|
||||
|
||||
@@ -132,15 +138,14 @@ Memoh 的记忆系统围绕 **Memory Provider(记忆供应商)** 构建 —
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
## 架构
|
||||
|
||||
```mermaid
|
||||
flowchart TB
|
||||
subgraph Clients [" 客户端 "]
|
||||
direction LR
|
||||
CH["渠道<br/>Telegram · Discord · 飞书 · QQ · Email"]
|
||||
WEB["Web 管理界面 (Vue 3 :8082)"]
|
||||
CH["渠道<br/>Telegram · Discord · 飞书 · QQ<br/>Matrix · 企业微信 · 微信 · Email"]
|
||||
WEB["Web 界面 (Vue 3 :8082)"]
|
||||
end
|
||||
|
||||
CH & WEB --> API
|
||||
|
||||
Reference in New Issue
Block a user