跳轉到

Guidant AI 功能 SPEC 手冊

給誰看:新到職的全端工程師,以及需要查「某個功能怎麼運作」的維護者。

怎麼用:從下面的功能群找到你要改的頁面,開該頁的 spec——13 節固定結構,含前後端檔案地圖、API、DB、頁面邏輯與已知坑。

結構:一個頁面 spec = 一條 FE route;頁內 dialog / tab 都寫在該頁 spec 內。

先讀這些(新人第一天)

  1. BE 開發環境:docs/user-manual/developer-setup-guide.md(或 docs/system-design/ 的 Setup Guide docx)
  2. 系統全貌(技術):docs/交付文件/v1.8.0/ GAI-SD-01 系統架構
  3. 系統全貌(業務):GAI-SD-07 功能規格總覽(稽核生命週期 + UC)
  4. 然後回來這裡,按你被指派的功能開頁面 spec

兩種查法

  • 知道功能領域(要改稽核流程 / 證據 / 合規框架…)→ 用下面的「功能群 → 頁面 索引」,或直接看左側選單(按領域分組,與 repo 目錄一致)。
  • 只知道在產品畫面哪個選單(照著 UI 找)→ 用「產品選單 → spec 對照表」。

產品選單 → spec 對照表(照畫面找)

對齊系統實際的左側選單。同一份 spec 可能對應多個選單入口。

產品選單位置 對應頁面 spec
專案任務 › 專案儀表板 專案儀表板
專案任務 › 我的任務 我的任務
專案任務 › 專案列表 專案列表頁
專案任務 › 稽核管理 我的稽核
專案任務 › 專案摘要報表 專案摘要報表
合規稽核 › 範本管理 範本管理 / 合規資源庫
合規稽核 › 合規框架管理 合規框架管理
合規稽核 › 稽核流程範本 BPMN 稽核範本管理
合規稽核 › 檢測工具管理 檢測工具管理
溝通協作 › 公告檢視 公告檢視
溝通協作 › 公告管理 公告管理
溝通協作 › 問卷管理 問卷管理頁
溝通協作 › 回饋管理 / 回饋檢視 回饋管理
租戶組織 › 租戶管理 租戶管理
租戶組織 › 部門管理 部門管理
租戶組織 › 使用者管理 使用者管理
租戶組織 › 角色權限管理 角色權限管理
系統管理 › 選單管理 選單管理
系統管理 › 資訊系統盤點 資訊系統盤點
系統管理 › 設備管理 設備管理
系統管理 › 操作日誌 操作日誌
系統設定 › 通知頻道設定 通知頻道設定(Telegram / Discord)
系統設定 › SMTP 設定 SMTP 伺服器設定
系統設定 › LDAP 設定 LDAP 設定
系統設定 › 儲存設定 儲存設定
系統設定 › 檔案 Agent 管理 檔案 Agent 管理
系統設定 › 雲端整合 雲端整合
系統設定 › 議題整合設定 議題整合設定
AI 分析 › AI 儀表板 AI 儀表板
授權管理 › License 授權管理 License 授權管理
授權管理 › 我的授權狀態 我的授權狀態
(登入前,非選單) 登入、忘記 / 重設密碼

選單裡沒有獨立入口的流程子頁(專案規劃 / 建立 / 設定、稽核計畫填寫 / AR 判定 / POA&M、各匯入精靈、問卷設計器 / 填寫、證據分類覆核 / 報表、個人資料、背景服務)從父流程進入 — 查它們用左側「功能群 → 頁面 索引」。

全站行為(不屬於單一頁面)

各頁 spec 只寫頁面自己的差異,下列規則每頁都適用:

規則 行為 出處
專案資源的非成員 同租戶、但不是該專案成員的人打任何專案資源(專案、輪次、任務、證據、報告…),一律回 404,與資源不存在逐字相同(以專案定位的端點回 GRC_PROJECT_NOT_FOUND=GRC_404001,以其他資源定位的回該資源的「不存在」碼);回 403 等於確認這個編號是真的。是成員但角色不夠仍回 403(他本來就看得到這個專案) common/authz/project.py::raise_not_found_if_not_member;守衛測試 test_non_member_returns_not_found
資料庫錯誤 只回固定碼 COMMON_400003(格式/長度超限)、COMMON_409001(衝突/仍被引用)、COMMON_408001(忙碌逾時)、COMMON_500001,訊息為固定文字;資料庫原文只進 log jedi-common 錯誤處理
前門 CSP(落地版) 頁面與 API 回應都帶正式 Content-Security-Policy,不含 unsafe-inline 與 *;違規回報送 /api/1.0/csp-report。後端自帶 CSP 的 Google Drive 授權回呼頁例外,前門不疊加 FE nginx.onprem.conf
富文字顯示 公告、報告等存成 HTML 的內容,解析前先把行內 style 改名,消毒時只把 text-align 轉成對齊 class(text-left/center/right/justify),字色、字級等其餘行內樣式捨棄;內容本身不改,只影響顯示。富文字編輯器貼上的 HTML 同樣處理 FE src/utils/dompurifyStyleToClass.js
前門限速(落地版) 每 IP:登入類端點(/login、/otp-verify、/otp-resend、忘記/重設密碼)每分鐘 60 次;webhook、agent 註冊、開通與 Drive 回呼每分鐘 30 次;CSP/前端錯誤回報每分鐘 120 次。超過回 429 FE nginx.onprem.conf limit_req_zone

功能群 → 頁面 索引

各群先讀 _overview(頁面地圖 / 共用狀態機 / 核心資料模型)再進各頁。完整頁面清單見左側選單(按領域分組、與 repo 目錄一致);下表為各群總覽入口。

功能群 總覽入口
專案管理 專案管理
稽核執行 稽核執行
合規框架與 SSP 合規框架與 SSP
證據管理 證據管理
問卷 問卷
報表與儀表板 報表與儀表板
協作(無總覽) 公告管理 / 公告檢視 / 回饋管理
系統管理 系統管理
認證(登入前) 認證
Release Notes(查某次上版改了什麼) Release Notes 總覽
1.21.0 行為變更尚未寫進頁面的 1.21.0 待補 spec 清單