获取、同步并整理任何课程或机构的EdStem讨论帖。适用于检查新帖子、同步课程讨论区等场景。
EdStem.是一项面向实际任务的技能,主要用于Fetch 并组织来自任何课程或机构的EdStem讨论线索,自动设置员工/学生区分;QQ 快起步;
使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
从任意课程或机构抓取并整理 EdStem 讨论帖,自动区分教职员工与学生发帖。
获取任意课程的最新讨论帖:
cd /home/axel/.openclaw/workspace/skills/edstem/scripts python3 fetch-edstem.py[output_dir] [--course-name "Course Name"]
示例:
# 抓取至默认目录(./edstem-) 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
查找你的 EdStem 课程 ID 方法如下:
https://edstem.org/us/courses// 或者,使用 API 列出你所加入的所有课程:
curl -H "Authorization: Bearer YOUR_TOKEN" https://us.edstem.org/api/user | jq '.courses[] | {id: .course.id, name: .course.name}'
针对每门课程,将生成以下文件:
该技能通过 Python 脚本中存储的 Bearer Token 进行认证。若需使用你自己的账户,请按以下步骤操作:
Authorization: Bearer ... Tokenscripts/fetch-edstem.py 中的 ED_TOKEN 变量值当前 Token 所在位置:scripts/fetch-edstem.py 第 20 行
若 API 调用失败(返回 401 Unauthorized),说明 Token 已过期,需重新获取并更新。
功能完备的 Python 脚本,支持 Markdown 格式化输出及教职人员/学生身份自动区分。
用法:
python3 scripts/fetch-edstem.py[output_dir] [options]
可选参数:
output_dir —— 存储帖子的目录(默认:./edstem-)--course-name NAME —— 课程显示名称--limit N —— 抓取帖子数量(默认:10)功能特性:
基于 Bash/curl 的纯 JSON 抓取脚本,无需额外依赖。
用法:
bash scripts/fetch-edstem.sh[output_dir]
输出内容:
python3 scripts/fetch-edstem.py 92041 ~/courses/ml-spring-2025
# 编写简易同步脚本
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 文件:
ls -lt ./edstem-92041/*.md | head cat ./edstem-92041/thread-001.md
grep -r "gradient descent" ./edstem-92041/*.md
/ ├── threads.json # 帖子元数据 ├── thread-001.md # 单个帖子文件 ├── thread-002.md └── ...
每个 Markdown 文件包含以下内容:
# 抓取帖子后交由智能体分析 python3 fetch-edstem.py 92041 ./course-data # 接着执行:"Summarize the most common questions in ./course-data/"
# 加入 cron 实现每日同步 0 9 * * * cd /path/to/skills/edstem/scripts && python3 fetch-edstem.py 92041 ~/courses/ml
# 按学期与院校组织 python3 fetch-edstem.py 92041 ~/school/stanford/2025-spring/cs229 python3 fetch-edstem.py 94832 ~/school/mit/2025-spring/6.7920
401 Unauthorized:Token 已过期。请重新登录获取 Token,并更新脚本中的 ED_TOKEN。
课程未找到:请确认课程 ID 正确,且你的账户具有访问权限。
帖子为空:请确认该课程存在讨论帖,且你已注册该课程。
请求频率限制:EdStem 可能对 API 请求进行限频。如需,可在多次抓取之间添加延迟。
本技能为开源设计,且具备机构无关性。欢迎提交改进:
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习