WebMoniter 是一个基于 Python、FastAPI 和 APScheduler 的任务系统,用于统一管理:
- 平台监控:虎牙、微博、哔哩哔哩、抖音、斗鱼、小红书。
- 定时任务:iKuuu、贴吧、微博超话、雨云、阿里云盘、什么值得买、Freenom、天气推送等 29 个签到/提醒任务(见
src/jobs/registry.py)。 - 多渠道推送:企业微信、钉钉、飞书、Telegram、Bark、WxPusher、邮件等 18 种 type。
- Web 管理:配置编辑、任务管理、数据展示、日志查看、密码管理。
配置支持热重载,修改 config.yml 后通常约 5 秒内生效。
| 配置管理 | 任务管理 |
|---|---|
![]() |
![]() |
展开更多项目展示
| 平台 | type | 动态 | 开播/下播 |
|---|---|---|---|
| 虎牙 | huya |
否 | 是 |
| 微博 | weibo |
是 | 否 |
| 哔哩哔哩 | bilibili |
是 | 是 |
| 抖音 | douyin |
否 | 是 |
| 斗鱼 | douyu |
否 | 是 |
| 小红书 | xhs |
是 | 否 |
| 任务 | 配置节点 | 默认时间 |
|---|---|---|
| 日志清理 | log_cleanup |
02:10 |
| iKuuu 签到 | checkin |
08:00 |
| 雨云签到 | rainyun |
08:30 |
| 贴吧签到 | tieba |
08:10 |
| 微博超话 | weibo_chaohua |
23:45 |
| 阿里云盘 | aliyun |
05:30 |
| 天气推送 | weather |
07:30 |
| 通道 | type | 图文 |
|---|---|---|
| 企业微信群机器人 | wecom_bot |
是 |
| 钉钉机器人 | dingtalk_bot |
是 |
| 飞书机器人 | feishu_bot |
否 |
| Telegram | telegram_bot |
是 |
| WxPusher | wxpusher |
是 |
| Bark | bark |
否 |
| PushPlus | pushplus |
是 |
| 密码修改 | 数据展示 | 日志查看 |
|---|---|---|
![]() |
![]() |
![]() |
精简镜像 latest 适合大多数监控和 HTTP 签到任务;完整镜像 full 额外包含 Chromium/Chromedriver 与浏览器签到依赖,适用于 iKuuu、雨云等需要网页登录的任务。
Compose 精简镜像启动(推荐)
git clone https://github.com/666fy666/WebMoniter.git
cd WebMoniter
cp config/config.yml.sample config.yml
# 精简镜像:启动
docker compose -f docker/docker-compose.yml pull
docker compose -f docker/docker-compose.yml up -d
# 精简镜像:查看、停止、再次启动、重启、删除容器/网络
docker compose -f docker/docker-compose.yml logs -f
docker compose -f docker/docker-compose.yml stop
docker compose -f docker/docker-compose.yml start
docker compose -f docker/docker-compose.yml restart
docker compose -f docker/docker-compose.yml down访问 http://localhost:8866,默认账号 admin / 123。首次登录后请修改密码。
iKuuu、雨云等浏览器签到请使用完整镜像:
docker compose -f docker/docker-compose.full.yml pull
docker compose -f docker/docker-compose.full.yml up -d
docker compose -f docker/docker-compose.full.yml logs -f
docker compose -f docker/docker-compose.full.yml stop
docker compose -f docker/docker-compose.full.yml start
docker compose -f docker/docker-compose.full.yml restart
docker compose -f docker/docker-compose.full.yml down单容器 · 精简镜像
docker pull fengyu666/webmoniter:latest
docker run -d --name webmoniter --restart unless-stopped \
-p 8866:8866 --shm-size=128m \
-e TZ=Asia/Shanghai \
-v "$(pwd)/config.yml:/app/config.yml" \
-v "$(pwd)/data:/app/data" \
-v "$(pwd)/logs:/app/logs" \
fengyu666/webmoniter:latest
docker stop webmoniter
docker start webmoniter
docker restart webmoniter
# 删除容器;容器运行中可改用 docker rm -f webmoniter
docker rm webmoniter
docker image rm fengyu666/webmoniter:latest单容器 · 完整镜像
docker pull fengyu666/webmoniter:full
docker run -d --name webmoniter-full --restart unless-stopped \
-p 8866:8866 --shm-size=256m \
-e TZ=Asia/Shanghai \
-e CHROME_BIN=/usr/bin/chromium \
-e CHROMEDRIVER_PATH=/usr/bin/chromedriver \
-v "$(pwd)/config.yml:/app/config.yml" \
-v "$(pwd)/data:/app/data" \
-v "$(pwd)/logs:/app/logs" \
fengyu666/webmoniter:full
docker stop webmoniter-full
docker start webmoniter-full
docker restart webmoniter-full
# 删除容器;容器运行中可改用 docker rm -f webmoniter-full
docker rm webmoniter-full
docker image rm fengyu666/webmoniter:fullWindows PowerShell 如遇挂载路径问题,可把 $(pwd) 改成当前目录的绝对路径。更多端口、挂载、更新与数据保留说明见 安装与运行 和 docker/README.md。
git clone https://github.com/666fy666/WebMoniter.git
cd WebMoniter
uv sync --locked
cp config/config.yml.sample config.yml
uv run python main.py需要 iKuuu、雨云等浏览器签到时安装可选依赖:
uv sync --locked --extra rainyun停止服务:在终端按 Ctrl+C。程序会关闭 Web、配置监控和数据库连接;如同步任务阻塞,最多约 12 秒后强制退出,再按一次 Ctrl+C 会立即强制退出。
从 Releases 下载 WebMoniter-vX.X.X-windows-x64.zip,解压后复制 config.yml.sample 为 config.yml,双击 WebMoniter.exe 启动。
青龙用户可通过环境变量配置,使用 python -m src.ql <task_id> 运行定时任务。详见 青龙面板兼容指南。
核心配置文件为仓库根目录的 config.yml。首次使用请从模板复制:
cp config/config.yml.sample config.yml配置项说明见:
| 功能 | 文档 |
|---|---|
| 安装部署 | docs/installation.md |
| Web 管理界面 | docs/guides/web-ui.md |
| 任务配置 | docs/guides/tasks.md |
| 监控任务 | docs/guides/tasks/monitors.md |
| 签到任务 | docs/guides/tasks/checkin.md |
| 推送通道 | docs/guides/push-channels.md |
| REST API | docs/API.md |
| 架构说明 | docs/ARCHITECTURE.md |
| 二次开发 | docs/SECONDARY_DEVELOPMENT.md |
| 常见问题 | docs/faq.md |
开发说明
uv sync --extra dev
uv run ruff check .
uv run black --check .
uv run pytest -q新增监控或定时任务请参考 二次开发指南。src/tests/ 中有注册表与 enable 映射一致性测试,漏配时 uv run pytest 会失败。完整架构说明见 docs/ARCHITECTURE.md。项目当前采用模块化结构:
| 模块 | 职责 |
|---|---|
main.py |
应用入口:Web、调度器、配置热重载、优雅关闭 |
src/core/ |
运行时(runtime.py 12 秒退出 watchdog)、路径(paths.py)、版本、HTTP 工具 |
src/settings/ |
配置模型(config.py)、YAML 映射(loader_specs.py)、热重载(watcher.py)、DB 同步(db_sync.py) |
src/jobs/ |
调度(scheduler.py)、注册(registry.py)、启用映射(enable_fields.py)、执行结果(task_outcome.py)、生命周期(lifecycle.py)、日志(log_manager.py)、运行记录(tracker.py) |
src/storage/ |
SQLite(database.py)、Cookie 缓存(cookie_cache.py) |
src/monitors/ |
6 个平台监控(interval 触发,见 registry.MONITOR_MODULES) |
src/tasks/ |
29 个定时/签到任务(Cron 触发,含 rainyun/ 子包,见 registry.TASK_MODULES) |
src/push_channel/ |
18 种推送 type(企业微信、钉钉、Telegram 等,含 demo、qlapi) |
src/web/ |
FastAPI 应用(app.py)、路由(routers/)、认证/配置/数据辅助、templating.py、static_files.py |
src/webUI/ |
前端静态资源与 Jinja2 模板 |
src/ql/ |
青龙 CLI(python -m src.ql <task_id>,环境变量兼容见 compat.py) |
src/tests/ |
pytest 单元与 smoke 测试 |
部分签到与推送思路参考了以下项目:
如果这个项目对你有帮助,请给个 ⭐ Star!
Made with ❤️ by FY




