本地优先的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 登录到您的群晖,执行下面的命令:

bash 复制代码
# 新建文件夹 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 更快捷

bash 复制代码
# 运行容器
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 文件

yaml 复制代码
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 所在的目录中,执行以下命令:

bash 复制代码
# 一键启动
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 部分

toml 复制代码
# ── 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"

还是以硅基流动为例

toml 复制代码
# ── 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/

相关推荐
科技快报10 小时前
联想张豪:ThinkPad打造深入工作流的法律AI解决方案
人工智能
一次旅行10 小时前
Openclaw龙虾报错disconnocted (1008): unauthorized: gatoway token处理方法
网络·人工智能
Eward-an10 小时前
AI视觉赋能汽车零部件质检:迁移科技Epic Eye系统落地案例(技术深度解析)
人工智能·科技·汽车
wuxuand10 小时前
2026时序分类综述A Comprehensive Review of Time Series Classification
人工智能·深度学习·分类·数据挖掘
bubiyoushang88810 小时前
基于PSO的列车速度优化MATLAB实现
开发语言·人工智能·matlab
LX5677710 小时前
AI培训成本高、风险大,怎么控制?
人工智能
lisw0510 小时前
当前AI科学基本问题的梳理与评价!
人工智能·深度学习·机器学习
骇客野人10 小时前
机器学习线性回归算法是入门机器学习理解人工智能模型很好示例
人工智能·算法·机器学习
aiguangyuan10 小时前
多模态AI实战:CLIP模型原理与代码深度剖析
人工智能·python·机器学习·nlp
向右看齐--10 小时前
Docker 进阶(一) Compose
docker·容器