首页/教育与培训/openclaw-sjtu
O

openclaw-sjtu

by @xhh678876v
4.0(20)

上海交通大学全能AI助手提供DDL追踪、课程管理、邮箱处理等19项校园服务,简化师生校园生活。

educationuniversitycampus-lifeacademic-toolsproductivityGitHub
安装方式
git clone https://github.com/xhh678876/openclaw-sjtu.git
compare_arrows

Before / After 效果对比

1
使用前

过去需要手动登录Canvas、邮箱、教务系统、食堂App等多个平台,查询DDL、邮件、菜单、校历等信息,耗时且易遗漏重要通知。

使用后

借助AI助手,通过自然语言一键查询所有DDL、未读邮件、食堂推荐、图书馆空位、校历等,信息集中,高效便捷,不再错过任何重要事项。

description SKILL.md

上海交通大学全能校园助手

配置

  • 配置文件: config.json(从 config.example.json 复制并填入凭证)
  • Canvas URL: https://oc.sjtu.edu.cn
  • 当前用户的课程列表通过 Canvas API 自动获取
  • 所有脚本位于 scripts/ 目录,用 python3 执行
  • PPT 模板位于 templates/

🔴 刚需功能(每周都用)

1. DDL 追踪

触发: "我有什么作业"、"DDL"、"截止"、"未交作业"

python3 scripts/canvas_api.py ddls        # 未交作业 + 倒计时
python3 scripts/canvas_api.py ddls-all    # 学期全景报告

2. DDL → Apple 日历

触发: "同步日历"、"导出DDL"、"导入日历"

python3 scripts/sjtu_timetable_ics.py ddls ~/Desktop/ddls.ics
python3 scripts/calendar_sync.py          # macOS 直接同步

3. 教学周 / 校历

触发: "今天第几周"、"教学周"、"校历"、"什么时候放假"

python3 scripts/sjtu_info.py week         # 当前第几周
python3 scripts/sjtu_info.py calendar     # 完整学期校历

4. 教务通知

触发: "教务通知"、"教务处"、"选课通知"、"考试安排"

python3 scripts/sjtu_news.py jwc 10

🟠 高频功能(每月多次)

5. 课程评价

触发: "课程评价"、"老师怎么样"、"选课参考"、"评分"

⚠️ course.sjtu.plus 有 CDN 反爬机制,推荐通过 OpenClaw 浏览器代理模式使用(AI 自动处理认证)。

python3 scripts/sjtu_course_review.py search 传热学
python3 scripts/sjtu_course_review.py compare 燃烧学
python3 scripts/sjtu_course_review.py detail <course_id>

6. 交大邮箱

触发: "邮箱"、"邮件"、"未读"、"发邮件"

python3 scripts/sjtu_mail.py unread --limit 10
python3 scripts/sjtu_mail.py search -k "作业"
python3 scripts/sjtu_mail.py summary
python3 scripts/sjtu_mail.py send --to someone@sjtu.edu.cn --subject "标题" --body "正文"

凭证从 config.json 自动读取。

7. 食堂推荐

触发: "吃什么"、"食堂"、"推荐"、"菜单"

python3 scripts/sjtu_canteen.py recommend
python3 scripts/sjtu_canteen.py list
python3 scripts/sjtu_canteen.py menu 二餐

8. 传承交大

触发: "往年试卷"、"课程资源"、"传承"、"笔记"

python3 scripts/sjtu_legacy.py search "传热学"
python3 scripts/sjtu_legacy.py popular

9. 交大新闻

触发: "交大新闻"、"学校新闻"

python3 scripts/sjtu_news.py news 10
python3 scripts/sjtu_news.py all

🟡 实用功能(需要时用)

10. 图书馆

触发: "图书馆"、"开馆时间"、"座位"

python3 scripts/sjtu_library.py info
python3 scripts/sjtu_library.py seats

11. 空教室

触发: "空教室"、"哪里有教室"、"自习"

python3 scripts/sjtu_classroom.py empty
python3 scripts/sjtu_classroom.py empty --building 东上院

12. 交大 PPT

触发: "做PPT"、"PPT模板"、"生成PPT"

python3 scripts/generate_ppt.py --list-templates
python3 scripts/generate_ppt.py \
  --title "标题" \
  --markdown content.md \
  --template "0.上海交通大学通用PPT模板.pptx" \
  --output output.pptx

模板目录: templates/

13. 正版软件

触发: "正版软件"、"MATLAB"、"Office"

python3 scripts/sjtu_software.py list
python3 scripts/sjtu_software.py search "MATLAB"

14. 校园巴士

触发: "校车"、"巴士"、"闵行到徐汇"

python3 scripts/sjtu_info.py bus

15. 生存手册

触发: "生存手册"、"保研"、"转专业"、"GPA"

python3 scripts/sjtu_survive.py toc
python3 scripts/sjtu_survive.py search "保研"
python3 scripts/sjtu_survive.py read "GPA"

🟢 工具功能

16. 镜像换源

触发: "换源"、"pip源"、"镜像"

python3 scripts/sjtu_mirror.py pip
python3 scripts/sjtu_mirror.py conda
python3 scripts/sjtu_mirror.py brew
python3 scripts/sjtu_mirror.py docker
python3 scripts/sjtu_mirror.py npm
python3 scripts/sjtu_mirror.py list

17. 在线工具

触发: "LaTeX"、"在线工具"、"OCR"

python3 scripts/sjtu_tools.py list

18. 视觉交大

触发: "校园照片"、"校园风景"

python3 scripts/sjtu_visual.py albums
python3 scripts/sjtu_visual.py search "图书馆"

📚 Canvas 高级功能

课件下载 + AI 总结

python3 scripts/canvas_api.py courses
python3 scripts/canvas_api.py files <course_id>
python3 scripts/canvas_api.py download <course_id> <filename>

下载后用 scripts/file_extractor.py 提取文本内容。

成绩查询

python3 scripts/canvas_api.py grades

提交作业

⚠️ 提交前必须向用户确认课程、作业和文件

from scripts.canvas_api import submit_assignment
submit_assignment(course_id, assignment_id, [file_paths])

全自动作业流水线

python3 scripts/auto_homework.py scan
python3 scripts/auto_homework.py urgent 24
python3 scripts/auto_homework.py context <course_id> <assignment_id>

手写 PDF 生成

python3 scripts/handwrite_pdf.py input.txt output.pdf --style casual
# 风格: neat(工整) casual(随意) messy(潦草)

字体目录: fonts/(12 款手写字体)



💧 水源社区

触发: "水源"、"水源社区"、"论坛"、"帖子"、"搜帖子"

只读模式:仅支持搜索和浏览,不支持发帖/回复等写操作。

# 搜索话题
node scripts/shuiyuan_discourse.mjs search "选课"

# 查看话题详情
node scripts/shuiyuan_discourse.mjs topic <topic_id>

# 按分类浏览
node scripts/shuiyuan_discourse.mjs categories

凭证配置(三选一,按优先级):

  1. config.json(推荐):填入 shuiyuan_user_api_keyshuiyuan_user_api_client_id
  2. 环境变量:设置 SHUIYUAN_USER_API_KEYSHUIYUAN_USER_API_CLIENT_ID
  3. 交互授权
node scripts/shuiyuan_discourse.mjs auth init
# 按提示完成授权后:
node scripts/shuiyuan_discourse.mjs auth finish --payload "<payload>"

授权后凭证存储于 ~/.openclaw/skills-data/shuiyuan-discourse/auth.json


依赖

pip3 install requests beautifulsoup4 python-pptx pdfplumber handright Pillow reportlab

水源社区功能额外需要 Node.js(v18+)。

注意事项

  1. 提交作业 前必须向用户确认
  2. Canvas Token 失效时需在 oc.sjtu.edu.cn → 设置 → 新建访问许可证 重新生成
  3. 选课社区受 CDN 反爬限制,推荐通过浏览器代理调用
  4. 食堂、教室等部分数据为硬编码,如有变动需更新脚本
  5. 校园巴士时刻表以学校最新通知为准

forum用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价

统计数据

安装量23
评分4.0 / 5.0
版本
更新日期2026年4月29日
对比案例1 组

用户评分

4.0(20)
5
10%
4
40%
3
40%
2
10%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Manual

时间线

创建2026年4月10日
最后更新2026年4月29日
🎁 Agent 知识卡片