2026-01-15 20:26:21 +08:00
2026-01-12 20:36:48 +08:00
2026-01-13 15:20:57 +08:00
2026-01-12 19:19:20 +08:00
2026-01-15 20:26:21 +08:00
2026-01-15 20:26:21 +08:00
2026-01-13 12:11:11 +08:00
2026-01-12 17:49:59 +08:00
2026-01-15 15:24:40 +08:00
2026-01-15 20:10:37 +08:00
2026-01-12 18:59:18 +08:00
2026-01-15 20:26:21 +08:00

Memoh

Memoh

Long-memory, self-hosted, AI-powered personal housekeeper and lifemate.

Version License Stars Forks Last Commit Issues

Memoh是一个专属于你的AI私人管家,你可以把它跑在你的NAS,路由器等个人设备上,24小时的为你提供服务。

Features

  • 长记忆:Memoh拥有长记忆能力,可以为你的家庭成员提供个性化的服务。他会存储最近一段时间(默认最近15个小时)的上下文,超出时间后则会根据你的需求按需加载记忆
  • 定时任务:Memoh可以帮你创建智能的定时任务,比如:每天早上七点生成一个早餐菜谱,通过Telegram发送给我
  • 聊天软件支持:Memoh可以支持多种聊天软件,比如:Telegram,微信,QQ等常用社交软件,通过直接发送消息与Memoh进行交互,同时Memoh也可以通过事件触发,选择工具主动给你发送消息
  • MCP支持:Memoh可以支持多种MCP接口,与多种外部工具进行交互。
  • 文件系统管理:Memoh可以帮你管理你的文件系统,比如:文件搜索,图片分类,文件分享等。他可以创建文件,也可以通过聊天软件发送文件给你;你也可以通过发送文件给他帮你处理。
  • More...

Message Platforms

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: 模型提供者类型, 可选值为 openaianthropicgoogle
  • --type: 模型类型,可选值为 chatembedding

创建成功后你会得到一个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

Star History Chart


LICENSE: AGPLv3

Copyright (C) 2026 Memoh. All rights reserved.

Languages
Go 66.8%
Vue 19.9%
TypeScript 12.6%
Shell 0.5%