* refactor(attachment): multimodal attachment refactor with snapshot schema and storage layer - Add snapshot schema migration (0008) and update init/versions/snapshots - Add internal/attachment and internal/channel normalize for unified attachment handling - Move containerfs provider from internal/media to internal/storage - Update agent types, channel adapters (Telegram/Feishu), inbound and handlers - Add containerd snapshot lineage and local_channel tests - Regenerate sqlc, swagger and SDK * refactor(media): content-addressed asset system with unified naming - Replace asset_id foreign key with content_hash as sole identifier for bot_history_message_assets (pure soft-link model) - Remove mime, size_bytes, storage_key from DB; derive at read time via media.Resolve from actual storage - Merge migrations 0008/0009 into single 0008; keep 0001 as canonical schema - Add Docker initdb script for deterministic migration execution order - Fix cross-channel real-time image display (Telegram → WebUI SSE) - Fix message disappearing on refresh (null assets fallback) - Fix file icon instead of image preview (mime derivation from storage) - Unify AssetID → ContentHash naming across Go, Agent, and Frontend - Change storage key prefix from 4-char to 2-char for directory sharding - Add server-entrypoint.sh for Docker deployment migration handling * refactor(infra): embedded migrations, Docker simplification, and config consolidation - Embed SQL migrations into Go binary, removing shell-based migration scripts - Consolidate config files into conf/ directory (app.example.toml, app.docker.toml, app.dev.toml) - Simplify Docker setup: remove initdb.d scripts, streamline nginx config and entrypoint - Remove legacy CLI, feishu-echo commands, and obsolete incremental migration files - Update install script and docs to require sudo for one-click install - Add mise tasks for dev environment orchestration * chore: recover migrations --------- Co-authored-by: Acbox <acbox0328@gmail.com>
4.2 KiB
Memoh
多用户、结构化记忆、容器化的 AI Agent 系统。
📌 Introduction to Memoh - The Case for an Always-On, Containerized Home Agent
Memoh 是一个 AI Agent 系统平台。用户可通过 Telegram、Discord、飞书(Lark) 等创建自己的 AI 机器人并与之对话。每个 bot 拥有独立的容器与记忆系统,可编辑文件、执行命令并自我构建——与 OpenClaw 类似,Memoh 为多 bot 管理提供更安全、灵活、可扩展的解决方案。
快速开始
一键安装(需先安装 Docker):
curl -fsSL https://raw.githubusercontent.com/memohai/Memoh/main/scripts/install.sh | sudo sh
静默安装(全部默认):curl -fsSL ... | sudo sh -s -- -y
或手动部署:
git clone --depth 1 https://github.com/memohai/Memoh.git
cd Memoh
sudo docker compose up -d
macOS 或用户已在
docker用户组中时,无需sudo。
启动后访问 http://localhost:8082。默认登录:admin / admin123
自定义配置与生产部署请参阅 DEPLOYMENT.md。
为什么选择 Memoh?
OpenClaw、Clawdbot、Moltbot 固然出色,但在稳定性、安全性、配置复杂度与 token 成本上仍有不足。若你正在寻找稳定、安全的 Bot SaaS 方案,不妨考虑我们的开源 Memoh。
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 表达式在指定时间执行命令。
- 更多…
路线图
开发
开发环境配置请参阅 CONTRIBUTING.md。
Star History
Contributors
LICENSE: AGPLv3
Copyright (C) 2026 Memoh. All rights reserved.