[English] [简体中文]
Memoh

Memoh

多用户、结构化记忆、容器化的 AI Agent 系统。

📌 Introduction to Memoh - The Case for an Always-On, Containerized Home Agent

Version License Stars Forks Last Commit Issues DeepWiki Docker
[Telegram 群组] [文档] [合作]

Memoh 是一个常驻运行的容器化 AI Agent 系统。你可以创建多个 AI 机器人,每个机器人运行在独立的容器中,拥有持久化记忆,并通过 Telegram、Discord、飞书(Lark) 或内置的 Web/CLI 与之交互。机器人可以执行命令、编辑文件、浏览网页、通过 MCP 调用外部工具,并记住一切 —— 就像给每个 Bot 一台自己的电脑和大脑。 ## 快速开始 一键安装(**需先安装 [Docker](https://www.docker.com/get-started/)**): ```bash curl -fsSL https://memoh.sh | sudo sh ``` *静默安装(全部默认):`curl -fsSL ... | sudo sh -s -- -y`* 或手动部署: ```bash git clone --depth 1 https://github.com/memohai/Memoh.git cd Memoh sudo docker compose up -d ``` > 若镜像拉取较慢,可使用中国大陆镜像源配置: ```bash sudo docker compose -f docker-compose.yml -f docker/docker-compose.cn.yml up -d ``` > macOS 或用户已在 `docker` 用户组中时,无需 `sudo`。 启动后访问 。默认登录:`admin` / `admin123` 自定义配置与生产部署请参阅 [DEPLOYMENT.md](DEPLOYMENT.md)。 ## 为什么选择 Memoh? OpenClaw、Clawdbot、Moltbot 固然出色,但在稳定性、安全性、配置复杂度与 token 成本上仍有不足。若你正在寻找稳定、安全的 Bot SaaS 方案,不妨考虑我们的开源 Memoh。 Memoh 是基于 Golang 的多 bot agent 服务,提供 bot、Channel、MCP、Skills 等的完整图形化配置。我们使用 Containerd 为每个 bot 提供容器级隔离,并大量借鉴 OpenClaw 的 Agent 设计。 Memoh Bot 能区分并记忆多人与多 bot 的请求,在任意群聊中无缝协作。你可以用 Memoh 组建 bot 团队,或为家人配置账号,用 bot 管理日常家务。 ## 特性 - 🤖 **多 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.0](https://github.com/memohai/Memoh/issues/86)。 ## 开发 开发环境配置请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## Star History [![Star History Chart](https://api.star-history.com/svg?repos=memohai/Memoh&type=date&legend=top-left)](https://www.star-history.com/#memohai/Memoh&type=date&legend=top-left) ## Contributors **LICENSE**: AGPLv3 Copyright (C) 2026 Memoh. All rights reserved.