Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

知了资源批量智能分析扩展

一个 Chrome Manifest V3 扩展,用来在知了/云大学堂资源管理页面中批量筛选视频资源,并按规则发起智能分析任务。

非官方项目。请只在你有权限管理的知了项目中使用,并先用“接口探针”和“预览匹配”确认筛选结果。

功能特性

  • 支持“个人资源”和“录播资源”两类来源。
  • 自动读取当前知了页面的项目地址、登录状态和资源目录。
  • 自动读取页面筛选项,录播资源支持学期、机位等动态选项。
  • 关键词会下发到搜索接口,用于按课程、老师等服务端字段过滤。
  • “名称包含”用于素材名模糊条件。
  • 支持可配置扫描每页数,默认 200,最高 1000,用于绕开页面最多显示 100 页的限制。
  • 先完整分页扫描并完成二次筛选,再按批次提交智能分析。
  • 支持多条规则,每条规则可以配置“已有/缺失”条件和要发起的识别流程。
  • 同一视频命中多条规则时,会自动合并要发起的流程。
  • 支持只补做缺失结果,避免重复发起已有流程。
  • 支持暂停、继续、取消和失败重试。
  • 内置接口探针:真实调用无副作用接口,完整扫描命中数,并只构建提交 body 预览,不实际提交。
  • 内置诊断日志:记录请求摘要、分页状态、HTTP 状态和错误信息。
  • 复用 Chrome 当前登录会话,不保存账号、密码、Cookie 或 Token。

适用场景

  • 批量补做语音文本、知识点、知识要点、摘要、关键词等智能分析。
  • 对录播资源按日期、教师画面、课程或老师关键词做批量处理。
  • 先找出“已有语音文本但缺知识要点”的视频,再发起知识要点识别。
  • 在不同部署环境中快速验证搜索接口字段和提交 payload。

已验证接口

  • 个人资源搜索:POST /rman/v1/search/folder
  • 录播资源搜索:POST /rman/v1/search/all
  • 资源目录树:GET /rman/v1/folder/all/tree?level=2
  • 学期选项:GET /unifiedplatform/v1/base/data/database/get/semester/by/name
  • 录播机位:GET /rman/v1/review/video/seats
  • 智能分析提交:POST /rman/v1/intelligent/smart/flow

安装

  1. 下载或克隆本仓库。
  2. 打开 Chrome 的 chrome://extensions/。
  3. 开启右上角“开发者模式”。
  4. 点击“加载已解压的扩展程序”。
  5. 选择本仓库根目录,也就是包含 manifest.json 的目录。
  6. 打开知了资源管理页面,确认已经登录。
  7. 点击扩展图标,或点击“完整页面”打开控制台。

使用流程

  1. 在知了网页确认登录正常。
  2. 打开扩展,选择“个人资源”或“录播资源”。
  3. 设置日期、关键词、名称包含、使用状态等基础条件。
  4. 录播资源可选择学期、录播机位,例如“教师画面”。
  5. 设置“扫描每页数”。如果网页最多显示 100 页,可尝试 500 或 1000。
  6. 配置一条或多条二次筛选规则。
  7. 先点“接口探针”,确认分页总数、命中数和提交 body 预览。
  8. 再点“预览匹配”,核对样例。
  9. 确认无误后点“创建后台任务”。
  10. 后台会先扫描全部分页,再按批次提交。

规则示例

补知识要点:

  • 条件:语音文本 已有
  • 条件:知识要点 缺失
  • 动作:勾选 知识要点
  • 建议:开启“已有对应结果时不重复发起”

补语音文本:

  • 条件:语音文本 缺失
  • 动作:勾选 语音文本
  • 建议:开启“已有对应结果时不重复发起”

扫描与提交策略

扩展不依赖网页当前页,也不模拟网页翻页。它会直接调用搜索接口:

{
  "pageIndex": 1,
  "pageSize": 200,
  "conditions": []
}

正式任务的执行顺序是:

  1. 按 pageIndex 完整分页扫描。
  2. 对每页结果做视频类型过滤和二次规则筛选。
  3. 累计所有待提交 payload。
  4. 扫描完成后进入提交阶段。
  5. 按“每批资源数”滚动调用智能分析提交接口。

任务不会边扫描边提交。

接口探针

接口探针用于正式提交前的安全验证。它会:

  • 读取目录树。
  • 读取页面筛选项和兜底接口。
  • 构建搜索请求。
  • 完整分页扫描当前规则命中数。
  • 构建 /rman/v1/intelligent/smart/flow 的提交 body 预览。

接口探针不会实际调用智能分析提交接口。

本地调试脚本

仓库包含一个本地探针脚本:

node tools/zhiliao-api-probe.mjs --fixture --source recording --from 2026-06-16 --to 2026-06-16 --pageSize 500 --actions knowledgeSummary

如果你有项目 Cookie,也可以真实调用搜索接口。脚本不会提交智能分析任务:

ZHILIAO_COOKIE='你的 Cookie' node tools/zhiliao-api-probe.mjs \
  --origin https://your-project.example.com \
  --source recording \
  --keyword 王鹏程 \
  --from 2026-06-16 \
  --to 2026-06-16 \
  --seats 教师画面 \
  --pageSize 500 \
  --actions knowledgeSummary

权限与隐私

扩展请求的 Chrome 权限包括:

  • activeTab
  • alarms
  • scripting
  • storage
  • tabs
  • 可选站点权限:http://*/*、https://*/*

说明:

  • 扩展不会保存账号、密码、Cookie 或 Token。
  • 请求通过 credentials: include 复用 Chrome 当前登录态。
  • 项目地址、表单配置、任务状态和诊断日志保存在 chrome.storage.local。
  • 诊断日志会裁剪长字符串,用于排查接口路径、分页和错误原因。

故障排查

如果结果数量不符合预期:

  1. 先点“接口探针”。
  2. 查看“搜索请求”里的 keyword、pageSize、conditions、folderPath。
  3. 查看“完整规则扫描”的 total、pageCount、matched。
  4. 点击“复制日志”,把日志发给维护者。

常见现象:

  • 关键词没过滤:检查搜索请求里是否有 keyword: ["..."]。
  • 最多只扫到部分数据:尝试把“扫描每页数”调到 500 或 1000。
  • 提交前数量不对:先用“接口探针”确认命中数,不要直接创建任务。
  • 登录失效:重新打开知了网页登录,后台会定时检测并继续任务。

当前限制

  • 当前规则编排只处理视频资源。
  • “已有/缺失”依赖搜索接口返回字段,不同部署版本可能需要补充字段映射。
  • Chrome Manifest V3 后台会休眠,扩展通过 chrome.alarms 定时唤醒,最坏可能延迟约一分钟。
  • 后端是否接受较大的 pageSize 取决于具体部署,建议先用接口探针验证。
  • 智能分析提交接口会真实创建任务,使用前请确认筛选条件。

开发

本项目没有构建步骤,源码即扩展。

语法检查:

node --check background.js
node --check popup.js
node --check tools/zhiliao-api-probe.mjs

打包为 zip:

zip -r zhiliao-batch-extension.zip . -x '*.git*' '*.DS_Store*' '*.zip'

许可证

MIT License

About

Chrome extension for batch smart analysis of Zhiliao resources

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages