mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-25 07:00:48 +09:00
0711b1f0863ee615feaee79bccd94258e031827a
Memoh是一个专属于你的AI私人管家,你可以把它跑在你的NAS,路由器等个人设备上,24小时的为你提供服务。
Features
- 长记忆:Memoh拥有长记忆能力,可以为你的家庭成员提供个性化的服务。他会存储最近一段时间(默认最近15个小时)的上下文,超出时间后则会根据你的需求按需加载记忆
- 定时任务:Memoh可以帮你创建智能的定时任务,比如:每天早上七点生成一个早餐菜谱,通过Telegram发送给我
- 聊天软件支持:Memoh可以支持多种聊天软件,比如:Telegram,微信,QQ等常用社交软件,通过直接发送消息与Memoh进行交互,同时Memoh也可以通过事件触发,选择工具主动给你发送消息
- MCP支持:Memoh可以支持多种MCP接口,与多种外部工具进行交互。
- 文件系统管理:Memoh可以帮你管理你的文件系统,比如:文件搜索,图片分类,文件分享等。他可以创建文件,也可以通过聊天软件发送文件给你;你也可以通过发送文件给他帮你处理。
- More...
Message Platforms
- Telegram (Telegram配置)
- Lark
Quick Start
环境:
- PostgreSQL 16+
- Bun 1.2+
- PNPM
- Qdrant
- Redis
cp .env.example .env
pnpm install
Environment Variables
DATABASE_URL: PostgreSQL 连接字符串ROOT_USER: 超级管理员用户名ROOT_USER_PASSWORD: 超级管理员密码JWT_SECRET: JWT 签名密钥QDRANT_URL: Qdrant 连接字符串REDIS_URL: Redis 连接字符串CONTAINER_DATA_DIR: Container 数据目录CONTAINERD_SOCKET: Containerd Socket 路径NERDCTL_COMMAND: Nerdctl Command 路径
数据库初始化
pnpm run db:push
API Server
pnpm run api:dev
API服务将在 http://localhost:7002 启动。
Containerd 设置
Containerd 是容器管理的核心组件,Memoh 使用 Nerdctl 作为其容器管理工具。
你需要确保 Containerd 已经安装并运行。
然后设置一个目录用于存储容器数据,这个目录需要是绝对路径。
CONTAINER_DATA_DIR=/Users/yourname/memoh/container
MacOS下使用Lima虚拟机运行
Containerd不支持MacOS的本地运行,你需要使用Lima虚拟机运行。
brew install lima
limactl start template://default
然后你需要设置环境变量,将 nerdctl 命令的路径设置为 lima nerdctl。
NERDCTL_COMMAND=lima nerdctl
可能会出现sock文件找不到的报错,你需要正确找出socket文件的路径,并设置环境变量。
CONTAINERD_SOCKET=/Users/yourname/.lima/default/sock/containerd/containerd.sock
命令行工具
首先你需要登录:
pnpm cli auth login
按照提示输入管理员用户名和密码。
直接运行以下命令会进入Agent交互模式
pnpm cli
在此之前你需要配置模型,你至少需要配置一个聊天模型,一个嵌入模型,一个摘要模型。
pnpm run model:create --name "GPT-4" --model-id "gpt-4" --base-url "https://api.openai.com/v1" --api-key "your-api-key" --client-type "openai" --type "chat"
--name: 模型显示名称--model-id: 模型ID--base-url: 模型API地址--api-key: 模型API密钥--client-type: 模型提供者类型, 可选值为openai或anthropic或google--type: 模型类型,可选值为chat或embedding
创建成功后你会得到一个uuid,你可以通过这个uuid来配置你的设置:
pnpm cli config set --chat-model <uuid> --summary-model <uuid> --embedding-model <uuid>
--chat-model: 聊天模型uuid--summary-model: 摘要模型uuid--embedding-model: 嵌入模型uuid
然后你就可以正常的使用Memoh了。
你可以设置你的最大上下文加载时间,默认是900分钟,你可以通过以下命令来设置:
pnpm cli config set --max-context-time <minutes>
--max-context-time: 最大上下文加载时间,单位为分钟
Star History
LICENSE: AGPLv3
Copyright (C) 2026 Memoh. All rights reserved.
Languages
Go
66.8%
Vue
19.9%
TypeScript
12.6%
Shell
0.5%
