Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NTPU Assistant

你的 NTPU AI 助手。它透過 Chrome DevTools MCP 操作已驗證的北大官方系統,協助讀取課程、公告、作業、教材、成績、課表、註冊與繳費資訊,並可整理成 markdown 與 dashboard。

An AI assistant for National Taipei University students. It uses Chrome DevTools MCP to operate verified NTPU systems for courses, announcements, assignments, materials, grades, timetables, registration, payment status, and official school information.

已驗證系統

  • 北大官網:https://new.ntpu.edu.tw/
  • 數位學苑 3.0 / LMS3(Moodle):https://lms3.ntpu.edu.tw/
  • 學生資訊系統:https://cof.ntpu.edu.tw/student_new.htm
  • 土銀學費代收入口:https://eschool.landbank.com.tw/student_login.aspx

目前已確認的關鍵路徑還包括:

  • 學生資訊系統登入後 frameset:https://cof.ntpu.edu.tw/pls/univer/query_all_course.pageFrame
  • 學生資訊系統功課表:https://cof.ntpu.edu.tw/pls/univer/query_all_course.judge?func=4
  • 學生資訊系統選課清單:https://cof.ntpu.edu.tw/pls/univer/query_all_course.judge?func=3
  • 學生資訊系統 LMS3 handoff:https://cof.ntpu.edu.tw/pls/univer/stud_system.goLMS3
  • 官網行事曆頁:https://new.ntpu.edu.tw/oaa/files?inline=1&tag=%E8%A1%8C%E4%BA%8B%E6%9B%86&descent=true

目前能力

  • 讀取 LMS3 課程、公告、作業、教材與成績
  • 整理這週截止日、近期待辦與月曆事件
  • 讀取學生資訊系統中的課表、選課清單、註冊狀態與繳費狀態
  • 從北大官網找官方公告、系統入口與教務處行事曆
  • 將結果整理成 COURSE_SUMMARY.mddeadlines.mdschedule.mddashboard.html

設計原則

  • 只使用已驗證的北大官方站點、官方來源或使用者明確提供的 URL
  • 不套用台大、Canvas 或其他學校的假設
  • 各系統登入狀態分開驗證,不假設一定共用登入
  • 先用已驗證的輕量端點,再回退到整頁 DOM 解析
  • 對 LMS3 優先使用已驗證的 Moodle AJAX 與直連頁面
  • 對學生資訊系統優先使用已驗證的 HTML endpoint 與 menu JS data source
  • 對官網行事曆優先使用教務處文件列表與已驗證文件查詢規則
  • 產生檔案時採增量更新,不覆蓋使用者既有內容

輕量查詢策略

LMS3

已驗證可優先使用:

  • POST /lib/ajax/service.php?sesskey={sesskey}&info=core_course_get_enrolled_courses_by_timeline_classification
  • POST /lib/ajax/service.php?sesskey={sesskey}&info=core_calendar_get_action_events_by_timesort
  • POST /lib/ajax/service.php?sesskey={sesskey}&info=core_calendar_get_calendar_monthly_view
  • POST /lib/ajax/service.php?sesskey={sesskey}&info=core_course_get_recent_courses
  • POST /lib/ajax/service.php?sesskey={sesskey}&info=core_fetch_notifications
  • /my/
  • /course/view.php?id={courseId}
  • /grade/report/user/index.php?id={courseId}

適合先用來抓:

  • 已選課程清單
  • 近期作業與提醒
  • 月曆事件
  • 課程成績頁

學生資訊系統

目前沒看到穩定 JSON API,但已驗證較省成本的來源有:

  • /pls/univer/query_all_course.pageRight?date1={date1}
  • /pls/univer/query_all_course.pageLeftMenu_js?date1={date1}
  • /pls/univer/query_all_course.judge?func=3&date1={date1}
  • /pls/univer/query_all_course.judge?func=4&date1={date1}
  • /pls/univer/query_all_course.judge?func=A&date1={date1}
  • /pls/univer/query_all_course.judge?func=B&date1={date1}

適合先用來抓:

  • 註冊與繳費狀態
  • 選課清單
  • 功課表
  • menu route discovery

官網與行事曆

已驗證可優先使用:

  • GET https://cms-carrier.ntpu.edu.tw/sections?name={sectionName}
  • POST https://api-carrier.ntpu.edu.tw/strapi

其中行事曆已驗證的查詢規則是以教務處文件資料為主,核心條件包含:

  • site: "oaa_ntpu"
  • lang: "zh"
  • tags_contains: "行事曆"

這條路徑回傳的是行事曆 PDF 文件紀錄,不是 day-by-day 事件 API。

登入與驗證觀察

  • 學生資訊系統這次實測登入沒有看到 CAPTCHA、OTP 或其他可見 MFA
  • 登入成功後會進入 top / left / right 的 frameset 結構
  • date1 是每次 session 相關參數,不應硬編碼
  • 左側選單是動態 JS,但 pageLeftMenu_jsnoscript 可恢復直接連結
  • 直接開 LMS3 首頁可能仍是未登入
  • 若學生資訊系統已登入,可優先嘗試 stud_system.goLMS3 handoff 進入已登入的 LMS3
  • 是否已登入 LMS3,仍要從頁面本身驗證,例如 /my/我的課程提醒事項

常見任務

/ntpu 幫我整理這週 Moodle 作業
/ntpu 讀取這門課的最新公告
/ntpu 幫我同步所有課程的公告、作業、教材、成績
/ntpu 幫我看這學期課表
/ntpu 我有繳學費了嗎
/ntpu 幫我找最新學期行事曆

第一次使用時會打開 Chrome。若需要登入,你可以提供帳密讓 agent 代填,或自行在 Chrome 登入後再讓它繼續。

產出檔案

依需求可生成:

  • COURSE_SUMMARY.md
  • deadlines.md
  • schedule.md
  • dashboard.html

dashboard.html 會是單一自包含檔案,適合快速瀏覽課表、作業、成績與課程摘要。

安裝需求

  1. Node.js v20+
  2. 支援 skills 的 AI agent
  3. Chrome
  4. Chrome DevTools MCP
claude mcp add chrome-devtools -- npx chrome-devtools-mcp@latest

也可以手動加入 MCP 設定:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest"]
    }
  }
}

安裝 Skill

如果這份 skill 在你的 fork 裡,請用你的 repo 安裝:

npx skills add Andy312432/ntpu_skill

或直接 clone 到本機 skills 目錄:

git clone https://github.com/Andy312432/ntpu_skill.git ~/.claude/skills/ntpu

相關文件

  • SKILL.md
  • references/ntpu-lms3.md
  • references/ntpu-systems.md
  • references/ntpu-apis.md
  • references/output-format.md
  • references/dashboard-template.md

License

MIT

About

Claude Code skill for NTPU students — sync courses, schedule, deadlines from COOL, myNTPU, Mail & ePortfolio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors