本地优先的AI个人助手Moltis

简介

什么是 Moltis ?

Moltis 是一个使用 Rust 构建的个人 AI 助手,提供一个安全且功能强大的 AI 网关。它以单个二进制文件形式运行,无需复杂的运行时环境,具有长时间记忆、沙箱执行和多渠道访问(如 WebTelegramAPI),让您可以完全掌控自己的 AI 交互和数据,能为用户提供灵活和高效的交互体验。

主要特点

  • 本地优先:所有数据和交互默认在本地处理,确保隐私和安全。
  • 多模型支持:支持 OpenAIGitHub Copilot 及本地 LLM,并可轻松扩展。
  • 丰富的功能集:内置 Web 界面、会话持久化、长期记忆、Web 浏览、语音支持 (TTS/STT) 和计划任务等。
  • 沙盒执行:使用 Docker 进行代码沙盒执行,安全地测试和运行由 AI 生成的代码。
  • 可扩展性:通过技能系统和生命周期挂钩 (Hooks),可以轻松扩展助手的功能。
  • 易于部署:提供 Docker 和多种云平台 (Fly.io, Render) 的一键部署配置。

应用场景

Moltis 非常适合以下场景:

  • 需要一个私有、可控的 AI 助手来处理日常任务的开发者。
  • 希望整合多个 LLM 服务并统一入口的用户。
  • 想要构建自定义 AI 功能,并将其安全地集成到工作流中的技术爱好者。
  • 对数据隐私有较高要求的个人和团队。

Moltis 为不同用户提供了灵活、高效的 AI 解决方案,适用于多种应用场景。

安装

在群晖上以 Docker 方式安装。

本文写作时, latest 版本对应为 v0.8.29

Moltis 的安装不复杂,但是有坑

  1. 按官方提供的 docker cli 命令安装,默认需要使用 https 协议访问,即便通过 http://群晖IP:13132/certs/ca.pem 端口下载并安装了证书,还是会一直卡在登录界面,原因不明
  2. 如果不设置 MOLTIS_PASSWORD,需要你在容器日志中找 Setup code: xxxxxx,这个码是一次性的

基于上面两个原因,老苏做了一些微调,尽可能做到了简单,容易操作

创建项目目录

通过 SSH 登录到您的群晖,执行下面的命令:

1
2
3
4
5
6
7
8
9
10
11
# 新建文件夹 moltis 和 子目录
mkdir -p /volume1/docker/moltis/{config,data}

# 进入 moltis 目录
cd /volume1/docker/moltis

# 修改目录权限
chmod a+rw {config,data}

# 下载镜像
docker pull ghcr.io/moltis-org/moltis:latest

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 运行容器
docker run -d \
--restart unless-stopped \
--name moltis \
--user 0:0 \
-p 13131:13131 \
-v $(pwd)/config:/home/moltis/.config/moltis \
-v $(pwd)/data:/home/moltis/.moltis \
-v /var/run/docker.sock:/var/run/docker.sock \
-e MOLTIS_PASSWORD=laosu123 \
-e HTTP_PROXY=http://192.168.0.206:2081 \
-e HTTPS_PROXY=http://192.168.0.206:2081 \
-e NO_PROXY="localhost,127.0.0.1,::1" \
ghcr.io/moltis-org/moltis:latest
--bind 0.0.0.0 --port 13131 --no-tls

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
services:
moltis:
image: ghcr.io/moltis-org/moltis:latest
container_name: moltis
restart: unless-stopped
user: "0:0"
ports:
- "13131:13131"
# - "13132:13132"
volumes:
- ./config:/home/moltis/.config/moltis
- ./data:/home/moltis/.moltis
- /var/run/docker.sock:/var/run/docker.sock
environment:
- MOLTIS_PASSWORD=laosu123
- HTTP_PROXY=http://192.168.0.206:2081
- HTTPS_PROXY=http://192.168.0.206:2081
- NO_PROXY="localhost,127.0.0.1,::1"
command: --bind 0.0.0.0 --port 13131 --no-tls

docker-compose.yml 所在的目录中,执行以下命令:

1
2
# 一键启动
docker-compose up -d

参数说明

【关键说明】

  • user: "0:0"容器内以 root 运行,解决容器内对 Docker socket 的访问问题;
  • 必须挂载 Docker sock:否则沙箱工具(shell、浏览器、exec)全部失效,仅剩聊天功能;

文件夹 装载路径 说明
docker/moltise/config /home/moltis/.config/moltis moltis.toml 和证书等
docker/moltise/data /home/moltis/.moltis SQLite 数据库、记忆、会话历史

端口

本地端口 容器端口 说明
13131 13131 Web UI + API(默认)
13132 13132 CA 证书下载端点(/certs/ca.pem

因为使用了 --no-tls,无 TLS 时无证书端点,所以 13132 可以无需暴露

环境变量

不设置代理,添加 Telegram 机器人会失败;

可变
MOLTIS_PASSWORD 网页登录的密码
HTTP_PROXY HTTP 协议走的代理地址
HTTPS_PROXY HTTPS 协议走的代理地址
NO_PROXY 不经过代理 的目标地址列表

命令

  • --bind 0.0.0.0:确保 Moltis 监听所有接口(容器内必需,否则只绑 localhost,无法从主机访问)。
  • --port 13131:显式设置端口为 13131(避免默认或随机)。
  • --no-tls:无 TLS 时无证书端点。

运行

容器成功启动后,在浏览器中输入 http://群晖IP:13131 就能看到登录界面

用环境变量 MOLTIS_PASSWORD 的值登录

首先需要设置大模型

虽然支持设置端点,但是模型是写死,所以建议点 Skip for now 跳过,后面再来设置

语音也是可选的

接下来是设置 Telegram

  1. Telegram 中打开 @BotFather
  2. 发送 /newbot 并按照提示操作
  3. 复制机器人令牌并将其粘贴到下面

设置身份,主要是 Your name,方便机器人称呼你

大模型设置

找到 config 目录下的 moltis.toml

下载到本地进行编辑,找到 openai 部分

1
2
3
4
5
6
7
8
9
10
11
12
# ── OpenAI ────────────────────────────────────────────────────
[providers.openai]
# enabled = true
# api_key = "sk-..." # Or set OPENAI_API_KEY env var
models = [
"gpt-5.3",
"gpt-5.2",
] # Preferred models shown first
enabled = true
# fetch_models = true
# base_url = "https://api.openai.com/v1" # API endpoint (change for Azure, etc.)
# alias = "openai"

还是以硅基流动为例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# ── OpenAI ────────────────────────────────────────────────────
[providers.openai]
enabled = true
api_key = "sk-..." # Or set OPENAI_API_KEY env var
models = [
"deepseek-ai/DeepSeek-V3.2",
"Pro/MiniMaxAI/MiniMax-M2.5",
"Pro/zai-org/GLM-5",
"Pro/moonshotai/Kimi-K2.5",
] # Preferred models shown first
# enabled = true
# fetch_models = true
base_url = "https://api.siliconflow.cn" # API endpoint (change for Azure, etc.)
# alias = "openai"

目前硅基流动(SiliconFlow)注册就送 16 元的代金券

注册地址:

https://cloud.siliconflow.cn/i/NkUiXVhQ

和之前的不同,现在的券虽然多了2块钱,但是有有效期,不过可以用于 Pro/ 开始的模型

后续准备试试七牛,据说可以用国外的大模型

注册地址:

https://s.qiniu.com/2ENRR3

当然更简单的办法是直接在网页上 Settings –> Configuration 中编辑

moltis.toml 修改之后,记得需要 Restart,或者直接重启容器

因为借用了 openai,会有一些硬编码的模型可以禁用

现在回到首页就可以聊天了

多模型可以切换

例如问问 Moltis 能做什么?

Telegram

Telegram 中使用,可以在页面上设置,Settings –> Channels –> Add Telegram Bot

  • Bot username:机器人的名字,在 Telegram 里搜索 @BotFather,给它发送 /newbot ,然后起的名字;
  • Bot Token:是 @BotFather 生成机器人时候同时生成的;
  • DM Policy:是指机器人在私聊里对谁的消息会回应、如何回应的策略,老苏用的 Allowlist only,也就是所谓的白名单;
  • Group Mention Mode:是指在群里的回复方式,老苏用的 Must @mention bot,也就是必须 @ 了才回复;
  • Default Model:默认使用的大模型;
  • DM Allowlist:把自己的 telegram 账号加进去;

现在直接提问会提示需要批准

Settings –> Channels –> Senders –> Approve

再次提问就可以了

其他功能和 OpenClaw 差不多,大家可以自己去试试

参考文档

moltis-org/moltis: A personal AI assistant built in Rust. Single binary, multi-provider LLMs, long-term memory, sandboxed execution, voice, MCP tools, and multi-channel access (web, Telegram, API).
地址:https://github.com/moltis-org/moltis

Moltis: Your Personal AI Assistant
地址:https://moltis.org/