开启AI探索-部署MoltBot + DeepSeek

一、系统架构说明
当前架构

Slack

MoltBot (Python + Slack Bolt)

DeepSeek API
(本地 Ollama 已停用,仅保留备用)

Docker 结构
目录结构:

/volume1/docker/moltbot-stack/

├── compose/
│ ├── docker-compose.yml
│ └── .env

├── data/
│ └── bot.py

├── logs/

└── models/ (如使用ollama)

二、配置文件说明

1️⃣ docker-compose.yml
核心服务:

services:
moltbot:
build: .
container_name: moltbot
restart: always
env_file:
– .env
说明:
build: . 表示使用 Dockerfile 构建
restart: always 表示 NAS 重启后自动恢复
.env 管理所有敏感变量

2️⃣ .env 文件
当前 DeepSeek 模式配置:

LLM_PROVIDER=deepseek

DEEPSEEK_BASE_URL=https://api.deepseek.com/v1
DEEPSEEK_MODEL=deepseek-chat
DEEPSEEK_MAX_TOKENS=256
DEEPSEEK_TEMPERATURE=0.2
DEEPSEEK_API_KEY=sk-xxxxx

SLACK_BOT_TOKEN=xoxb-xxxx
SLACK_APP_TOKEN=xapp-xxxx
⚠ 不要提交到 Git
⚠ 不要泄露

3️⃣ bot.py 说明
核心逻辑:
接收 Slack 事件
根据 LLM_PROVIDER 决定调用:
DeepSeek API
Ollama 本地模型
返回消息到 Slack

三、常用运维命令

1️⃣ 启动系统

cd /volume1/docker/moltbot-stack/compose
docker compose up -d –build

2️⃣ 只重启机器人

docker restart moltbot

3️⃣ 停止本地模型(节省CPU)

docker stop ollama

4️⃣ 查看运行状态

docker ps

5️⃣ 查看实时日志

docker logs -f moltbot

6️⃣ 查看最近200行日志

docker logs –tail 200 moltbot

7️⃣ 查看资源占用

docker stats

四、API 切换方法

当前模式:DeepSeek
.env

LLM_PROVIDER=deepseek
重启:

docker restart moltbot

切换为本地 Ollama
修改 .env:

LLM_PROVIDER=ollama
启动本地模型:

docker compose start ollama
docker restart moltbot

再切回 DeepSeek(推荐模式)

docker compose stop ollama
docker restart moltbot

五、日志排查流程

标准排查步骤
第一步:确认容器是否运行

docker ps

第二步:查看日志

docker logs -f moltbot
关注:

[EVENT]
[LLM]

第三步:测试 DeepSeek API 是否正常

curl https://api.deepseek.com/v1/models \
-H “Authorization: Bearer $DEEPSEEK_API_KEY”

第四步:测试 Slack 连接
查看日志是否出现:

Bolt app is running
Starting to receive messages

六、账号与权限管理

1️⃣ Slack 权限模块
记录以下信息:

Slack 权限结构
谁能 @bot → Slack 频道权限
谁能私聊 → App Home 启用
是否能触发 API → bot.py 控制
建议:
可添加白名单:

ALLOWED_USERS = [“Uxxxx”]

2️⃣ 群晖权限
当前运行方式:
SSH root
Docker root
风险:
root 拥有全部权限
可改进:
建立 docker 专用用户
禁止 root SSH 登录
限制文件权限

3️⃣ Docker 权限
容器默认运行:

python:3.11-slim
默认 root 容器用户。
可优化:
Dockerfile 添加:

USER 1000:1000

4️⃣ DeepSeek API 权限
控制方式:
API Key
余额限制
Key 可随时撤销
安全建议:
定期更换 key
不在代码中硬编码
仅保存在 .env

七、定期备份方案

备份内容
必须备份:

/volume1/docker/moltbot-stack/
包括:
compose/
data/
logs/
models/(如有)

手动备份

tar -czvf moltbot-backup-$(date +%F).tar.gz \
/volume1/docker/moltbot-stack

恢复方法
1️⃣ 解压:

tar -xzvf backup.tar.gz -C /
2️⃣ 重建容器:

cd compose
docker compose up -d –build

八、常见问题排查

问题1:Slack 不回复
排查:
docker ps
docker logs -f moltbot
是否出现 [EVENT]

问题2:API 超时
排查:
curl /v1/models
检查 .env 是否正确
检查余额

问题3:容器不断重启

docker logs moltbot
通常是:
缩进错误
环境变量缺失

问题4:费用异常
检查 Slack 是否被多人使用
添加用户白名单
控制 max_tokens

九、功耗优化建议(DS220+)
建议长期模式:
默认 DeepSeek API
停止 Ollama
关闭不必要容器
设置硬盘休眠

十、未来可升级方向
添加使用次数限制
添加频道白名单
添加请求日志统计
添加费用监控
增加 Web 管理页面
增加插件工具系统

当前推荐稳定运行模式

LLM_PROVIDER=deepseek
ollama 停止
仅保留 moltbot

开机自动启动

群晖每天会定时关机,如何设置开机自动启动相关服务,保证机器人可用
五、完整自动恢复链路
早上开机时的顺序:
DSM 启动
Docker 服务启动
restart: always 启动 moltbot
moltbot 启动
Slack SocketMode 自动建立连接
机器人可用
你不需要手动干预。

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注