# 桃園市115學年度國民小學課程計畫 AI 審查工具

> 依據桃園市教育局115學年度審查標準，上傳課程計畫 PDF 即可透過 AI 自動審查 | 阿凱老師製作

🔗 **線上使用：** [https://cagoooo.github.io/curriculum/](https://cagoooo.github.io/curriculum/)

🗂️ **成果記錄：** [開啟成果記錄頁](https://cagoooo.github.io/curriculum/%E6%88%90%E6%9E%9C%E8%A8%98%E9%8C%84.html)（工具、文件、原始碼與部署資產總覽）

---

## 成果記錄與公開檔案

成果記錄頁將本專案的主要工具、115 學年度課程計畫撰寫提醒 PDF、README、ROADMAP、PWA 資產，以及 Google Chat 通知服務原始碼整理成可點擊的入口，方便教學分享與後續維護。

👉 [前往成果記錄頁](成果記錄.html)

## 功能特色

- **🔍 / ✨ 雙模式**（v4.1）：
  - **審查現成 PDF**：上傳已寫好的計畫 → AI 比對 40+ 審查項次
  - **產生合規計畫**：填表 → AI 內建桃園市 115 學年度規則 → 直接產出可送審草稿
- **📄 PDF 上傳擷取**：支援拖拉或點擊上傳，自動擷取課程計畫文字內容
- **📋 40+ 項審查標準內嵌**：涵蓋 0-1 到 7-12 全部項次，無需另外複製提示詞
- **🔀 單項 / 批次雙模式**：單項精審 OR 批次跑全部項次，自動產生通過率總覽
- **✏️ 可彈性編輯提示詞**：如實際門數與規定不同（如3門→2門），可直接修改再送出
- **🤖 AI 自動審查**：整合 Google Gemini API，一鍵送出即可得到審查建議
- **📋 複製提示詞**：無 API 金鑰時，可複製完整提示詞到 ChatGPT / Gemini 網頁版使用
- **🤖 幫我寫修正稿**：對「待修正」項次一鍵生成 AI 修正建議草稿
- **📥 多格式下載**：審查報告（HTML/Word/CSV）、摘要圖卡、LINE / Email 分享
- **🔄 修正後重新審查**：修正 PDF 後可快速重新上傳，重複審查直到通過
- **🔁 產 → 審閉環**：產生器生成完可一鍵送進審查模式驗證
- **⚠️ 特殊班級提醒**：選擇特教/藝才/體育班項次時，自動顯示需搭配人工審查提示
- **💾 PWA 離線支援**：可安裝到桌面像 App 一樣使用
- **🎨 編輯排版式視覺**（v4.0）：左側松綠進度導覽 + 暖米紙底 + R3 狀態色條結果卡

---

## 支援的審查項次

| 分類 | 項次 |
|------|------|
| 0. 依據與目的 | 0-1 |
| 1. 學校現況與背景 | 1-1、1-2 |
| 2. 學校願景 | 2-1 |
| 3. 總體課程架構 | 3-1-1、3-1-2、3-2、3-3 |
| 4. 課程實施與評鑑 | 4-1-1、4-1-2、4-1-3、4-2 |
| 5. 領域/科目課程計畫 | 5-1-1 ～ 5-1-4、5-2、5-3-1、5-3-2、5-4 |
| 6. 彈性學習課程 | 6-1、6-2-1-1 ～ 6-2-1-6（各年級）、6-2-2、6-2-3、6-2-4、6-3、6-4、6-5、6-6 |
| 7. 各項附件 | 7-1-1、7-1-2-1 ～ 7-1-2-4、7-2 ～ 7-12 |

---

## 使用方式

### 快速開始（線上版）

1. 前往 [https://cagoooo.github.io/curriculum/](https://cagoooo.github.io/curriculum/)
2. 展開「**API 設定**」，點擊「🔑 免費申請 Gemini API 金鑰」取得金鑰
3. 貼上 API 金鑰並儲存
4. **Step 1**：上傳課程計畫 PDF
5. **Step 2**：選擇審查分類與項次（可直接編輯提示詞調整條件）
6. **Step 3**：點擊「送出 AI 審查」，等待約 30–60 秒取得結果

### 申請 Gemini API 金鑰（免費）

1. 前往 [Google AI Studio](https://aistudio.google.com/app/apikey)
2. 登入 Google 帳號
3. 點擊「Create API key」
4. 複製金鑰，貼到工具的「API 金鑰」欄位

### 無 API 金鑰時

點擊「**複製提示詞**」，再將複製的內容貼到 [ChatGPT](https://chat.openai.com) 或 [Gemini](https://gemini.google.com) 網頁版使用。

---

## 注意事項

- **AI 審查僅供輔助參考**，偶爾可能有疏漏，正式審查結果以教育局委員審定為準
- 支援**文字型 PDF**；掃描版（圖檔）PDF 無法擷取文字
- **特殊教育班、藝術才能班、體育班**等特殊班級目前尚無完整專屬 Prompt，建議搭配人工審查
- API 金鑰僅儲存在瀏覽器本機（localStorage），不會上傳至任何伺服器
- 如需調整審查條件（例如課程門數與規定不同），可直接在「審查提示詞」欄位修改後送出

---

## 本地端開啟

直接下載 `index.html`，用瀏覽器開啟即可使用。

```bash
git clone https://github.com/cagoooo/curriculum.git
cd curriculum
# 用瀏覽器開啟 index.html 即可
```

---

## 技術說明

- **純前端**單一 HTML 檔，無後端、無伺服器
- PDF 文字擷取：[PDF.js](https://mozilla.github.io/pdf.js/) (CDN)
- AI：Google Gemini API（支援 `gemini-2.5-flash`、`gemini-2.5-pro`、`gemini-2.0-flash`）
- 部署：GitHub Pages

---

## 版本紀錄

| 版本 | 更新內容 |
|------|----------|
| **v4.2.3** | 🗂️ **新增成果記錄頁**：集中整理工具、課程計畫撰寫提醒 PDF、文件、原始碼與 GitHub Pages 部署資產，提供可直接點擊的公開檔案入口 |
| **v4.2.0** | 💬 **產生器 LINE 即時通知**：把 v3.9 / v3.10 的 LINE Flex 卡片通知機制延伸到「✨ 產生合規計畫」流程，與審查模式對齊三狀態（送出 / 成功 / 失敗）。卡片帶學校、年級、領域、教科書版本、路線（快速/進階）、模型、生成字數、耗時等欄位，管理員可在 LINE 即時看到老師何時送出、是否成功、失敗原因 |
| v4.1.0 | ✨ **合規版產生器**：左側欄新增模式切換器，新模式「✨ 產生合規計畫」三步驟（基本資料 → 教學構想 → AI 生成）。AI system prompt 內建 5 道桃園市 115 學年度合規鐵則：①領域名稱統一寫法 ②議題融入無【】 ③七大要素齊備 ④週數對應（1-5 年級 20 週、6 年級下學期 17-18 週）⑤單元名稱不抄教材。生成完可一鍵送進審查模式驗證、匯出 Word、複製提示詞給網頁版 LLM 使用 |
| v4.0.1 | 🛡️ 強化 pro 模型 quota 爆掉指引（與國中端同步） |
| v4.0.0 | 🎨 **編輯排版式視覺重構**（依 Claude Design 最終版 B1 松綠 + R3 狀態色條）：左側 300px 黏著式進度導覽（5 步驟）、暖米紙底、襯線標題（Source Serif 4 / Noto Serif TC）、銅紅點綴、R3 結果卡左側 8px 狀態色條、桌機字級放大易讀 |
| v3.10.0 | LINE 即時通知強化：新增 IP / 地理 / 裝置 / Session 來源資訊 |
| v3.9.0  | 新增 LINE 即時通知（送出/成功/失敗 三狀態 Flex 卡片） |
| v3.8.0  | 同步教學組 0427 撰寫注意事項 4 大新規：領域與議題寫法統一、學習目標動詞+名詞、單元名稱不抄教材、學習表現/內容須呼應 |
| v3.7.2  | 擴充自動重試 + 友善中文錯誤提示 |
| v3.7.1  | 表件通過判斷強化（過濾分隔列／空 body 自動視為通過） |
| v3.0    | 批次審查、人工確認通過、修正稿生成、Word/CSV/摘要圖卡下載、PWA 離線支援、教學引導 Tutorial |
| v1.2    | 新增可編輯提示詞、AI 限制警語、重新上傳按鈕、特殊班級提醒、申請 API 金鑰按鈕 |
| v1.0    | 初始版本，40+ 審查項次內嵌，Gemini / OpenAI 雙 API 支援 |

---

*審查標準依據桃園市教育局115學年度審查 AI 用語文件*

---

<!-- BEGIN:PROJECT_GUIDE -->
## 專案導覽

桃園市115學年度國民小學課程計畫審查工具

- 專案定位：教育科技／教學支援專案
- Repository：`cagoooo/curriculum`
- 可見性：公開
- 主要技術：HTML
- 線上入口：未在 GitHub repository metadata 設定

### 可以怎麼應用

- 教師備課、課堂示範與學生自主練習
- 依年級、領域或校本課程替換內容，建立可重複使用的教學版本
- 作為教育科技活動、學習成效觀察或 AI 輔助教學的原型

這些是依目前專案定位整理的延伸方向，不代表所有情境都已內建完成；實作前請先確認現有功能與資料格式。

### 技術與專案結構

- `README.md`
- `index.html`

檔案結構會隨版本演進；若本節與程式碼不一致，以目前預設分支的原始碼為準。

### 本機執行

這是可直接由瀏覽器載入的靜態網站。可用任一靜態檔案伺服器預覽，例如：
```bash
python -m http.server 8000
```
接著開啟 `http://localhost:8000`。請避免直接以 `file://` 測試需要模組、請求或 Service Worker 的功能。

### 給 AI Agent 的接手指南

1. 先閱讀本 README、`AGENTS.md`（若有）、套件腳本與部署設定。
2. 先辨識教材、題庫、提示詞或設定資料的單一來源，避免只改畫面上的副本。
3. 調整內容時維持適齡、可讀性、無障礙與個資保護。
4. 修改後驗證教師操作流程、學生操作流程，以及桌機、平板、手機的可用性。
5. 不要捏造尚未存在的功能；README 與實作有落差時，應同時更新文件。
6. 提交前只納入本次任務檔案，並記錄實際執行過的驗證。

### 安全與資料注意事項

- 不要提交 `.env`、服務帳號、API 金鑰、token、學生個資或正式環境匯出資料。
- 使用 Firebase、Supabase、Google API 或其他雲端服務時，請建立自己的測試專案並套用最小權限。
- 若要公開衍生作品，請先確認程式碼、圖片、音訊、字型與教材內容的授權。

### 貢獻與客製化

歡迎依教學現場、活動或工作流程需求進行 fork／客製化。建議在變更說明中交代使用情境、主要修改、測試方式，以及是否影響資料格式或部署設定。
<!-- END:PROJECT_GUIDE -->
