返回顶部
e

edstemEdStem 同步

Fetch, sync, and organize EdStem discussion threads for any course or institution. Use when checking for new EdStem posts, syncing course discussion forums, reviewing student/staff questions and answers, or when the user asks to check EdStem, review course discussions, or stay updated on class forums.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.1.0
安全检测
已通过
733
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

edstem

EdStem

从任何课程或机构获取并整理EdStem讨论线程,自动区分教职工/学生身份。

快速开始

获取任意课程的近期线程:

bash
cd /home/axel/.openclaw/workspace/skills/edstem/scripts
python3 fetch-edstem.py <课程ID> [输出目录] [--course-name 课程名称]

示例:
bash

获取到默认目录 (./edstem-<课程ID>)


python3 fetch-edstem.py 92041

获取到指定目录

python3 fetch-edstem.py 92041 ./machine-learning

指定课程名称以获得更清晰的输出

python3 fetch-edstem.py 92041 --course-name Machine Learning

同时指定目录和课程名称

python3 fetch-edstem.py 92041 ./ml-course --course-name Machine Learning

获取更多线程(默认为10个)

python3 fetch-edstem.py 92041 --limit 25

查找课程ID

要找到你的EdStem课程ID:

  1. 1. 登录EdStem并导航到你的课程
  2. 查看URL:https://edstem.org/us/courses/<课程ID>/
  3. URL中的数字即为你的课程ID

或者,使用API列出你的课程:
bash
curl -H Authorization: Bearer 你的令牌 https://us.edstem.org/api/user | jq .courses[] | {id: .course.id, name: .course.name}

获取内容

每个课程获取的内容:

  • - threads.json - 包含元数据的完整线程列表
  • thread-XXX.md - 格式化为Markdown的单个线程

- 线程标题、分类、时间戳
- 原始帖子内容
- 所有回答和评论
- 每个帖子上的 [STAFF][STUDENT] 标签

功能特点

  • - 机构无关性:适用于任何使用EdStem的学校
  • 教职工区分:清晰标记教师/助教帖子与学生帖子
  • 结构化输出:Markdown格式,便于阅读和搜索
  • 基于API:使用EdStem官方API(无需爬取)
  • 灵活输出:可选择自己的输出目录和组织方案

身份验证

该技能使用存储在Python脚本中的Bearer令牌。要使用你自己的账户:

  1. 1. 在浏览器中登录EdStem
  2. 打开开发者工具 → 网络标签
  3. 重新加载任意EdStem页面
  4. 找到API请求并复制 Authorization: Bearer ... 令牌
  5. 更新 scripts/fetch-edstem.py 中的 ED_TOKEN

当前令牌位置: scripts/fetch-edstem.py 第20行

如果API调用失败(401未授权),你的令牌可能已过期,需要刷新。

脚本

fetch-edstem.py(推荐)

功能完整的Python脚本,支持Markdown格式化和教职工/学生区分。

用法:
bash
python3 scripts/fetch-edstem.py <课程ID> [输出目录] [选项]

选项:

  • - output_dir - 保存线程的目录(默认:./edstem-<课程ID>)
  • --course-name NAME - 课程的显示名称
  • --limit N - 获取的线程数量(默认:10)

功能特点:

  • - 获取线程元数据和完整详情
  • 完整的Markdown格式化,包含回答和评论
  • 自动检测教职工角色
  • 线程列表的JSON缓存
  • 自动创建输出目录

fetch-edstem.sh(轻量级替代方案)

Bash/curl版本,用于无依赖的原始JSON获取。

用法:
bash
bash scripts/fetch-edstem.sh <课程ID> [输出目录]

输出:

  • - 每个线程的原始JSON文件
  • 需要手动格式化或后处理

常见工作流程

检查新帖子

bash python3 scripts/fetch-edstem.py 92041 ~/courses/ml-spring-2025

同步多个课程

bash

创建简单的同步脚本

for course in 92041:machine-learning 94832:advanced-rl; do IFS=: read -r id name <<< $course python3 scripts/fetch-edstem.py $id ~/courses/$name --course-name $name done

查看近期活动

获取后,检查Markdown文件: bash ls -lt ./edstem-92041/*.md | head cat ./edstem-92041/thread-001.md

跨线程搜索

bash grep -r 梯度下降 ./edstem-92041/*.md

输出结构

<输出目录>/
├── threads.json # 线程元数据
├── thread-001.md # 单个线程
├── thread-002.md
└── ...

每个Markdown文件包含:

  • - 线程元数据(编号、标题、分类、时间戳)
  • 原始帖子及作者角色
  • 所有回答(排序,带角色标签)
  • 所有评论(带角色标签)

集成示例

与LLM代理集成

bash

获取线程并用你的代理进行分析

python3 fetch-edstem.py 92041 ./course-data

然后:总结 ./course-data/ 中最常见的问题

自动监控

bash

添加到cron进行每日同步

0 9 * cd /path/to/skills/edstem/scripts && python3 fetch-edstem.py 92041 ~/courses/ml

自定义组织

bash

按学期和机构组织

python3 fetch-edstem.py 92041 ~/school/stanford/2025-spring/cs229 python3 fetch-edstem.py 94832 ~/school/mit/2025-spring/6.7920

故障排除

401未授权: 令牌已过期。重新认证并更新脚本中的 ED_TOKEN。

未找到课程: 验证课程ID以及你的账户是否有访问权限。

空线程: 检查课程是否有讨论帖子以及你是否已注册。

速率限制: EdStem可能对API请求进行速率限制。如有需要,在获取之间添加延迟。

贡献

该技能是开源的,设计为机构无关。欢迎改进:

  • - 更好的内容解析(EdStem使用基于XML的文档格式)
  • 支持按分类或日期范围过滤
  • 增量同步(仅获取新线程)
  • 导出为其他格式(JSON、HTML等)

版本历史

  • - 1.1.0 - 通过灵活参数实现机构无关性
  • 1.0.0 - 初始版本

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 edstem-1776420004 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 edstem-1776420004 技能

通过命令行安装

skillhub install edstem-1776420004

下载

⬇ 下载 edstem v1.1.0(免费)

文件大小: 13.12 KB | 发布时间: 2026-4-17 19:32

v1.1.0 最新 2026-4-17 19:32
Institution-agnostic: works with any school using EdStem, flexible output directories, auto course name detection

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部