Caution
data/ 目录后重新部署,避免数据异常。如需保留旧数据请先备份。
Telegram 多账号自动化管理面板
签到 · 消息编排 · 关键词监听 · AI 验证
TG-SignPulse 是一个 Telegram 自动化管理面板。你可以在网页中管理多个 Telegram 账号,配置自动签到任务,并让任务按固定规则或随机时间段每天自动执行。
🤖 AI 驱动:已集成 OpenAI 兼容接口,支持识图、计算题、OCR 等自动验证流程。
| 模块 | 能力 |
|---|---|
| 账号管理 | 多账号登录(短信/二维码)、代理配置、状态检测、重新登录 |
| 任务编排 | 定时/随机时间段/监听触发,支持有序动作序列和动作间隔 |
| 动作类型 | 发送文本、点击按钮、发送骰子、AI 识图、AI 计算、关键词监听 |
| 话题支持 | 群组 Thread ID 级别的发送与回复过滤 |
| 关键词监听 | 包含/完全匹配/正则,命中后支持 Telegram Bot、转发、Bark、自定义 URL、后续动作 |
| 通知推送 | 任务失败通知、账号失效通知、登录通知、关键词命中通知 |
| 运维能力 | Docker 部署、持久化数据、健康检查、配置导入导出、日志可视化 |
┌─────────────────────────────────────────────────────────┐
│ Frontend Vue 3 + Vue Router + Pinia │
│ Tailwind CSS 4 + Lucide Icons │
│ Vite + PWA │
├─────────────────────────────────────────────────────────┤
│ Backend FastAPI + Uvicorn │
│ SQLAlchemy + SQLite (WAL) │
│ APScheduler (AsyncIO) │
│ JWT + TOTP 2FA + bcrypt │
├─────────────────────────────────────────────────────────┤
│ Telegram Engine Pyrogram / Kurigram │
│ Session File / String 双模式 │
├─────────────────────────────────────────────────────────┤
│ AI Integration OpenAI SDK (兼容接口) │
│ 识图 / OCR / 计算题 / 推断点击 │
├─────────────────────────────────────────────────────────┤
│ Infrastructure Docker Multi-stage Build │
│ GitHub Actions CI/CD │
│ GHCR Container Registry │
└─────────────────────────────────────────────────────────┘
- Docker 24+ 与 Docker Compose
- 至少一个 Telegram 账号
docker run -d \
--name tg-signpulse \
--restart unless-stopped \
-p 8080:8080 \
-v $(pwd)/data:/data \
-e TZ=Asia/Shanghai \
-e APP_SECRET_KEY=$(openssl rand -base64 32) \
-e ADMIN_PASSWORD=your_strong_password \
ghcr.io/akasls/tg-signpulse:latestservices:
app:
image: ghcr.io/akasls/tg-signpulse:latest
container_name: tg-signpulse
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./data:/data
environment:
- TZ=Asia/Shanghai
- APP_SECRET_KEY=your_secret_key
- ADMIN_PASSWORD=your_strong_passworddocker compose up -d浏览器打开 http://服务器IP:8080
- 用户名:
admin - 密码:你设置的
ADMIN_PASSWORD(未设置则查看data/.admin_bootstrap_password)
TG-SignPulse/
├── backend/ # FastAPI 后端
│ ├── api/ # API 路由层
│ ├── core/ # 配置、认证、数据库
│ ├── models/ # SQLAlchemy 数据模型
│ ├── services/ # 业务逻辑层
│ ├── scheduler/ # APScheduler 调度器
│ └── utils/ # 工具函数
├── tg_signer/ # Telegram 自动化引擎
│ ├── core.py # 签到执行核心
│ ├── config.py # 任务配置模型 (V1→V2→V3)
│ └── ai_tools.py # AI 工具集成
├── frontend/ # Vue 3 前端
│ ├── src/
│ └── vite.config.ts
├── docker/ # Docker 入口脚本
├── docs/ # 项目文档 (VitePress)
├── Dockerfile # 多阶段构建
├── docker-compose.yml # Compose 编排
└── pyproject.toml # Python 项目配置
完整文档请查看 docs/README.md,包含:
- 快速开始 — 5 分钟部署并创建第一个任务
- Docker 部署 — 镜像策略、Compose、反向代理、升级
- 配置参考 — 环境变量、数据目录、配置文件
- 账号管理 — 登录方式、代理、会话模式
- 任务编排 — 动作类型、执行模式、多账号共享
- AI 动作 — OpenAI 配置与自定义提示词
- 关键词监听 — 匹配规则、推送通道、后续动作
- 系统架构 — 前后端、调度器、执行引擎
| 变量 | 说明 | 默认值 |
|---|---|---|
APP_SECRET_KEY |
JWT 密钥(生产必设) | 自动生成 |
ADMIN_PASSWORD |
管理员初始密码 | 随机生成 |
APP_DATA_DIR |
数据目录 | /data |
TZ |
时区 | Asia/Shanghai |
TG_SESSION_MODE |
会话模式 file/string |
file |
TG_GLOBAL_CONCURRENCY |
全局并发数 | 1 |
TG_PROXY |
Telegram 全局代理 | 无 |
更多配置请查看 配置参考。
# 后端
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
uvicorn backend.main:app --reload --port 8080
# 前端
cd frontend
npm ci
npm run dev- Python 3.10–3.13(推荐 3.12)
- Node.js 20+
- 不建议使用 Python 3.14+(Telegram 运行时依赖尚未兼容)
curl http://127.0.0.1:8080/healthz # 快速健康检查
curl http://127.0.0.1:8080/readyz # 服务就绪检查Bug 修复
- 修复扫码登录成功后弹窗卡在"处理中..."的问题(后端返回
password_required状态前端未正确匹配、密码提交成功后未检查返回值仍继续轮询已清理的 session) - 修复任务编排页面点击"查看日志"后弹窗无法显示历史日志的问题(多账号任务
account_name为空字符串导致后端查询失败) - 修复任务编排页面不显示任务对象(机器人)头像的问题(
account_names包含通配符*时未正确解析为实际账号名) - 修复编辑/删除/执行多账号任务时
account_name传空导致操作失败的问题
文档
- README 顶部添加 v2.0 升级兼容性警告提示
版本化管理:从本版本开始采用语义化版本号。
代码质量
- 全面清理 DEBUG print 语句,替换为结构化 logging
- 修复
accounts.py中的乱码错误消息 - 修复 SPA fallback 在生产环境错误重定向到开发服务器的问题
- Docker Compose 移除过时的
version字段,补充 tmpfs 挂载 - 前端
vite-plugin-pwa移至 devDependencies
文档
- 重写 README,增加技术栈说明和项目结构
- 更新 docs 文档体系,完善部署指南和配置参考
- 修正默认密码文档与实际行为不一致的问题
历史更新日志
- 关键词监听常驻修复:关键词监听动作现在会被识别为需要 Telegram updates 的任务
- 关键词命中后续动作修复:点击按钮动作会等待并轮询最近消息中的可点击按钮
- 签到按钮流程重试增强:按钮点击失败时从第 1 步重新执行,默认最多重试 3 次
- 关键词监听后续动作:命中关键词后可直接继续执行动作序列
- Telegram 机器人通知重构:独立配置组件,新增总开关和分类开关
- 任务级失败通知控制:可单独关闭某个任务的失败通知
- 任务前账号状态探测:执行前检测 session 是否可用
- 账号失效通知与持久标记
- 首页重登入口优化
- 关键词监听改为有序动作序列中的动作
- 动作序列布局优化
- 命中消息转发支持
- Telegram 话题 (Thread/Topic) 支持
- 全局代理回退机制
- 剪贴板批量导入导出
- Telegram Bot 失败通知
- SQLite 死锁修复
- 防止任务重复执行 UI 防护
- 主页状态显示修复
- 老账号签到异常修复
- 机器人最近回复可视
- 修复 Pyrogram 超时及 FloodWait 导致的内存泄漏
- 任务动作序列优化
- AI 动作子模式切换
- 任务复制粘贴优化
- 容器权限兼容增强
- AI 动作升级
- 长时运行稳定性优化
- 自定义数据目录支持
本项目基于 tg-signer by amchii 进行重构与扩展。