O

openclaw-sjtu

by @xhh678876v
4.0(20)

上海交通大学のオールインワンAIアシスタントは、OpenClawフレームワークに基づいて、交大の教職員と学生にワンストップのキャンパスサービスを提供します。DDL追跡、コース管理、メール処理、食堂のおすすめ、図書館検索、学事暦、キャンパスバス、PPT生成、SJTU Dateマッチングなど19の機能を網羅しており、キャンパスライフと学習効率を大幅に向上させ、情報を手軽に入手できるようにします。

educationuniversitycampus-lifeacademic-toolsproductivityGitHub
インストール方法
git clone https://github.com/xhh678876/openclaw-sjtu.git
compare_arrows

Before / After 効果比較

1
使用前

以前は、Canvas、メール、教務システム、食堂アプリなど、複数のプラットフォームに手動でログインし、締め切り(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 知識カード