FR-191 · 需求索引 · 本頁由 build 掃資料夾生成

FR-191 Agent 安裝包自助下載

客戶還沒裝 Agent 時,管理員在主系統點選「取得安裝包」取得原廠 Cloudflare R2 上 Agent 安裝包與 .sha256 的預簽下載網址;有效時間由原廠在更新站後台設定,客戶不能改。

狀態:詳見下方 文件 4 份 handoff 2 份

FR-191 Agent 安裝包自助下載

母卡 CM-3761 https://app.notion.com/p/FR-191-Agent-3-3-413346da4cd081b19f4fd1982d163f3c

  • v1.0(已推翻、程式已合回):CM-3762(BE)、CM-3763(FE)、CM-3764(文件),批 1~3
  • v2.0:CM-3800(update-center)、CM-3801(BE)、CM-3802(FE)、CM-3803(文件),批 4~7
§1

先看哪一份

  • 要做成什麼樣、為什麼:design-v2.1.md(現行;v2.0 只差零 Agent 時的查詢基準版)
  • 目前狀態:FINAL-SPEC.md(v2.0 定版)
  • v1.0 當初怎麼設計(稽核用):design.md
  • 頁面規格(工程師查功能):docs/spec-site/current/system-admin/product-update.md UC-PU-05「取得 Agent 安裝包」;docs/spec-site/current/evidence/remote-agent-manage.md 功能 #3a
  • 原廠維運(更新站):docs/system-design/update-center/ 04 作業程序「調整下載網址有效時間」、05 客戶端 API download-url、06 後台 API /admin/settings、08 資料表 site_settings
  • 客戶操作手冊:docs/user-manual/agent/03-install.md 3.2、04-activation.md 4.1;快速版 FR-189 site/index.html 第 3 步
  • 每一棒做了什麼:handoff/FR-191-LOG.md;現在停在哪:handoff/FR-191-STATE.md
§2

結論

客戶第一次導入、還沒裝 Agent 時,要有地方拿到 Agent 安裝包。管理員在主系統更新中心 Agent 區按「取得安裝包」,或建完註冊 token 時看對話框下方,就拿到原廠 Cloudflare R2 上最新相容版安裝包與 .sha256 兩條預簽下載網址,可直接下載或複製給裝機的人。主系統只向原廠更新站換網址、原樣轉交,不存包也不供檔。網址有效時間由原廠在更新站後台設定(預設 15 分鐘),客戶畫面沒有這個欄位。主系統連不到原廠更新站時,畫面提示向原廠索取。

§3

📊 總進度

批 卡 Repo 做什麼 狀態
— CM-3761 母卡 main 探脈、design v1.0、開卡、與 FR-188 避撞 ✅ 2026-11-09
1 CM-3762 main v1.0 BE:本機供檔三端點、併發計數 ✅ Done,v2 推翻
2 CM-3763 fe v1.0 FE:共用元件、兩入口、時限欄位、探測 ✅ Done,v2 推翻
3 CM-3764 main v1.0 手冊取包句 ✅ Done,v2 推翻
— CM-3761 母卡 main 決策者驗收 v1.0 後改判;design v2.0、重新開卡 ✅ 2026-11-10
4 CM-3800 update-center artifact=sha256、網址帶下載檔名、有效時間改後台設定 ✅ Done(合回、push;正式站已部署 80ccaecb)
5 CM-3801 main 向更新站換 R2 網址;拿掉本機供檔與時限設定 ✅ Done
6 CM-3802 fe 對話框顯示 R2 網址;拿掉時限欄位與探測 ✅ Done
7 CM-3803 main 手冊、FINAL-SPEC 定版、收口 ✅ Done(手冊截圖待補)
— CM-3761 母卡 三 repo 首腦總驗、合回 feature/FR-172、push、母卡 Done ✅ 2026-11-10
— 正式更新站 update-center 部署 80ccaecb、正式 D1 套 0007、190 授權實打 ✅ 2026-11-10
8 CM-3819 main 零 Agent 時報 1.0.0(正式站部署後實測發現) ✅ Done
§4

需求討論紀錄

  • 2026-11-09 決策者:「Agent 沒有下載安裝包的連結,需要在主系統的 Agent 管理或是更新中心讓 user 可以下載安裝包跟 sha 檔案兩個檔案」「限時 30 分鐘可以下載好了,或是這個設定成參數可以調整」「也要可以複製下載連結」。

  • 2026-11-09 決策者:不掛 FR-172,開新 FR。

  • 2026-11-09 首腦提主系統本機供檔(排除 R2,理由是寫死 15 分鐘、客戶主機沒外網),決策者裁兩入口共用、讀權限、時限放更新中心。此判斷 11-10 被推翻。

  • 2026-11-09 決策者問「要不要擋 user 一直點下載」→ 裁 FE 10 秒鎖+BE 併發上限。

  • 2026-11-09 決策者問「可以跟 FR-188 一起跑嗎」→ 可以,首腦改卡避撞。

  • 2026-11-09 編號原登記 FR-190 撞號,改 FR-191。

  • 2026-11-10 決策者實測 v1.0:時限欄位「這應該不能改啦,我意思是要讓產品管理員改,全系統設定,這邊只能下載」;大小 1 KB 是首腦放的測試包。

  • 2026-11-10 決策者:「這個連結應該直接給 Cloudflare 的 R2 下載連結才對」「這是要客戶還沒裝 agent 的時候,要讓他有地方可以下載安裝包,不然哪邊可以下載?所以直接給 R2」。

  • 2026-11-10 決策者:「你重新開卡跟改文件,差太多了」→ design v2.0、CM-3800~3803。

  • 2026-11-10 首腦判斷「產品管理員」=原廠:專案沒有這個角色名稱,網址由更新站簽發,時限放更新站後台(Cloudflare Access 保護,只有原廠放行信箱可進)。若決策者指的是主系統內某角色,CM-3800 開工前要改。

  • 2026-11-10 決策者裁:三個 repo 合回 feature/FR-172、母卡收 Done、push。

  • 2026-11-10 決策者裁:dev Worker 不另部署,「可以直接上 PRD」——真 R2 實打改在正式更新站部署後做。

  • 2026-11-10 決策者裁:部署正式更新站;部署後發現零 Agent 時拿不到包,裁「開卡、直接修」(CM-3819)。

  • 2026-11-10 決策者:本機驗收環境「不用了,直接合併回去標 Done」「母卡也標」。

§5

背景

FR-172 讓 Agent 包與主系統分家並上更新站,R2 上每版有安裝包、.sha256、簽章清單三個物件。客戶拿包至今要靠原廠人工跑 scripts/r2_presign.py 產連結。

§6

文件

以下全部由 build 掃資料夾產生,新增檔案重 build 即自動出現。標題連結指向渲染後的 HTML,md 連向源檔。

定版交付

文件 類型 標題 最後更新
FINAL-SPEC / md 定版交付 定版交付:Agent 安裝包自助下載 2026-11-10

設計

文件 類型 標題 最後更新
design-v2.0 / md 設計 FR-191 Agent 安裝包自助下載(設計 v2.0) 2026-11-10
design-v2.1 / md 設計 FR-191 Agent 安裝包自助下載(設計 v2.1) 2026-11-10
design / md 設計 FR-191 Agent 安裝包自助下載 2026-11-10

交接與收口時間軸(handoff/,2 份)

由新到舊。每份是某一棒次交接當下的完整現況快照,看某個時間點「當時知道什麼」請從這裡進。

日期 文件 標題
2026-11-10 FR-191-STATE / md FR-191 STATE(living,只寫此刻)
2026-11-10 FR-191-LOG / md FR-191 Agent 安裝包自助下載:交接紀錄(append-only)

資產子資料夾(無文件,不建頁):screenshots/(2 個檔)