剪藏#剪藏#各种折腾

本地优先的AI个人助手Moltis

2026 年 2 月 16 日1 分钟
分享Twitter / XTelegram微博
本地优先的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 功能,并将其安全地集成到工作流中的技术爱好者。

  • 对数据隐私有较高要求的个人和团队。

Notion image

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

安装

在群晖上以 Docker 方式安装。

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

Notion image

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

  1. 按官方提供的 docker cli 命令安装,默认需要使用 https 协议访问,即便通过 http://群晖IP:13132/certs/ca.pem 端口下载并安装了证书,还是会一直卡在登录界面,原因不明

  2. 如果不设置 MOLTIS_PASSWORD,需要你在容器日志中找 Setup code: xxxxxx,这个码是一次性的

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

创建项目目录

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

JAVASCRIPT
# 新建文件夹 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 更快捷

JAVASCRIPT
# 运行容器
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 文件

JAVASCRIPT
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 所在的目录中,执行以下命令:

JAVASCRIPT
# 一键启动
docker-compose up -d

Notion image

参数说明

【关键说明】

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 13131Web 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 的值登录

Notion image

首先需要设置大模型

Notion image

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

Notion image

语音也是可选的

Notion image

接下来是设置 Telegram

  1. Telegram 中打开 @BotFather

  2. 发送 /newbot 并按照提示操作

  3. 复制机器人令牌并将其粘贴到下面

Notion image

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

Notion image

大模型设置

找到 config 目录下的 moltis.toml

Notion image

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

JAVASCRIPT
# ── 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"

还是以硅基流动为例

JAVASCRIPT
# ── 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

Notion image

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

Notion image

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

Notion image

注册地址:

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

Notion image

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

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

Notion image

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

Notion image

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

Notion image

多模型可以切换

Notion image

例如问问 Moltis 能做什么?

Notion image

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 账号加进去;

Notion image

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

Notion image

Settings --> Channels --> Senders --> Approve

Notion image

再次提问就可以了

Notion image

其他功能和 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/

@所有人:写文不易,如果你都看到了这里,请点个在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

原文地址: https://mp.weixin.qq.com/s?__biz=MzI1NTQxMzc3MA==&mid=2247513134&idx=1&sn=2584e7c531f41728e04d1f4788529ac5&chksm=eb31b279e88b04696fb4df672d6560242f902210bc451f20df6be751cb0e865a5d707ffca749&mpshare=1&scene=1&srcid=0216eRJoYtACaaz4fvtY1DOe&sharer_shareinfo=e701d7604057da7c52e4c0a375e29938&sharer_shareinfo_first=e701d7604057da7c52e4c0a375e29938#rd

相关文章