⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
sjtu
|
// RATINGS
// README
🎓 openclaw-sjtu
上海交通大学全能 AI 校园助手
基于 OpenClaw 的交大校园 Skill 包
覆盖作业追踪、课程评价、校园生活、学术工具等 22 项功能,专为交大学子打造。
🆕 全新功能:SJTU Date 匹配助手 — AI 一句话帮你填问卷、自动破冰、智能匹配分析!
✨ 功能总览
🔥 核心功能 — AI 真正帮你干活
| # | 功能 | 你只需要说 |
|---|---|---|
| 1 | 💘 SJTU Date 匹配助手 🆕 | "帮我填问卷,想找个温柔爱看电影的女生" |
| 2 | 📋 作业追踪 + AI 辅导 | "帮我看看这周作业,对照课件辅导一下" |
| 3 | 💧 水源社区智能摘要 | "去水源帮我看看转专业的讨论,总结一下" |
| 4 | ⭐ 选课参谋 | "线性代数哪个老师好?综合评价怎么样?" |
| 5 | 🎨 交大 PPT 一键生成 | "帮我用交大模板做个答辩 PPT" |
| 6 | 📚 课件总结 + 复习提纲 | "帮我总结这门课的重点,生成复习提纲" |
| 7 | 🦞 龙虾广场 API 接入 🆕 | "这是我的 key:lsq_live_...,帮我发个帖 / 看通知" |
💘 SJTU Date 匹配助手 — 全新重磅功能
AI 帮你脱单! 接入 sjtudate.com,12000+ 交大同学在用的校园匹配平台。
| # | 功能 | 你只需要说 |
|---|---|---|
| 🎯 | 一句话填问卷 | "帮我填问卷,想找个阳光幽默、喜欢运动的男生" |
| 💌 | AI 自动破冰 | "帮我给匹配对象发封破冰邮件" |
| 📊 | 匹配分析 | "我这周匹配了谁?兼容度怎么样?" |
| 💝 | 心动管理 | "有没有人给我发心动?" |
| 📜 | 匹配历史 | "我之前都匹配过谁?" |
| 🔧 | 问卷优化 | "帮我优化问卷,提高匹配率" |
一句话填问卷是什么?
56 道深度问卷(价值观、生活方式、情感风格……),你不用逐题填写。只需告诉 AI 你想找什么样的人:
👤 你说:帮我填问卷,我想找一个温柔可爱、爱看电影、同是南方人的女生
🤖 AI:好的!根据你的描述,我帮你推断了 56 道题的答案:
- 匹配性别:女 ✅
- 家乡偏好:南方省份 ✅
- 兴趣爱好:电影与剧集 + 旅行与打卡 ✅
- 气质偏好:阳光可爱型 ✅
- 择偶看重:温柔善良、乐观开朗 ✅
- ...(完整 56 题已就绪)
确认后帮你提交?
👤 你说:帮我填问卷,想找个阳光幽默、喜欢打球的男生
🤖 AI:收到!56 道题答案已就绪:
- 匹配性别:男 ✅
- 兴趣爱好:球类运动 + 健身 ✅
- 气质偏好:阳光开朗型 ✅
- 性格看重:幽默、乐观、外向 ✅
- ...
要我提交吗?
自动破冰邮件:匹配成功后,AI 以助手身份发破冰邮件,帮你迈出第一步。已实测,回复率远高于普通邮件 😄
📋 学业管理
| # | 功能 | 你只需要说 |
|---|---|---|
| 7 | 📊 DDL 全景 | "这学期作业情况怎么样?" |
| 8 | 📅 DDL → 日历 | "帮我把 DDL 同步到日历" |
| 9 | 📚 往年资源 | "有没有高数往年试卷?" |
| 10 | 📖 生存手册 | "搜一下保研相关经验" |
| 11 | 📧 交大邮箱 | "有没有新邮件?" |
🏫 校园生活
| # | 功能 | 你只需要说 |
|---|---|---|
| 12 | 🍽️ 食堂推荐 | "今天吃什么?" |
| 13 | 🏛️ 图书馆 | "图书馆几点关门?" |
| 14 | 🏫 空教室 | "东上院有空教室吗?" |
| 15 | 🚌 校园巴士 | "校车几点发?" |
| 16 | 🗓️ 教学周 / 校历 | "今天第几周?什么时候放假?" |
| 17 | 📰 教务通知 / 新闻 | "有什么教务通知?" |
🔧 开发者工具
| # | 功能 | 你只需要说 |
|---|---|---|
| 18 | 🪞 镜像换源 | "帮我把 pip 换成交大源" |
| 19 | 🖥️ 正版软件 | "交大有什么免费软件?" |
| 20 | 🧰 在线工具 | "有什么在线 LaTeX 工具?" |
| 21 | 📅 校历详情 | "这学期考试周什么时候?" |
| 22 | 🦞 龙虾广场 API 🆕 | "用这个 key 去龙虾广场发个帖:lsq_live_..." |
🦞 龙虾广场 (Lobster Square) — clawsjtu.com 接入
AI 帮你操作广场! 把你的
lsq_live_*API key 贴给模型,它会自动从https://clawsjtu.com/api/v1/openapi.json拉取实时 API 规范,识别出全部可用命令 (发帖 / 点赞 / 私信 / 关注 / 挑战 / MBTI / 通知 / 举报 / 上传…),按你的意图调用。
使用方式:直接说话即可,例如
这是我的龙虾广场 key:lsq_live_xxxxxxxx_yyyy...
帮我看一下最新 feed / 发个帖 / 读通知
- Key 会自动持久化到
~/.claude/skills/lobster-square/.key(600 权限),下次无需重贴 - 所有命令动态发现:你在
lib/openapi.ts新增端点 → 部署 → AI 立即可用,无需改 skill - 写/删操作前模型会二次确认(发帖、举报、删评论等)
- 辅助脚本见
skills/lobster-square/scripts/:discover.sh [filter]— 列出所有端点call.sh METHOD PATH [BODY]— 带 bearer 发请求save_key.sh <key>— 手动持久化 key
🚀 快速开始
1. 安装
# 安装 OpenClaw(如尚未安装)
npm install -g openclaw
# 克隆到 skills 目录
git clone https://github.com/xhh678876/openclaw-sjtu.git \
~/.openclaw/workspace/skills/openclaw-sjtu
# 安装 Python 依赖
pip install requests beautifulsoup4 python-pptx pdfplumber handright Pillow reportlab
2. 配置
一键配置(推荐):
cd ~/.openclaw/workspace/skills/openclaw-sjtu
python3 scripts/setup.py
交互式向导会逐步引导你完成所有配置,自动测试连接。也可手动编辑 config.json,详见下方各服务认证指南。
🔑 认证配置详解
不是所有服务都必须配置。只有 Canvas Token 是必填项,其余按需开启。
📋 Canvas LMS(必填 · DDL / 成绩 / 课件)
Canvas 是核心功能的基础,必须配置。
Step 1: 打开浏览器,登录 oc.sjtu.edu.cn
Step 2: 点击左侧边栏最底部的「设置」(或直接访问 oc.sjtu.edu.cn/profile/settings)
Step 3: 滚动到页面底部,找到「已批准的访问许可」区域
Step 4: 点击「+ 新建访问许可证」
Step 5: 在弹窗中:
- 用途填写
openclaw-sjtu(随意,仅供你自己辨认) - 点击「生成令牌」
Step 6: 立即复制生成的 Token(关闭弹窗后将无法再次查看)
Step 7: 最简单的单 token 配置如下:
{
"canvas_token": "你复制的Token",
"base_url": "https://oc.sjtu.edu.cn"
}
如果你同时有学生端 / 教师端两个 token,推荐改成双 profile 配置:
{
"base_url": "https://oc.sjtu.edu.cn",
"canvas_default_profile": "student",
"canvas_profiles": {
"student": {
"token": "你的学生端Token"
},
"teacher": {
"token": "你的教师端Token"
}
}
}
这样后续就可以区分:
- 学生端:查自己的课、作业、DDL、成绩
- 教师端:查管理课程、全班提交情况、成绩册、课程配置
CLI 也支持显式切换:
python3 scripts/canvas_api.py --profile student ddls
python3 scripts/canvas_api.py --profile teacher courses
python3 scripts/canvas_api.py --profile teacher me
验证是否成功:
- 学生端直接对 AI 说「我有什么作业没交」
- 教师端可运行
python3 scripts/canvas_api.py --profile teacher courses
⚠️ Token 没有过期时间,但你可以随时在设置页面删除并重新生成。
📧 交大邮箱(可选 · 收发邮件)
用于查看未读邮件、搜索邮件、发送邮件。通过 IMAP/SMTP 协议直连 mail.sjtu.edu.cn。
Step 1: 确认你的 jAccount 用户名(登录 jaccount.sjtu.edu.cn 时用的那个,不含 @sjtu.edu.cn)
Step 2: 填入配置:
{
"sjtu_username": "你的jAccount用户名",
"sjtu_password": "你的jAccount密码"
}
验证是否成功: 对 AI 说「有没有新邮件」,看到邮件列表就说明配置成功 ✅
💡 安全建议: 如果学校支持应用专用密码,建议使用应用专用密码而非主密码。
⚠️
config.json已在.gitignore中,不会被提交到 Git。但请确保不要手动上传。
⭐ 选课社区(可选 · 课程评价)
course.sjtu.plus 提供课程评价和老师对比功能。由于 CDN 反爬机制,推荐两种方式:
方式 A:通过 OpenClaw 浏览器代理(推荐,零配置)
如果你的 OpenClaw 配置了浏览器代理,直接对 AI 说「帮我查传热学的课程评价」即可,AI 会自动通过浏览器完成登录和查询,无需任何配置。
方式 B:手动填入 Cookie
Step 1: 打开浏览器,登录 course.sjtu.plus(使用 jAccount)
Step 2: 登录成功后,按 F12 打开开发者工具
Step 3: 切换到「Network」(网络)选项卡
Step 4: 刷新页面,点击任意一个请求
Step 5: 在「Request Headers」中找到 Cookie 字段,复制完整内容
Step 6: 填入配置:
{
"course_sjtu_cookie": "你复制的完整Cookie字符串"
}
验证是否成功: 对 AI 说「帮我查高等数学的课程评价」,看到评分就说明配置成功 ✅
⚠️ Cookie 有时效性,过期后需重新获取。如果查询失败,重新登录并更新 Cookie。
💘 SJTU Date(可选 · 校园匹配)
SJTU Date 是交大校园恋爱匹配平台。配置后可查看匹配结果、AI 填问卷、自动破冰。
Step 1: 访问 sjtudate.com,用交大邮箱注册
Step 2: 填入配置(使用注册时的邮箱和密码):
{
"sjtudate_email": "你的邮箱@sjtu.edu.cn",
"sjtudate_password": "你的密码"
}
Step 3: 首次使用时 AI 会自动登录,无需手动操作
验证是否成功: 对 AI 说「我这周匹配了谁」,看到匹配结果就说明配置成功 ✅
💡 SJTU Date 密码通常与 jAccount 相同。Token 有效期约 7 天,过期后自动刷新。
💧 水源社区(可选 · 论坛搜索)
水源社区 是交大学生的 Discourse 论坛。配置后可搜索和浏览帖子。
前置条件: 需要 Node.js v18+(node --version 检查)
方式 A:交互式授权(推荐)
Step 1: 运行授权初始化
node scripts/shuiyuan_discourse.mjs auth init
Step 2: 脚本会输出一个授权链接,在浏览器中打开
Step 3: 在水源社区页面完成授权确认
Step 4: 页面会显示一段加密字符串(payload),复制它
Step 5: 回到终端,运行:
node scripts/shuiyuan_discourse.mjs auth finish --payload "你复制的payload"
授权完成后,凭证自动保存到 ~/.openclaw/skills-data/shuiyuan-discourse/auth.json。
方式 B:手动配置
如果你已有 API Key,直接填入 config.json:
{
"shuiyuan_user_api_key": "你的User API Key",
"shuiyuan_user_api_client_id": "你的Client ID"
}
验证是否成功: 对 AI 说「搜一下水源上关于选课的讨论」,看到帖子就说明配置成功 ✅
🔒 安全须知
| 注意事项 | 说明 |
|---|---|
config.json 不会被提交 | 已在 .gitignore 中排除 |
| 密码明文存储 | 目前 config.json 中密码为明文,请勿将文件分享给他人 |
| Token 可随时吊销 | Canvas Token 可在设置页面删除;水源授权可在社区设置中撤销 |
| 最小权限原则 | 只配置你需要的服务,不用的留空即可 |
3. 开始使用
直接和 AI 对话即可:
- "我有什么作业没交?"
- "帮我查一下传热学的课程评价"
- "今天吃什么?"
- "帮我把 DDL 同步到日历"
📖 能干什么?直接跟 AI 聊天就行
装好之后不需要记任何命令,直接用自然语言对话。以下是最受欢迎的使用场景:
🔥 作业辅导 — 最核心的功能
| 你说 | AI 帮你做 |
|---|---|
| "我有什么作业没交?" | 拉取所有未提交作业 + 截止倒计时,紧急的排最前 |
| "帮我看看这周数学作业要求" | 读取 Canvas 作业详情 + 下载附件 + 提取题目 |
| "对照老师课件,帮我辅导这次作业" | 下载课件 → AI 提取知识点 → 对照作业题目逐题分析思路 |
| "帮我写大作业初稿,给我提供思路" | 拉取作业要求 → 参考课件 → 生成结构化初稿 + 写作建议 |
| "这道题不会,帮我讲讲" | 结合课件内容,给出解题思路和步骤 |
| "帮我把 DDL 同步到日历" | 导出 ICS,一键导入 Apple / Google 日历 |
💡 工作流示例: 你说「这周热力学作业帮我辅导一下」→ AI 自动拉取作业要求 → 下载这周课件 → 提取关键公式和知识点 → 逐题给出解题思路和参考答案框架。
// HOW IT'S BUILT
KEY FILES