DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

ZhiX-Wang /

ZhiX-Wang/dsh-tsinghua-course-sync

Verified

清华网络学堂课程资料增量同步,按登录用户读取课程,使用默认浏览器和配套扩展,保存去重日志。

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@7576c738

清华课程同步 · DeepSeek Harness 插件

在自己的浏览器中登录清华网络学堂,将当前学期课程资料按科目保存到本机。再次调用时检查学堂文件标识、更新时间、大小和本地 SHA-256 校验值,跳过未变化的文件。每轮同步保留逐项日志。

此包为 0.1.0 预览版,适配 DeepSeek Harness 0.2.1-rc.2 至 0.2.1 系列。插件包含 DSH 工具与配套浏览器扩展,两个部分需要同时安装。

安装

在 GitHub Release 下载 DSH 安装包与配套浏览器扩展。也可直接用发布地址安装 DSH 部分。

dsh plugin --profile desktop add https://github.com/ZhiX-Wang/dsh-tsinghua-course-sync/releases/download/v0.1.0/dsh-tsinghua-course-sync-0.1.0.tgz
  1. 将 dsh-tsinghua-course-sync-0.1.0.tgz 放到本机任意文件夹。在该文件夹运行 dsh plugin --profile desktop add ./dsh-tsinghua-course-sync-0.1.0.tgz,然后重新启动 DSH。其他 profile 用户把 desktop 换成自己的 profile 名。
  2. 解压配套浏览器扩展 ZIP。保留解压后的文件夹,浏览器后续从此处加载扩展。
  3. Chrome 用户打开 chrome://extensions,Edge 用户打开 edge://extensions。启用开发者模式,点击“加载已解压的扩展程序”,选择 chromium 文件夹。兼容 Chromium 的其他浏览器可使用其扩展管理页加载该文件夹。
  4. Firefox 版本位于 firefox 文件夹。预览测试可在 about:debugging#/runtime/this-firefox 点击“临时载入附加组件”并选择 manifest.json。临时加载在浏览器重启后失效,长期安装和公开分发需要经过 Firefox 签名。

DSH 启动器如未加入 PATH,可使用其安装目录中的 dsh 命令。macOS 应用版通常位于 /Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh。

日常使用

在 DSH 中输入以下任一句话。

帮我同步清华网络学堂当前学期的课程资料。

把课程资料保存到我指定的绝对路径,之后继续同步这个目录。

看看上次课程同步新增了哪些文件,有没有失败。

插件首先打开系统默认浏览器中的连接页。点击“允许本次课程同步”后,学堂在同一浏览器的新标签页中打开。已有登录会话会直接使用。浏览器自动填入账号和密码后,插件会尝试点击一次登录。验证码、扫码、二次验证或失效密码需要在学堂页面完成。

同步期间保留连接页和学堂标签页。完成后,DSH 显示结果与日志位置。连接页也会显示完成状态。

默认目录为当前操作系统用户的 Documents/清华网络学堂/课程。用户可以指定其他绝对路径,后续更新继续使用同一目录。每个课程文件夹采用学堂显示的课程名和课程编号,并保留原文件分类。公告与作业分别放在“课程公告”“课程作业”子文件夹。

默认浏览器为 Safari 时,当前预览版会提示选择已安装的 Chrome、Edge 或 Firefox。例如在 DSH 中说“这次用 Chrome 同步”。Safari 扩展需要另外生成应用包并签名。其他浏览器能否使用此扩展,取决于其扩展支持情况。

同步范围

  • 登录用户当前学期课程列表中的课程文件与全部分类。
  • 课程公告附件与原文说明。
  • 本人未提交、已提交未批改和已批改作业中的附件与原文说明。

课程列表由每次登录后显示的页面动态获取。新课程、新分类和新附件会在下次调用时发现。

增量记录

保存目录中的 .学堂同步/manifest.json 记录文件标识、元数据指纹、相对路径、大小、校验值与保存时间。.学堂同步/logs/ 为每次运行生成一个 JSONL 日志,逐行记录操作结果。

日志动作 含义
saved 首次保存
updated 文件发生变化,保存新版本
skipped 远程元数据和本地校验均未变化,跳过下载
deduplicated 取得内容后发现与已有文件一致,复用原文件
failed 当前项目失败,成功项目已保留,可再次同步补齐
recovered 从之前中断的保存日志恢复索引
run_finished 本轮最终状态与统计

同名文件内容发生变化时,新版本文件名带校验值后缀,旧版本继续保留。本地删除或编辑过的文件会重新核对并补齐。远程文件标识或元数据变化、但实际内容相同时,只保留一份本地内容。

每次保存先写入临时文件,检查大小和内容,再记录保存意图、提交文件和索引。相同目录的同步有互斥锁。进程中断后可根据日志恢复已保存的文件。

更新判断依赖学堂公开的文件标识、更新时间和大小。公告或作业正文还会核对原文内容。若学堂在保留相同标识、时间和大小的同时替换附件,当前版本无法从列表元数据识别该变化。

浏览器权限

浏览器扩展访问清华网络学堂、清华身份认证页面和本机回环连接。用户每次点击允许后,扩展才接收该轮课程同步操作。账号和密码由浏览器管理,扩展检查自动填充状态以触发登录,日志保存文件标识和校验结果。

课程原文与附件在本机处理,DSH 中会显示同步状态、文件统计和日志路径。用户自己的 DSH 模型与会话配置决定其聊天记录的处理方式。

已完成验证

  • 8 项保存层检查,覆盖重复运行、更新保留、内容去重、失败重试、本地编辑、日志恢复、互斥锁及路径校验。
  • 真实 Chromium 加载扩展后的完整连接测试,使用隔离的课程测试页面。覆盖首次保存、重复调用跳过、更新单个文件、切换课程列表、中文附件名、分块传输和模拟自动填充登录。
  • 2 项本机连接检查,覆盖令牌验证、请求来源、消息应答和取消等待。
  • 使用 DSH 0.2.1-rc.2 的 ToolRuntime 注册 4 个工具,并实际执行历史查询。

Windows、Linux、Firefox 和 Safari 的完整使用流程尚未实机验证。Chrome/Edge 的商店分发与 Firefox 签名尚未完成,当前通过加载源码文件夹进行预览。

工具

工具 用途
tsinghua_courses_sync 开始增量同步,可指定 root 与 browser
tsinghua_courses_status 查看运行状态,可等待最多 25 秒
tsinghua_courses_history 查看最近同步日志
tsinghua_courses_cancel 取消当前任务并保留已完成文件

browser 可选 default、chrome、edge 或 firefox。后台任务在 DSH 运行期间执行。任务返回 waiting_for_browser 或 waiting_for_login 时,按页面提示完成对应操作,随后会自动继续。

—/ 5

No ratings yet

Verified DSH bundle

Commit 7576c738fdf3

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout