你的 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.md、deadlines.md、schedule.md、dashboard.html
- 只使用已驗證的北大官方站點、官方來源或使用者明確提供的 URL
- 不套用台大、Canvas 或其他學校的假設
- 各系統登入狀態分開驗證,不假設一定共用登入
- 先用已驗證的輕量端點,再回退到整頁 DOM 解析
- 對 LMS3 優先使用已驗證的 Moodle AJAX 與直連頁面
- 對學生資訊系統優先使用已驗證的 HTML endpoint 與 menu JS data source
- 對官網行事曆優先使用教務處文件列表與已驗證文件查詢規則
- 產生檔案時採增量更新,不覆蓋使用者既有內容
已驗證可優先使用:
POST /lib/ajax/service.php?sesskey={sesskey}&info=core_course_get_enrolled_courses_by_timeline_classificationPOST /lib/ajax/service.php?sesskey={sesskey}&info=core_calendar_get_action_events_by_timesortPOST /lib/ajax/service.php?sesskey={sesskey}&info=core_calendar_get_calendar_monthly_viewPOST /lib/ajax/service.php?sesskey={sesskey}&info=core_course_get_recent_coursesPOST /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_js與noscript可恢復直接連結 - 直接開 LMS3 首頁可能仍是未登入
- 若學生資訊系統已登入,可優先嘗試
stud_system.goLMS3handoff 進入已登入的 LMS3 - 是否已登入 LMS3,仍要從頁面本身驗證,例如
/my/、我的課程、提醒事項
/ntpu 幫我整理這週 Moodle 作業
/ntpu 讀取這門課的最新公告
/ntpu 幫我同步所有課程的公告、作業、教材、成績
/ntpu 幫我看這學期課表
/ntpu 我有繳學費了嗎
/ntpu 幫我找最新學期行事曆
第一次使用時會打開 Chrome。若需要登入,你可以提供帳密讓 agent 代填,或自行在 Chrome 登入後再讓它繼續。
依需求可生成:
COURSE_SUMMARY.mddeadlines.mdschedule.mddashboard.html
dashboard.html 會是單一自包含檔案,適合快速瀏覽課表、作業、成績與課程摘要。
- Node.js v20+
- 支援 skills 的 AI agent
- Chrome
- 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 在你的 fork 裡,請用你的 repo 安裝:
npx skills add Andy312432/ntpu_skill或直接 clone 到本機 skills 目錄:
git clone https://github.com/Andy312432/ntpu_skill.git ~/.claude/skills/ntpuSKILL.mdreferences/ntpu-lms3.mdreferences/ntpu-systems.mdreferences/ntpu-apis.mdreferences/output-format.mdreferences/dashboard-template.md
MIT