⏳ This skill is pending AI review.

Scores will appear once the review pipeline completes.

v2.1.0

sjtu

@xhh678876⭐ 71 stars

|

—/10

// RATINGS

⭐GitHub Stars
⭐⭐ 71GitHub ↗

Growing

🟢ProSkills Score
—
📍

Not yet listed on ClawHub or SkillsMP

// README

🎓 openclaw-sjtu

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

基于 OpenClaw 的交大校园 Skill 包

License: MIT Python 3.8+ Platform

覆盖作业追踪、课程评价、校园生活、学术工具等 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

SKILL.mdREADME.md

// REPO STATS

71 stars

// ACTIONS

Rate this skill

login to rate

// SCORE

Pending review

// DETAILS

Categoryother
Versionv2.1.0
PriceFree