FR-166 Agent 獨立作業主控台 — STATE(living,只描述此刻)

更新:2026-10-28 首腦第 7 棒收尾(23:xx)|全案收尾:決策者 123 手測五項全過、69 張子卡全 Done|出貨基線已重產(BE 4c927ece4)|套件已發版、BE 釘版|123 跑 Agent 0ccb44c+主控台 44f2e5f7|BE 收尾 commit 未推(基線+文件);FE/Agent/套件無未推|總結 2026-10-28-FR-166-SUMMARY.md 讀序:本檔 → FR-166-LOG.md 最後一段(第 6 棒)→ ../design.md(v2,§3 決策 D1~D23、§10 手測追加)→ ../README.md → ../prototype/index.html

🧭 原始需求

老闆 2026-10-26:Agent 與主系統斷線時仍能獨立作業——直接打 Agent 網址登入、不經任務按八支掃描工具、網路除錯(ping/traceroute 等,使用者勾選、有些公司會告警)、斷線不停工復線補傳、多據點各自作業報告回台北;不能變跳板或駭客工具。決策者追加:登入方式比較業界模式、LDAP(老闆會要)、重啟 Agent、總覽像儀表板、登入頁與殼照主系統改 Agent 模式。

冷接自檢(讀完要答得出)

  1. 「誰能登入」與「能掃誰」為什麼是兩道門?local-admin 拿到了能掃任意 IP 嗎?(答:不能,掃描範圍由主系統下發的清冊決定、不看身分;未同步的 Agent 連清冊都沒有,什麼都掃不了)
  2. 第三方元件掃描是「移到 Agent」嗎?(答:不是,FR-156 後執行本來就全在 Agent;本案只補 Agent 自己的入口,結果走既有 source_scans)
  3. 為什麼不起 Postgres、為什麼抽 jedi-ldap 而不是 Agent 裝 jedi-iam?(答:§13.4/§3.5)
  4. §13 推翻了前稿哪四處?(Nmap 執行主機已過清冊;主系統沒有派工逾時;receive_result 只對 cancelled 冪等;Agent 沒有 migration 機制)

1. 當前狀態

項 狀態
全部子卡 69 張皆 Done(原 59 張+CM-3170~3198 共 29 張,決策者 2026-10-28 手測通過後由第 7 棒改;CM-3148 e2e 已 Done 標暫緩)
母卡 CM-3109 子卡全 Done;母卡收尾總結已 append,狀態改 Done 是決策者的事
push FE 44f2e5f7、Agent 0ccb44c、套件 b7844b71 已推;BE 到 ce9c44322 已推,收尾 commit(基線重產 4c927ece4+文件)未推。push 一律等決策者
套件 已發版(決策者 2026-10-28 明示):jedi-iam 1.9.0、jedi-remote-agent 1.8.0、jedi-source-scan 0.5.0(套件 b7844b71)。BE pyproject.toml 已改回 == 釘版、path 行註解、取消 assume-unchanged(BE 060ff69c8)。本機 BE 已無任何 path dependency,三支 __file__ 皆 site-packages。evidence-agent 只用 Nexus 正式版、無 path 依賴
本機環境 BE 8000(PID 30024)+worker(PID 30026)以正式版套件重啟過;Agent 8444 跑 0ccb44c;FE 5180(PID 14295)已改走 Vite /api 代理(.env.development.local 的 VITE_API_URL=/api/1.0,不入版控)。主控台 dist 從 FE 44f2e5f7 build
DEV DB 出貨基線已重產:188 基線庫補套 12 支主線 migration(FR-157/161/162/165/166),02/04/99 重產,stamp gate 綠。DEV 補登記套件 011/012。2026-10-28-fr166-hide-tool-plugin-manage-menu.sql 補進 manifest(seed)。ubuntu-lab-03 已授權 blsadmin 離線操作(到 2027-01-26)

2. 已定裁示(不要再問)

全部在 discussion.md §9 表。關鍵幾條:

  • D1 三層登入:安裝時強制設 local-admin(既有救援碼 sub 加密碼、永不過期、仍過清冊)+主系統授權離線操作者(心跳下發名單、本人在線時設離線密碼、到期日、離線 30 天停用)+入場券跳轉;救援碼保留。Agent 端沒有新增使用者。
  • D3 八支工具全部可在 Agent 手動執行(決策者明令「所有掃描工具都要能在 Agent 獨立執行」);ZAP 網址解析成 IP 後過清冊,Agent 端 allowed_targets.py 補。不要再拿 FR-129 當理由砍 ZAP。
  • D5 網路除錯:本機儀表板九卡(自動載入、無噪音)+十項診斷(安靜預設勾,traceroute/mtr 式要勾並確認)全進第一版;結果=路徑圖+判讀卡。tcpdump/iperf/埠範圍/nmap 探測/ARP 掃描不包(D10)。
  • D7/D15 續傳:Agent outbox(任務結果永不丟)+心跳 drain;主系統 receive_result 改任何終態冪等;派工 Agent 離線 7 天 reaper。
  • D8 不加據點欄,靠 Agent 名稱。D9 CIDR 安裝時設底線、主系統只能收緊、隱含 loopback。D11 不起 Postgres。D12 未同步只准 local-admin 登、只准主系統連線診斷。D13 新裝強制設密碼、升級非互動不強制。D14 重啟兩入口+心跳旗標 when_idle/now。D16 最小 schema_version 表。
  • D17 Agent LDAP 三選一(同步/自設/不接),名單仍主系統決定。D18 憑證首次信任釘住、拿掉勾選框、預設 STARTTLS(推翻 CM-2239,主系統 LDAP 設定頁一併改)。D19 抽 jedi-ldap 零相依套件。
  • 殼:結構照主系統(側欄 14rem、頂欄 4rem)、身分靠四訊號(側欄 teal、側欄頂 AGENT+這台狀態、常駐狀態列、分頁標題)。總覽=儀表板不另開 Dashboard 頁。
  • 資安例外兩條(SR-08.2 逐項回結果、SR-04.9 內網直連)照三條件登記:目標受限/單目標序列限速/稽核含完整目標。
  • 多因子明列「太龐大不做、決策者可反對」。
  • D22:主控台儲存位置只能選內建 SeaweedFS,其餘三型只走 CLI。
  • D23:離線操作者權限跟主系統同一份。名單只管能不能離線登入與到期日,範圍每次心跳依當下 Agent 能力點算(restart 不下放);沒有任何 Agent 能力點的人不可加入。

3. 任務總表(STATE 是單一來源,驗收後先改這裡再貼給決策者)

母卡 CM-3109。狀態欄:⬜ Not started/🔵 In progress/🟡 修正待驗證/🟢 驗收通過待確認/✅ Done/⏸ 暫緩。

以 Notion 讀回(2026-10-28):69 張。原案+補丁/P5 共 59 張(58 驗收通過待確認、CM-3148 暫緩),批號以工作坊實際排法為準;表尾「延」開頭是 2026-10-28 決策者逐項追加的延伸卡(首腦直接做,不走工作坊)。

批 卡號 卡 階段 repo model/effort 依賴 狀態
1 CM-3110 P0-1 抽 jedi-ldap 零相依套件:目錄連線、首次信任釘… P0 jedi 套件 opus/high — 🟢 驗收通過待確認
1 CM-3111 P0-4 Agent 本機 DB 最小版本機制:schema_ve… P0 evidence-agent opus/medium — 🟢 驗收通過待確認
1 CM-3112 P0-5 jedi-remote-agent 兩張新表、remot… P0 jedi 套件 opus/high — 🟢 驗收通過待確認
1 CM-3113 P1-7a FE console 殼改側欄+頂欄+狀態列、登入頁骨架… P1 FE 主站/console opus/medium — 🟢 驗收通過待確認
2 CM-3114 P0-2 jedi-iam 瘦身接 jedi-ldap:失敗計入鎖… P0 jedi 套件 opus/high P0-1 🟢 驗收通過待確認
2 CM-3115 P0-6 jedi-remote-agent 心跳契約擴充、終態冪… P0 jedi 套件 opus/high P0-5 🟢 驗收通過待確認
2 CM-3116 P1-3 Agent 離線身分:名單快取 observer、loc… P1 evidence-agent opus/high P0-4 🟢 驗收通過待確認
2 CM-3117 P2-4 網路除錯執行器 core/netdiag/:儀表板讀取、… P2 evidence-agent opus/high — 🟢 驗收通過待確認
3 CM-3118 P0-3 jedi-system-core LDAP 設定組加釘住… P0 jedi 套件 sonnet/medium P0-2 🟢 驗收通過待確認
3 CM-3119 P0-7 主站 LDAP 設定頁:拿掉驗證憑證勾選、已信任憑證+重… P0 FE 主站/console sonnet/medium P0-2 🟢 驗收通過待確認
3 CM-3120 P1-1 主系統接線:plugins/remote_agent 接… P1 BE opus/medium P0-5、P0-6 🟢 驗收通過待確認
3 CM-3121 P1-4 Agent 登入 API:local-session、m… P1 evidence-agent opus/medium P1-3 🟢 驗收通過待確認
3 CM-3122 P1-5 主控台連入 CIDR 白名單:安裝底線、心跳交集、隱含 … P1 evidence-agent opus/medium — 🟢 驗收通過待確認
3 CM-3123 P2-1 Agent 手動執行骨架:_run_one 抽 sink… P2 evidence-agent opus/high P0-4、P1-3 🟢 驗收通過待確認
4 CM-3124 P1-2 主站離線操作者授權對話框+清單欄(雛形幕 10 上半)… P1 FE 主站/console opus/medium P1-1 🟢 驗收通過待確認
4 CM-3125 P1-6 安裝與升級流程:新裝強制設 local-admin、升級… P1 evidence-agent opus/high P1-3、P1-5 🟢 驗收通過待確認
4 CM-3126 P1-7b FE console 登入頁接真端點:三態、四種登入、設… P1 FE 主站/console opus/medium P1-7a、P1-4 🟢 驗收通過待確認
4 CM-3127 P2-2 手動掃描 API:tools/targets/schem… P2 evidence-agent opus/high P2-1 🟢 驗收通過待確認
4 CM-3128 P2-5 網路除錯 API:dashboard/targets/r… P2 evidence-agent opus/medium P2-1、P2-4 🟢 驗收通過待確認
4 CM-3129 P2-8a 維運 API:重啟(優雅結束)、uptime、支援診斷包… P2 evidence-agent opus/high P1-3 🟢 驗收通過待確認
5 CM-3130 P1-8 總覽 API:狀態燈、這台 Agent 資訊、正在執行(… P1 evidence-agent sonnet/medium P1-3、P2-1 🟢 驗收通過待確認
5 CM-3131 P2-9 心跳旗標重啟 observer:when_idle/no… P2 evidence-agent sonnet/low P1-3、P0-6、P2-8a 🟢 驗收通過待確認
5 CM-3132 P3-1 Agent outbox:表、入列、心跳後 drain、… P3 evidence-agent opus/high P0-4、P1-3、P2-1 🟢 驗收通過待確認
5 CM-3133 P3-2 主系統收自主執行紀錄:local-runs 端點接線、落… P3 BE opus/medium P0-6、P1-1 🟢 驗收通過待確認
5 CM-3134 P3-5 7 天 reaper 接線:抽 core/schedul… P3 BE sonnet/low P0-6 🟢 驗收通過待確認
5 CM-3135 P3-7 守衛測試(Agent 側七條):入口過清冊、無 shel… P3 evidence-agent opus/medium P2-2、P2-5 🟢 驗收通過待確認
6 CM-3137 P2-6 FE console 網路除錯分頁:資訊區+連線狀態燈、… P2 FE 主站/console opus/high P1-7b、P2-5 🟢 驗收通過待確認
6 CM-3140 P3-3 主站自主執行紀錄頁 BE 側:ui_routes+rou… P3 BE sonnet/medium P1-1 🟢 驗收通過待確認
6 CM-3141 P3-4a jedi-remote-agent `_enrich_o… P3 jedi 套件 sonnet/low P0-6 🟢 驗收通過待確認
6 CM-3151 P3-0 開發期 BE 改吃 jedi-python-p… P3 BE opus/medium — 🟢 驗收通過待確認
6 CM-3152 P3-0a 主系統下發工具的掃描參數表單 param_s… P3 BE sonnet/medium — 🟢 驗收通過待確認
6 CM-3153 P3-0b Agent 端補丁:認得三個新權限、心跳回報… P3 evidence-agent opus/medium P1-3、P1-4 🟢 驗收通過待確認
6 CM-3154 P3-0c jedi-remote-agent:loca… P3 jedi 套件 opus/medium P0-6 🟢 驗收通過待確認
7 CM-3136 P2-3 FE console 掃描工具分頁:步驟條、工具卡、清冊… P2 FE 主站/console opus/high P1-7b、P2-2 🟢 驗收通過待確認
7 CM-3139 P2-8b FE console 服務與重啟分頁+總覽改版:狀態卡、… P2 FE 主站/console opus/medium P1-7b、P1-8、P2-8a 🟢 驗收通過待確認
7 CM-3142 P3-3b 主站自主執行紀錄頁 FE:篩 Agent/種類/工具/人… P3 FE 主站/console opus/medium P3-2、P3-3 🟢 驗收通過待確認
7 CM-3144 P3-6 主系統要求重啟接線(BE)… P3 BE sonnet/low P0-6、P1-1、P2-9 🟢 驗收通過待確認
7 CM-3145 P4-1 Agent LDAP 三選一:裝 jedi-ldap、l… P4 evidence-agent opus/high P0-1、P1-3、P2-8a 🟢 驗收通過待確認
7 CM-3155 P3-0d 主系統接線補丁:LDAP 憑證指紋寫回、重新… P3 BE opus/medium P0-3、P1-1 🟢 驗收通過待確認
7 CM-3157 P2-7a Agent 執行紀錄清單 API:主系統任務… P2 evidence-agent opus/medium P2-1 🟢 驗收通過待確認
8 CM-3138 P2-7 FE console 執行紀錄分頁:同一表、來源欄、回傳… P2 FE 主站/console opus/medium P1-7b、P2-2、P3-1 🟢 驗收通過待確認
8 CM-3143 P3-4b 主站 Agent 清單待傳/LDAP 欄+要求重啟對話框… P3 FE 主站/console sonnet/low P3-4a、P3-6 🟢 驗收通過待確認
8 CM-3146 P4-2 主系統 LDAP 設定下發心跳:ldap_config … P4 BE opus/medium P0-3、P0-6、P4-1 🟢 驗收通過待確認
8 CM-3147 P4-3 FE console LDAP 設定分頁:三選一、同步唯… P4 FE 主站/console sonnet/medium P2-8b、P4-1 🟢 驗收通過待確認
8 CM-3156 P4-7 容器版 Agent 補裝 ping、trace… P4 evidence-agent sonnet/low P2-4 🟢 驗收通過待確認
9 CM-3148 P4-6 e2e:主站 LDAP 登入鎖定與釘住、Agent 管理… P4 test sonnet/medium P0-7、P1-2、P3-3b、P3-4b ⏸ 暫緩
9 CM-3149 P4-4 SPEC:Agent 主控台頁改版、Agent 管理頁、… P4 BE sonnet/medium 全部實作卡 🟢 驗收通過待確認
9 CM-3150 P4-5 手冊與安裝文件:Agent 獨立作業一章、安裝需求、資安… P4 BE opus/medium 全部實作卡 🟢 驗收通過待確認
9 CM-3158 P3-4c 套件補欄位:Agent 清單補待傳/LDAP… P3 jedi 套件 sonnet/medium P0-6 🟢 驗收通過待確認
9 CM-3159 P4-3a FE 補 LDAP 重新信任的兩個錯誤碼翻譯 P4 FE 主站/console sonnet/low P0-7 🟢 驗收通過待確認
10 CM-3161 P5-1 jedi-source-scan 收 Agen… P5 jedi 套件 opus/medium P2-2 🟢 驗收通過待確認
10 CM-3162 P5-2 jedi-remote-agent 補欄位:清… P5 jedi 套件 sonnet/medium P0-6 🟢 驗收通過待確認
10 CM-3166 P5-6 資安報告站產生工具 render_index.… P5 BE sonnet/medium — 🟢 驗收通過待確認
11 CM-3163 P5-3 BE 收尾補齊:清冊帶設備名、主系統任務帶派工… P5 BE opus/medium P5-1、P5-2 🟢 驗收通過待確認
12 CM-3165 P5-5 Agent 收尾補齊:總覽補燈與資訊、重啟權限… P5 evidence-agent opus/high P5-3 🟢 驗收通過待確認
13 CM-3164 P5-4 FE 收尾補齊:清單本機管理員密碼提醒、主控台… P5 FE 主站/console opus/medium P5-3、P5-5 🟢 驗收通過待確認
15 CM-3160 P4-8 BE 守衛紅燈清零:module_bounda… P4 BE opus/high P3-0、P3-0d 🟢 驗收通過待確認
14 CM-3167 P5-7 套件補兩處:Agent 清單輸出主控台連入網段兩欄、第三方… P5 jedi 套件 — — 🟢 驗收通過待確認
14 CM-3168 P5-8 Agent 資安守衛:容器 cap_add 只准 NET_… P5 evidence-agent — — 🟢 驗收通過待確認
延1 CM-3170 BE:租戶設定 Agent 離線登入天數(預設 7 天)+心跳下發+… 延伸 BE+jedi 套件 — — 🟡 修正待驗證
延1 CM-3171 Agent:離線登入天數改吃主系統下發(預設 7 天、上限 30),… 延伸 evidence-agent — — 🟡 修正待驗證
延2 CM-3172 FE:Agent 管理頁設定離線登入天數、顯示本機管理員最近登入;主… 延伸 FE — — 🟡 修正待驗證
延1 CM-3173 Agent:AD 登入只問 AD 且不受離線天數限制、離線密碼照主系… 延伸 evidence-agent — — 🟡 修正待驗證
延3 CM-3174 Agent:心跳回報本機管理員密碼最後設定時間(給主系統提醒該換密碼… 延伸 evidence-agent — — 🟡 修正待驗證
延3 CM-3175 BE:主系統收本機管理員密碼設定時間、登入時通知租戶管理員 延伸 BE+jedi 套件+FE — — 🟡 修正待驗證
延1 CM-3176 FE:主控台與主系統閒置 15 分鐘提醒、30 分鐘登出(抽共用 c… 延伸 FE — — 🟡 修正待驗證
延2 CM-3177 FE:離線密碼說明照主系統規則、登入頁 AD/離線密碼分開送、主控台… 延伸 FE — — 🟡 修正待驗證
延2 CM-3178 Agent 安裝:主系統位址只接受 https,開發模式明確開啟才允… 延伸 evidence-agent — — 🟡 修正待驗證
延1 CM-3179 Agent 名稱可在主控台修改並經心跳與主系統雙向同步(以最後修改時… 延伸 四 repo — — 🟡 修正待驗證
追4 CM-3180 BE:Agent 掃描執行紀錄併入第三方元件 Agent 手動列、選單搬合規與稽核 追加 BE+jedi-source-scan opus/medium — 🟢 驗收通過待確認
追4 CM-3181 BE:背景工作排程去重 追加 BE sonnet/medium — 🟢 驗收通過待確認
追5 CM-3182 FE:Agent 掃描執行紀錄頁版面統一主控台、失敗看原因 追加 FE opus/medium 3180 🟢 驗收通過待確認
追4 CM-3183 BE+套件:離線操作者名單下發 AD 帳號(jedi-iam provider_login) 追加 BE+jedi-iam+jedi-remote-agent opus/high — 🟢 驗收通過待確認
追5 CM-3184 Agent:AD 登入用 ad_account 問 AD、失敗 log 分三關(方向做反,3192 修) 追加 evidence-agent opus/medium 3183 🟢 驗收通過待確認
追4 CM-3185 Agent:/console/<分頁> 白名單子路徑回首頁 追加 evidence-agent sonnet/medium — 🟢 驗收通過待確認
追5 CM-3186 FE:主控台改 vue-router history 模式 追加 FE opus/high 3185 🟢 驗收通過待確認
追5 CM-3187 Agent:報告線上預覽端點(/preview 子路由) 追加 evidence-agent opus/medium — 🟢 驗收通過待確認
追6 CM-3188 FE:主控台報告預覽對話框(拆主站 FilePreviewDialog 共用) 追加 FE opus/high 3186、3187 🟢 驗收通過待確認
追6 CM-3189 FE:離線操作者對話框顯示 AD 帳號、登入頁 AD 提示(提示字舊方向,首腦第 6 棒直接改 FE 9bc68bc6) 追加 FE — 3183 🟢 驗收通過待確認
追6 CM-3190 Agent:儲存位置只剩內建 SeaweedFS(決策者改判 D22;已合回 c721253) 追加 evidence-agent opus/medium — 🟡 修正待驗證
追7 CM-3191 FE:儲存面板只剩內建 追加 FE sonnet/medium 3190 🟢 驗收通過待確認
追6 CM-3192 Agent:AD 分頁改填 AD 帳號、反查名單(跟主系統一致) (已合回 0acf7a5) 追加 evidence-agent opus/medium 3184 🟢 驗收通過待確認
追8 CM-3193 BE+套件:離線操作者權限改成跟主系統同一份(D23),名單不存範圍、心跳依當下能力點算;沒有 Agent 能力點的人不可加入 追加 BE+jedi-remote-agent opus/medium — 🟢 驗收通過待確認(首腦實機復核過)
追9 CM-3194 FE:離線操作者對話框拿掉範圍勾選,改顯示主系統權限;補新錯誤碼 i18n 追加 FE sonnet/medium 3193 🟢 驗收通過待確認(首腦實機復核過)
追10 CM-3195 Agent:主控台「立即檢查弱點資料更新」,清失敗冷卻並喚醒心跳立刻跳一次 追加 evidence-agent opus/medium — 🟢 驗收通過待確認(首腦實機復核過、已上 123)
追11 CM-3196 FE 主控台:總覽「弱點資料」卡加「立即檢查更新」按鈕 追加 FE sonnet/medium 3195 🟢 驗收通過待確認(首腦實機復核過、已上 123)
追12 CM-3197 Agent:主控台 HTML 報告線上預覽(CSP sandbox,同主系統 preview_policy);頁面 frame-src 'self' blob: 追加(首腦直接做) evidence-agent — — 🟡 修正待驗證
追12 CM-3198 FE 主控台:預覽對話框支援 HTML(iframe 直接載預覽網址,不轉 blob) 追加(首腦直接做) FE — 3197 🟡 修正待驗證

3b. 下一棒要做什麼

全案已收尾(2026-10-28)。決策者 123 手測五項全過、卡全 Done、基線重產、手冊/SPEC/SUMMARY/analysis/memory 補齊。總結見 2026-10-28-FR-166-SUMMARY.md。

等令:push BE 收尾 commit;母卡 CM-3109 改 Done(決策者);上 STG/POC(前提 https)。

續作 FR-166.1(母卡 CM-3199,2026-10-29):PM 六條回饋另立續作,本案不重開;兩邊 Notion 母卡已互指。待決策者第 1 項(檢測工具頁拆或翻回)已隨 FR-166.1 B3 定案為翻回改名「Agent 工具帳密代設」。

123 升級固定步驟:git -C /opt/evidence-agent pull origin feature/FR-139 →(相依有變才)poetry install --only main → 本機 npm run build:CONSOLE,COPYFILE_DISABLE=1 tar -czf 打包 scp 到 ~/guidant-agent-dev/、舊 dist 改名 dist-console.bak-<時間> 再解開 → kill $(cat agent.pid) 等它結束 → bash start-agent-dev.sh。打路由要 curl --http1.1;8443 是 mTLS,主控台在 8444。只換畫面時不用重啟 Agent。

待決策者(問了沒答或等 PM):

  1. 主系統「檢測工具」頁已隱藏,PM 確認後是連端點一起拆(開卡)還是翻回 enable=1。
  2. 守衛測試 4 支紅不是本 arc 的:evidence-reuse-* 三頁沒登記 ui_routes、scan-tool-resources 沒進入門檻——要不要開卡。
  3. 上 STG/POC 前主系統要有 https(CM-3178)。
  4. 本機管理員登入通知只寄信,Telegram/Discord 要不要。
  5. DEV 補登 011、012;出貨基線重產 第 7 棒已做。
  6. jedi-iam 4 支既有紅燈(FR-155 留下:plugin_contract、role_import ×2、my_capabilities)要不要修。
  7. 刪除 Agent 是硬刪、不清關聯、開著的機器會自動重註冊——要不要開卡改成「在線擋下」或「一併清理」。
  8. 123 的掃描帳號 sudo 權限過寬(不限於 nmap),第 6 棒又讓 Agent 用的掃描私鑰能登入它——正式環境應只留 nmap 那條 sudo。細節在 123 主機上查,不寫進文件。
  9. 主系統多處「複製」按鈕在 http+IP 下無效(navigator.clipboard 需安全環境),決策者裁「測試機的關係先不管」。

4. 環境與座標

  • 五 repo 都在 feature/FR-139:BE ~/Projects/Billows/Audit-Manager/compliance-manager-be、FE compliance-manager-fe(主控台源碼 console/,npm run build:CONSOLE 出 dist-console)、Agent ~/Projects/Billows/Audit-Manager/evidence-agent、套件 ~/Projects/Jedicogy/module/jedi-python-package/、test compliance-manager-test。
  • 本機 Agent:源碼跑,~/guidant-agent-local/start-agent.sh(CLOUD_WEB_URL=http://localhost:5180、AGENT_ALLOW_INSECURE_CLOUD=1),主控台 https://127.0.0.1:8444/console。已設本機管理員密碼(存在首腦 scratchpad,不入版控;要用請決策者自行重設 local-state set-admin-password)。名稱「本機測試 Agent」。
  • 123 dev Agent:/opt/evidence-agent 源碼跑(0ccb44c),~/guidant-agent-dev/start-agent-dev.sh(CLOUD_ENDPOINT=http://10.8.0.6:8000、CLOUD_WEB_URL=http://10.8.0.6:5180、AGENT_ALLOW_INSECURE_CLOUD=1),前端 ~/guidant-agent-dev/dist-console(44f2e5f7;舊版備份 dist-console.bak-<時間> 已累積十來份,未清)。沒設本機管理員密碼(燈紅屬預期,源碼模式沒走安裝程式)。掃描帳號第 6 棒補了 Agent 掃描私鑰的授權(改前有備份),Nmap 可用 123 當執行主機。
  • 租戶 102 離線登入天數目前是 5(決策者手測改的),預設是 7。
  • 本機 BE 已無 path dependency(第 6 棒發版後還原)。日後要改套件:pyproject 該套件 pin 註解、path 行取消註解,用 .venv/bin/pip install -e <套件路徑> --no-deps(poetry install 會被 lock 擋);切完 pip show 確認每支都是 Editable——重裝一支會把別支換回 wheel。開發期間 pyproject/poetry.lock 設 assume-unchanged、不可 commit。
  • worker 要另外起:(RUN_MODE=worker nohup .venv/bin/python main.py >> log/worker-stdout.log 2>&1 &)。沒起的話第三方元件分析、證據分類、弱點庫檢查全停在排隊,畫面四個圈空轉(第 5 棒踩到)。
  • 重啟 BE/Agent 不要包在會被停掉的背景指令裡:停背景指令會連帶殺掉它起的程序(本棒踩兩次)。用 (nohup … &) 起。
  • headless 截圖:compliance-manager-test/ 內跑 node+Playwright(腳本放 repo 內暫存檔,跑完刪;放 scratchpad 會找不到 playwright)。主系統登入頁有 Turnstile,用 API 登入後把 token 寫進 localStorage 的 cm_store(currentLocale: 'tw',用 addInitScript)。主控台用 POST /remote-agents/<uid>/console-ticket 簽票、POST /console/session 換 cookie。PrimeVue popup 選單(⋮)在 headless 點不開,改用元件單元測試+在頁面裡直接嵌入目標網址實測。
  • FE 開發代理:vite.config.js 把 /api 轉到 VITE_DEV_API_TARGET(預設 http://localhost:8000),只在 npm run dev 生效。開發機要 HTML 預覽正常,.env.development.local 的 VITE_API_URL 必須是 /api/1.0(直連 8000 會被 X-Frame-Options: SAMEORIGIN 擋)。
  • 超標檔:RemoteAgentManage.vue ~530、Overview.vue ~300 已拆過;install.sh ×2、scheduler.py、detection_orchestration_service.py、agent_enrollment_service.py 620(接近上限)。

5. 行為規範提醒

  • 首腦不開 subagent(決策者本輪亦問「要不要 subagent 做互動雛形」,首腦建議不用:脈絡都在首腦,CLAUDE.md 定首腦自己刻雛形)。
  • 無卡不派;開卡一次建完;派工由工作坊。
  • 雛形交稿前 grep -n "border-left" 要 0;資料區塊上下疊不排左右;清單頁 SegmentButtons。
  • 文件衛生 grep(原本/改判/第 N 棒/這次整理/當初)要 0。