前提条件

🤖

Telegram Bot Token

从 @BotFather 获取机器人令牌

获取 Token
🗄️

PostgreSQL 数据库

版本 14.0 或更高

sudo apt install postgresql postgresql-contrib
🧠

Ollama AI 服务

本地 AI 推理引擎

curl -fsSL https://ollama.ai/install.sh | sh
💻

Node.js 运行时

版本 18.0 或更高

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - && sudo apt-get install -y nodejs

快速部署

1

下载源码

从 GitHub 克隆 SageGuard 项目源码

git clone https://github.com/your-repo/mtphelper.git
cd mtphelper
2

配置环境

复制并编辑环境配置文件

cp .env.example .env
nano .env

必需配置

# Telegram Bot Token
BOT_TOKEN=your_bot_token_here

# 数据库连接
DATABASE_URL=postgresql://user:password@localhost:5432/mtphelper

# Ollama AI 服务
OLLAMA_BASE_URL=http://localhost:11434
3

初始化数据库

创建数据库并运行初始化迁移

# 创建数据库
sudo -u postgres psql -c "CREATE DATABASE mtphelper;"
sudo -u postgres psql -c "CREATE USER mtphelper WITH PASSWORD 'your_password';"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE mtphelper TO mtphelper;"

# 安装依赖
npm install

# 初始化数据库
npm run prisma:generate
npm run prisma:migrate
4

启动服务

选择适合你的部署方式启动 SageGuard

开发模式

npm run dev

生产模式(推荐)

# 编译项目
npm run build

# 使用 PM2 启动
npm install -g pm2
pm2 start ecosystem.config.js
pm2 save
pm2 startup

验证部署

检查服务状态

curl http://localhost:3000/health

应该返回服务状态信息

查看运行日志

# PM2 日志
pm2 logs mtphelper

# 直接运行日志
# 查看控制台输出

确认没有错误信息

测试机器人

向你的机器人发送 /start 命令

  1. 在 Telegram 中找到你的机器人
  2. 发送 /start 命令
  3. 检查机器人是否响应

常见问题

Ollama 连接失败?

检查 OLLAMA_BASE_URL 配置是否正确,确保 Ollama 服务正在运行且可访问。

数据库连接失败?

确认 PostgreSQL 服务正在运行,检查 DATABASE_URL 配置和数据库权限设置。

机器人无响应?

检查 BOT_TOKEN 是否正确,确保机器人已被添加到群组并具有管理员权限。

遇到其他问题?查看完整文档或在社区寻求帮助: