cela-auto

中国干部网络学院自动学习脚本,支持浦东分院等多种环境,采用状态机驱动的极简高效架构。模块化重构版本。

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

작성자
Moker32
일일 설치 수
0
총 설치 수
0
평점
0 0 0
버전
4.1.0
생성일
2026-01-21
갱신일
2026-01-21
크기
364KB
라이선스
GPL-3.0-or-later
적용 사이트

cela-auto

项目简介

cela-auto 是针对"中国干部网络学院"设计的自动化学习工具。采用底层 API 直接调用技术,避开传统的 DOM 模拟点击,具有极高的运行效率与稳定性。

当前支持: 浦东分院、企业分院

核心特性

  • 平台化架构: 浦东、企业、门户分院独立模块,高内聚低耦合
  • 双模式支持:
    • 浦东分院:API 直接调用,秒级完成
    • 企业分院:视频真实播放,自动控制 Video.js
  • 智能识别: 自动检测页面类型,匹配对应学习策略
  • 状态机架构: 显式状态机管理异步流程,确保稳定性
  • 事件驱动: EventBus 解耦 UI 与核心逻辑,易于维护
  • 安全合规: 统一合规层自动注入参数,防止异常上报

环境支持

环境 域名 状态
浦东分院 cela.e-celap.cn, pudong.e-celap.cn, pd.cela.cn ✅ 稳定支持
企业分院 cela.cbead.cn ✅ 稳定支持
通用门户 www.cela.gov.cn ⚪ 基础支持

完整变更日志请查看 CHANGELOG.md


1. 浦东分院 - API 直接调用模式

浦东分院提供了完整的 API 接口,脚本可以直接调用后端接口上报学习进度,无需真实播放视频

技术原理

  • 调用 POST /inc/nc/course/play/pulseSaveRecord 核心接口
  • 设置 pulseTime: 10, pulseRate: 1 参数(合规层自动注入)
  • 进度上报至 98% 安全阈值(超过自动修正)

支持的页面类型

页面类型 URL 特征 说明 支持学习
首页/综合页 /pc/nc/pagehome/index 课程列表聚合页
专栏页 zgpdyxkc, channelDetail 专题专栏课程列表
专栏详情页 specialdetail 专题详情课程列表
播放页 coursePlayer 课程视频播放页面
专题入口页 specialcolumn 专题入口页(不含课程) 识别不学习
干部履职专区 pdchanel/pdzq 干部履职通识课程专区 识别不学习

注意specialcolumnpdchanel/pdzq 等页面会识别为专栏页类型,但点击开始学习时会提示进入具体课程页面后再学习。

工作流程

用户点击开始学习 → 扫描课程列表 → API 上报进度 → 完成即切换 → 下一课程

操作说明

  • 页面加载时只显示控制面板,不自动扫描
  • 点击"开始学习"按钮后才扫描课程并开始学习
  • 支持中途停止,停止后可再次点击继续学习

优势

  • 效率极高,秒级完成
  • 无需保持页面可见
  • 不消耗浏览器资源播放视频

2. 企业分院 - 视频真实播放模式

企业分院是 Vue.js 单页应用,没有公开的学习进度 API,需要通过 Video.js 播放器真实播放视频。

技术原理

  • 自动化控制 Video.js 播放器
  • 监听视频播放事件,前端自动追踪进度
  • 页面可见性监控 + 屏幕常亮锁

支持的页面类型

页面类型 URL 特征 说明
首页/班级列表 class/index 班级列表页面
专题详情页 train-new/class-detail 专题班课程列表
分页课程列表 branch-list-v 分页课程列表(支持多页扫描)
播放页 study/course/detail 视频播放页面

工作流程

扫描课程 → 进入播放页 → 自动播放视频 → 前端追踪进度 → 章节自动切换 → 课程完成

特性

  • 自动静音播放
  • 断点续播支持(检测已播放位置)
  • 章节状态检测(自动切换到未完成章节)
  • 页面可见性监控(隐藏时提醒)
  • 屏幕常亮锁(防止息屏)

3. 为什么工作方式不同?

两个分院的技术架构差异决定了不同的工作模式:

特性 浦东分院 企业分院
技术栈 jQuery + 服务器渲染 Vue.js SPA
API 接口 ✅ 公开可用 ❌ 未开放
进度上报 直接调用 API 依赖前端播放追踪
视频播放 不需要 必须真实播放
效率 极高(秒级) 较低(依赖视频时长)

浦东分院采用传统的服务器端渲染架构,提供了完整的学习进度 API。学习记录通过 HTTP 请求直接写入数据库,因此脚本可以跳过视频播放,直接调用 API 完成学习。

企业分院是现代化的 Vue.js 单页应用,学习进度通过前端 JavaScript 追踪并上报到后端。没有公开的 API 端点,学习行为必须通过真实的视频播放来触发。


快速开始

安装步骤

  1. 安装脚本管理器

    • 下载并安装 Tampermonkey(篡改猴)浏览器插件
  2. 安装脚本

安装按钮

  1. 访问学习平台

  2. 启动学习

    • 点击页面右上角的控制面板
    • 点击"开始学习"按钮
    • 脚本将自动处理未完成的课程

使用说明

  • 自动识别: 脚本会自动识别当前页面的课程
  • 智能跳过: 已完成或无效课程会被自动跳过,无等待时间
  • 进度保存: 学习进度会自动保存到浏览器本地存储
  • 日志查看: 控制面板提供详细的操作日志

常见问题

Q: 使用脚本会被封号吗?

A: 风险程度因分院而异:

  • 浦东分院: API 直接调用模式,效率高但风险相对较高
  • 企业分院: 真实播放视频,模拟正常学习行为,风险较低

建议:

  • 不要连续长时间运行
  • 遵守平台使用规定
  • 企业分院建议保持页面在前台,避免被检测为异常行为

Q: 为什么浦东分院比企业分院快?

A: 浦东分院可以直接调用 API 上报进度,秒级完成。企业分院需要真实播放视频,耗时与视频时长相同。

Q: 脚本支持哪些页面?

A: 详见上方"环境支持"部分的表格。

Q: 如何调试脚本?

A: 打开浏览器开发者工具(F12),在 Console 中查看日志输出。控制面板会显示详细的操作日志和错误信息。

Q: 学习进度会丢失吗?

A: 不会。学习进度保存在服务器端,与账号绑定。本地存储仅保存脚本状态(如当前学习位置),不影响已完成的课程进度。

Q: 企业分院播放时页面可以最小化吗?

A: 不可以。企业分院需要保持页面可见(或有屏幕常亮锁),视频暂停会影响学习进度。建议保持页面在前台。

免责声明

  1. 本脚本仅限用于技术研究与学习交流,严禁用于任何非法用途
  2. 用户在使用过程中应遵守平台相关管理规定
  3. 因使用本脚本产生的任何后果由用户自行承担
  4. 本项目开源仅供学习,不代表任何官方立场

许可证

GPL-3.0-or-later

作者

Moker32


最后更新: 2026-01-21