Skip to main content

上海财经大学(SUFE)网页系统命令行交互工具

Project description

🎓 sufe-cli

一句话搞定 Canvas作业提交、成绩查询、研讨室预约 — 上财人自己的 AI 管家

Image

License: MIT Python Version PyPI Version GitHub Stars

📖 目录

🎯 为什么需要 sufe-cli?

上财门户的业务系统(如 Canvas、IC 空间、教务系统等)分散且操作繁琐,需要人工认证登陆并进行复杂的网站UI操作,这给 AI Agent 自动化操作带来了挑战。

sufe-cli 就是为了解决这个问题而开发的。它通过命令行将校内核心业务系统统一封装,让 AI Agent 能够直接操作这些系统,自动化完成空间预约、成绩查询、作业管理等任务,大幅提升日常校园事务的处理效率。

🔥 关键亮点

  • 🤖 Agent 原生设计 — 4 个 Skills 开箱即用,适配主流 AI Agent(如 Claude Code、Openclaw 等),无需额外适配即可在对话中完成空间预约
  • 🔑 无缝身份认证 — 内置身份认证系统,支持手动登录与配置账号密码自动登录,一次授权持久使用
  • 📚 覆盖核心场景 — 包含 Canvas、IC 空间预约、成绩查询、校园账号管理等核心业务场景,并在持续更新中

✨ 功能概览

类别 能力
🔑 身份认证 交互式配置登录模式与账号,登录账号并持久化保存登录状态
📚 图书馆空间 查询与预约小组研讨室、多媒体制作室、静音仓
📊 成绩查询 查看各学期成绩汇总、全部课程成绩明细,支持按学期筛选
🎓 Canvas 查看课程列表、查询课程作业及提交/评分状态
👤 校园账号 根据姓名模糊搜索匹配学号;查看当前登录用户信息

🚀 快速开始

环境要求

开始之前,请确保具备以下条件:

  • Python >= 3.12
  • Node.js(npm/npx,用于安装 Agent Skills)

安装

方式一: 使用 pip 安装
# 直接使用 pip 全局安装 sufe-cli
pip install sufe-cli

# 安装必要的运行时依赖
sufe install

# 安装 CLI SKILL(针对 Agent)
npx skills add https://github.com/ChengJiale150/sufe-cli -y -g
方式二: 使用 uv 安装(推荐)
# 安装 uv
pip install uv

# 使用 uv tool 独立安装 sufe-cli 与 Playwright
uv tool install sufe-cli
uv tool install playwright

# 安装必要的运行时依赖
sufe install

# 安装 CLI SKILL(针对 Agent)
npx skills add https://github.com/ChengJiale150/sufe-cli -y -g

验证安装

sufe --version

配置与使用

# 登录授权(首次使用会自动进入交互配置,引导选择登录模式并输入账号密码)
sufe auth

# 检查当前状态
sufe doctor

# 查看自身基本信息
sufe me

🤖 Agent Skills

我们提供以下 4 个 Skill 方便Agent来了解上财门户系统与Sufe CLI的使用:

Skill 说明
sufe-base 基础域,包含环境检查、浏览器依赖安装和用户认证
sufe-lclibrary IC 空间管理域,包含各类设施状态查询与预约以及成员学号搜索
sufe-score 成绩查询域,包含学期汇总、全部课程成绩明细、按学期筛选成绩
sufe-canvas Canvas 平台域,包含课程列表查看、课程作业查询及提交

📋 核心指令示例

📚 空间设施预约查询与管理

支持 teamlab(小组研讨室)、multimedia(多媒体制作室)和 silentcabin(静音仓)三种设施,下面是预约小组研讨室的示例:

# 查看今天小组研讨室的预约状态
sufe lclibrary teamlab list

# 根据姓名搜索其他组员的学号
sufe lclibrary search <姓名>

# 预约小组研讨室(需要提供至少两名成员学号)
sufe lclibrary teamlab reserve <设施ID> <讨论主题> <成员学号1,成员学号2> <开始时间> <结束时间>

📊 学业成绩查询

# 查看各学期成绩汇总(门数、平均成绩、总学分、平均绩点)
sufe score summary

# 查看全部课程成绩明细
sufe score list

# 查看指定学期的课程成绩
sufe score list --semester "2025-2026 1"

🎓 Canvas 课程与作业

# 查看当前课程列表
sufe canvas course list

# 查看指定课程的所有作业
sufe canvas assignment list <课程ID>

# 查看指定作业的具体信息
sufe canvas assignment detail <课程ID> <作业ID>

# 下载指定文件
sufe canvas file download <文件ID>

# 提交指定作业(支持多个文件)
sufe canvas assignment submit <课程ID> <作业ID> --file <文件路径>

⚠️ 安全与风险提示(使用前必读)

⚠️ 警告

本工具可供 AI Agent 调用以自动化操作上海财经大学的相关业务系统,LLM 存在幻觉、执行不可控等固有风险;授权登录后,AI Agent 将以您的真实用户身份执行操作(例如发起预约、提交作业等)。我们强烈建议您仔细核对 Agent 待执行的操作后再允许其执行。

请勿将包含本地登录状态的 ~/.sufe-cli/state.json 或包含账号密码的 ~/.sufe-cli/auth.json 文件泄露给他人。

请您充分知悉全部使用风险,使用本工具即视为您自愿承担相关所有责任。

📝 许可证

本项目基于 MIT 许可证 开源。 该软件运行时会调用上海财经大学的相关网络服务与接口,请遵守学校的相关网络与场馆使用规定。


如果这个项目对您有帮助,请给我们一个 ⭐️

Made with ❤️ by ChengJiale150

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sufe_cli-0.7.1.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sufe_cli-0.7.1-py3-none-any.whl (44.6 kB view details)

Uploaded Python 3

File details

Details for the file sufe_cli-0.7.1.tar.gz.

File metadata

  • Download URL: sufe_cli-0.7.1.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sufe_cli-0.7.1.tar.gz
Algorithm Hash digest
SHA256 ca62105e9b1d31584f0c2320817e818371b456fee02e2f1cf0fb4a8bf8c8b698
MD5 c82e67aed598dbeda862949160a25ce9
BLAKE2b-256 3fe28b3cd88b9260b9c6648d7ea472b8af80f6d570c1a7825a5a6b9905cb7dc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for sufe_cli-0.7.1.tar.gz:

Publisher: publish.yml on ChengJiale150/sufe-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sufe_cli-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: sufe_cli-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 44.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sufe_cli-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3a4b587416b42f613f85d9e643c3d23dcc5ce99950a818046c846c80ad07c8f9
MD5 bcbee22e3cfc5d9124380703382d60e8
BLAKE2b-256 fa81a173593317d64731cf7b10fa9a55632ac52ad7ab25b17d03d6839efb90bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for sufe_cli-0.7.1-py3-none-any.whl:

Publisher: publish.yml on ChengJiale150/sufe-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page