Skip to content

Repository files navigation

Logo

BearBot Console

BearBot 萌娘百科机器人控制台

在线演示:GitHub Page

Electron Node.js
License Linux Support Windows Support macOS Support

功能

网络请求

  • 自选 zh/mzh 域名
  • 支持设置重试、超时,可自行调整以适配萌百的网络状况
  • 可配置全局节流设置,避免并发过多请求触发萌百的站点限流

应用设置及账号管理

任务调度

  • 萌娘百科多账号管理,支持为不同任务单独设定执行账号
  • 可视化配置与显示执行周期,动态配置任务参数
  • 支持 webhook 触发任务
  • 支持手动触发、手动打断,同一任务防重入
  • 应用启动时检查并提示错过的任务
  • 启用高频任务时要求确认,避免误操作

任务管理 任务设置

日志

  • 日志按天持久化到本地文件,保留 30 天,超期自动清理
  • 界面支持按时间、任务、类型、内容筛选,最多展示最近 200 条
  • 支持在日志中使用 [[内链]]、'''加粗'''、''斜体'' 等 wikitext 语法,显示效果与萌百页面一致
  • 任务数据汇总:统计日、周、月的执行次数与成功率,以及下次执行的任务与时间

日志及统计数据

任务脚本

详见任务脚本添加指南

  • 与 mw.Api 用法相近的 api 接口,token 缓存、失败重试开箱即用
  • 任务上下文 TaskContext 提供api、user、logger、params、signal、sleep等对象/方法
  • 从现有 TS/JS 脚本库轻松(存疑)迁移

说明

  • 本项目带有学习练手性质,因此包含较多对机器人功能本身而言无意义的功能和性能浪费,包括但不限于:
    • 为了实现拖拽效果而添加背景图片功能
    • 为了了解 Electron 的 session 分区而实现多账号管理
    • 看似灵活、实际流程繁琐的任务参数配置
  • 关于“为什么不”:可能并没有“不”。建议先看上一条,了解“为什么要这样设计”,最后才是“为什么不”。
  • 有较多针对萌娘百科的设计(如 API 封装),如需适配其他 MediaWiki 站点可能需要一定量的修改。
  • 已知限制:Windows 下,点击系统通知中心的任务完成通知恢复主窗口的功能仅在安装后可用,直接运行 unpacked 目录或 portable 版本时无法正常恢复窗口。

使用

本项目有以下分支:

  • 主分支为干净分支,仅包含框架代码,可自行添加任务脚本并构建使用。
  • bearbot 分支为我个人机器人分支,包含具体任务脚本,可供参考。
  • gh-pages 分支为项目演示页分支,在GitHub Page上模拟界面和运行效果。

添加机器人任务

见任务脚本添加指南。

构建

pnpm install   # 安装依赖
pnpm dev       # 开发模式运行
pnpm build     # 构建当前平台的安装包
  • 环境要求:Node.js >= 24.15、pnpm
  • 构建产物位于 release/<版本号>/ 目录,支持 Windows / Linux / macOS
  • 本仓库代码推送到 bearbot 分支或手动触发构建工作流时通过 GitHub Actions 构建,请自行选择合适的构建方式。

开源许可

基于 MIT License 开源,Copyright (c) 2026 BearBin。

Releases

Used by

Contributors

Languages