本卡屬 FR-166(母卡 CM-母卡號(建完補)),卡 P1-5,階段 P1 登入、批 3。只改 evidence-agent。依賴:無。
限制哪些網段能連 Agent 主控台:安裝時設底線,主系統只能再收緊,本機永遠放行,設錯有 CLI 救。
連線層守門+首支 lib 子命令;要定 lib 的載入慣例
new(小模組)+extend:browser_plane_server.py 連入檢查加一處;CLI 子命令進新開 lib/(install.sh 超標只准拆),case 一行呼叫
repo:~/Projects/Billows/Audit-Manager/evidence-agent
改既有:core/browser_plane_server.py 218
改既有:config/config.py 162
改既有:scripts/install/install.sh 3426(case 一行)
改既有:deploy/install.sh 2894(case 一行)
新開:core/console_allow_cidr.py
新開:scripts/install/lib/console_allow_cidr.sh
細節在 design.md 對應段(~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-166-2610-agent-standalone-console/design.md §5,開 design.html 看導覽),本段只列本卡要做到的點:
core/console_allow_cidr.py:載安裝底線、心跳交集、空交集忽略+稽核、隱含 127.0.0.0/8/::1、is_allowed(ip)。browser_plane_server.py accept 後第一件事檢查;config.py 加 AGENT_CONSOLE_ALLOW_CIDR(.env sample 與 deployment-env 同步補)。scripts/install/lib/:console_allow_cidr.sh(reset 子命令);兩份 install.sh 各在 case 加一行 source;定 lib 載入慣例寫在 lib/README。底線 192.168.10.0/24 時 10.0.0.1 連 8444 被拒、127.0.0.1 放行;心跳下發更寬的被忽略+稽核;console-allow-cidr reset 後不限;兩份 install.sh 都只多一行
對照雛形:~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-166-2610-agent-standalone-console/prototype/index.html(上方「跟著走」)。
docs/claude/domain-capabilities.md 與 FE docs/claude/frontend-overview.md §4。三擇一、預設不新增:reuse → extend 加參數 → 兩邊都確認沒有才新增。既有的是 stub/壞掉 → 修它或回報,不另寫繞過。回寫列出本卡 reuse 了哪些、新增了哪些、為什麼不能 reuse。if source == ... 分支。紅旗:複製一段既有函式改兩行、開 XxxV2/XxxForAgent、同一行為兩條路徑各自演化——出現就停下先抽共用。回寫列出哪些 extend 了既有的、哪些 new 及為什麼不能 extend。