← 全部的單
GitHub #252 ↗
Compute 互通・功能
在 Farside Compute 跑出成果的人,拿到一組成果代碼,回到 Slate 的畫布貼上,成果檔(圖、報告、表格、3D)就以檔案元件出現在這張畫布上、看得到來源、下載得到;模型權重只記位置、不搬進來。
#252 畫布:抓得到 Compute 的成果檔案(成果代碼匯入,ADR-0115)
狀態
還沒開始
誰在做
負責人+Claude
做到哪
還沒有程式,也還沒有介面草案。範圍、入口、顯示方式負責人 10/03 定了;代碼一次性 24 小時、做事順序 10/05 定了(
#326
)。檔案元件那張 PR
#317
已經在檔案表預留「從 Compute 匯入」這種來源(遷移 phase97 負責人已套用),但
#317
本身還沒合進 main。
卡在
下一步(寫介面草案)不卡任何人。草案之後才會卡:Slate 的匯入要等
#296
(Farside 那一側的檔案池+發代碼)做出來才能從頭到尾測;畫布上的顯示要等檔案元件
#317
合進 main。
下一步
畫布這邊(負責人+Claude)先寫介面草案:清單檔的欄位、給 Slate 的唯讀權杖能碰什麼、誰記「代碼已經用過」、池子的保存期與大小上限提案;貼在
#252
與
#296
給負責人和 Farside 那一側確認。確認後
#296
的實作由宜芳分派,
#252
這側照草案開工。
提醒:
① 本文〈還沒裁的〉七題大多過期了:第 1 題(入口)和第 5 題(顯示)10/03 定了;第 2、3 題移去
#296
,其中「成果存在哪」Farside 那一側 10/04 查到了(已經在 R2,但那是 Farside 自己的工作區桶,不是要另開的檔案池,不能把它的權杖交給 Slate);第 4 題 10/05 定了一次性 24 小時;第 6 題機構空間已定、單檔上限還沒;第 7 題還沒實測。本文第 5、6 點的「待確認」也過期了,建議請負責人+Claude 更新本文。② 三張單互相等:
#296
等這張的草案、這張的實作等
#296
的池子和代碼、
#297
排在這張之後——所以這張的草案是三張的起點。③ Farside 現在自動產出的成果只有 3DGS 的 .ply,圖、報告、表格還沒有自動出口,第一輪從頭到尾的驗收大概只能用 3D 檔。④ 畫布上的顯示要等檔案元件
#317
合進 main。⑤ 本文第 1 題建議寫「檔案總覽照樣看得到匯入的檔」,但依
ADR-0118
,畫布的檔不走一般檔案端點,總覽看不看得到要在草案裡講清楚。
一步一步 9
已經定的 19
還沒定的 9
怎麼驗收 11
這張不做 9
這張要解決什麼
用 Slate 畫布的人(例如事務所裡的設計師),同時在 Farside Compute 跑 GPU 任務,例如把現場照片做成 3DGS 立體模型
,Compute 跑完的成果今天只留在 Farside,Slate 這邊拿不到;要放上畫布只能自己下載再上傳,而且畫布不知道這個檔是從哪個任務來的——要能 在 Farside 拿到一組成果代碼,到 Slate 畫布上貼一下,成果就出現在這張畫布上,記得是哪個任務、什麼時候匯入的,之後可以下載、接著在畫布上用
一步一步
9 步
Farside 系統(#296 做)
任務跑完,把成果檔寫進另開的「檔案池」(一個只有 Farside 能寫的 R2 桶),並寫一份清單檔:這次有哪些檔、各多大、檢查碼、類型、哪些是模型權重
產生一組成果代碼(亂數、猜不到、不是檔案路徑),24 小時內有效、只能用一次
使用者(在 Farside)
在任務完成的地方看到成果代碼與有效期限,按複製
代碼在剪貼簿裡,知道要在 24 小時內用掉
Farside:任務完成頁(或通知;#296 決定放哪)
任務完成
這次的成果(例如 splat.ply,3D)
成果代碼(唯讀,一長串亂數)
複製代碼
24 小時內有效、只能用一次;到 Slate 畫布左側的「從 Compute 匯入」貼上
使用者(在 Slate,這張畫布的 Editor 以上)
打開要放成果的畫布,按左側工具列的「從 Compute 匯入」
跳出一個小框,只有一格讓人貼代碼
畫布:左側工具列+「從 Compute 匯入」小框
左側工具列:選取
便條
文字
形狀
檔案
智慧元件
手繪
顏色,多一顆「從 Compute 匯入」
從 Compute 匯入
貼上成果代碼
只收 Farside 給的成果代碼,不收網址或檔案路徑
匯入
取消
Slate 系統(後端)
先看貼進來的東西像不像代碼:網址、路徑、亂打的字直接擋掉,不對外發任何請求。像代碼的話,用只能讀的權杖去檔案池找那份清單檔;找不到、過期、用過的都回同一種錯誤
代碼有效時記下「這組已經用過」(誰記、怎麼記,草案要定),往下一步複製
Slate 系統(後端)
照清單把圖、報告、表格、3D 複製進這個機構自己的檔案區(鑰匙以機構開頭),比對檢查碼;模型權重不複製、只記它在池子裡的位置。每個檔寫一筆檔案紀錄,記來源:Compute 任務、原檔名、大小、檢查碼、匯入時間
檢查碼對不上的不留紀錄;匯入不扣點數
使用者(在 Slate)
回到畫布,看匯入進來的成果
成果以「檔案元件」(
#289
那一種,不是另一種節點)出現在畫布上,看得到來源,可以下載;3D 這一版不在畫布上預覽
畫布:匯入完成的檔案元件
splat.ply
3D・檔案大小
來源:Compute 任務・原檔名・匯入時間
這種檔不能在畫布上預覽,可以下載
下載
使用者(在 Slate)
如果成果裡有模型權重(checkpoint、LoRA),看它在畫布上的樣子
權重也是一個檔案元件,但寫明「只記位置、沒有搬進來」,不佔機構的檔案空間;能不能從這裡打開或下載還沒定
畫布:只記位置的權重元件
step-xxxx.ckpt
模型權重・檔案在 Compute
只記位置,沒有複製進 Slate,不佔檔案空間
來源:Compute 任務・原檔名・匯入時間
使用者(在 Slate)
貼了錯的、過期的、已經用過的代碼,或貼了一個網址
小框裡出現固定格式的錯誤,畫布上不會多出任何東西;錯的和過期的看起來一樣,看不出代碼存不存在
畫布:匯入失敗
類型/錯誤碼/追查碼 三行(ADR-0121 的固定格式,不寫原因)
貼上成果代碼(保留剛剛貼的內容)
匯入
只能看的人(Viewer)
打開同一張畫布
看不到「從 Compute 匯入」;直接打匯入的端點也被擋。沒有這張畫布權限的同機構同事,連畫布都找不到
畫布(Viewer 看到的左側工具列)
左側工具列沒有「從 Compute 匯入」
已經定的
19 條
要做的是「Compute 的成果在 Slate 讀得到」,不是畫布去呼叫 Compute;3D 生成也一樣,帳號合併之前只做匯入
ADR-0115
裁決二(含 2026-10-01 修訂三)
另開一個 R2 桶當檔案池:只有 Farside 寫、Slate 只讀;Slate 現在的檔案桶 Farside 讀寫都拿不到(那裡有對外單據的正本)
ADR-0115
裁決三
成果分級:圖、報告、表格、3D 成果複製進來;模型權重(checkpoint、LoRA)不複製,只記它在池子裡的位置,不受複製上限影響
ADR-0115
裁決三與〈安全要求〉;負責人 10/05(
#326
二)
匯入不收點數(帳號合併之前)
ADR-0115
裁決四
成果代碼由 Farside 在成果產出時發,亂數至少 128 bit、有時效,不能拿池子裡的路徑當代碼
ADR-0115
〈安全要求〉
成果代碼一次性、24 小時有效
負責人 10/05「照PM建議」(
#326
二、
#296
留言)
Slate 的匯入只收代碼、不收任意網址;解析出池子裡的位置後,用伺服器端的唯讀權杖去讀
ADR-0115
〈安全要求〉
匯入的檔照 Slate 既有規矩:存放位置以機構開頭、要有跨機構隔離測試才能合併
ADR-0115
〈安全要求〉、
ADR-0039
、
ADR-0019
決策二
要記來源:Farside 任務、原檔名、大小、檢查碼、匯入時間(跟「記血緣」同一件事)
ADR-0115
裁決三、
ADR-0104
第三題
入口只放畫布:左側工具列另外一顆「從 Compute 匯入」,貼代碼、檔案出現在這張畫布;不做成檔案元件的第三個來源(10/03 早上那個建議撤回)
負責人 10/03(
#252
留言「三個決定」第 1 點)
範圍只要成果檔案;不在 Slate 看 Compute 的任務紀錄、用量
負責人 10/03(
#252
留言「三個決定」第 2 點)
入口分開、顯示共用:匯入的檔在畫布上用檔案元件(
#289
)同一種樣子,不另做一種節點;元件上看得到來源(Compute 任務、原檔名、匯入時間)
負責人 10/03 確認(
#252
第三則留言)
做事順序選 B:
#252
(Slate 這側)先出清單檔格式與唯讀權杖的介面草案,Farside 那一側照草案做;「誰記錄代碼已兌換」寫進
#252
的草案;池子上限與保存期跟
#252
的匯入政策一起定
負責人 10/05「照PM建議」(
#326
二、
#296
留言)
#296
(Farside 側)的實作由宜芳分派;之後新工作不由負責人直接指派給工程師,一律先給宜芳看、由她分派
#326
〈分工〉與負責人 10/05 補充
把檔放進畫布是 Editor 以上的動作,Viewer 不行;沒有這張畫布權限的人一律回「找不到」,不透露畫布存在
ADR-0118
決策三;
#252
本文〈測試方式〉
錯誤只顯示固定格式:類型、錯誤碼、追查碼
ADR-0121
;
#252
本文〈驗收條件〉
錯的代碼、過期的代碼、用過的代碼回同一種錯誤,不透露代碼存不存在
#252
本文〈驗收條件〉
反方向(Slate 的檔給 Compute)另開交換桶、另一張單
#297
,排在
#252
與第一階段帳務之後;檔案池不改成雙向
ADR-0115
(「另裁」那一段);負責人 10/05(
#326
二)
帳號合併之後才多一個「列出你在 Farside 的成果」入口;池子與紀錄的形狀不用改
ADR-0115
裁決三
還沒定的
9 題
Slate 怎麼從一組代碼找到池子裡的檔?
A:Farside 在池子裡放一份以「代碼的雜湊」命名的清單檔,Slate 用唯讀權杖去讀
B:Slate 呼叫 Farside 的 API 問這組代碼對到哪些檔
建議:
A(
#252
本文第 3 題與
#296
都這樣建議,還沒定案):Slate 不用呼叫 Farside,守住「Compute 不需要知道 Slate 存在」
誰裁:畫布這邊寫進介面草案,負責人與 Farside 那一側確認
清單檔裡每個成果要寫哪些欄位?
照 Farside 那一側 10/04 列的起點:版本、任務識別、產生與過期時間;每個檔的原檔名、大小、檢查碼與算法、類型與具體格式、池內位置、「複製」或「只記位置」
再加別的(例如縮圖、說明文字)
建議:
照 10/04 那份當草案起點;檢查碼建議 SHA-256;3DGS 的 .ply 要在類型標明是 Gaussian splat,不能只靠副檔名(建議,未定)
誰裁:畫布這邊寫進介面草案
「這組代碼已經用過」由誰記?只讀清單檔不會自己變成用過就失效,Slate 也不能去刪池子裡的東西(Slate 對池子只能讀)
Slate 自己的資料庫記一筆(代碼不重複),記下和複製是同一個動作
Farside 記,Slate 每次兌換要回頭通知 Farside
Slate 刪掉池子裡的清單檔(不行:違反 Slate 只讀)
建議:
Slate 這邊記(建議,未定):不用寫池子、不用叫 Farside,A 機構用掉的代碼 B 機構拿來也會失敗
誰裁:畫布這邊寫進介面草案,負責人確認(#326 指定寫在這張的草案)
檔案池裡的檔要放多久、池子總共能放多大?
代碼過期後幾天就清(例如跟
#297
交換桶一樣 7 天)
保留更久,讓使用者可以重新拿一組代碼
其他
建議:
草案提一個數,參考
#297
交換桶的 7 天;另外記住 R2 的自動清除會晚最多約一天,不能拿來當「代碼過期」的判斷,匯入端要自己看清單上的過期時間(Farside 那一側 10/04 查的)
誰裁:負責人(#326:跟 #252 的匯入政策一起定)
匯入的單檔上限多大?複製進來的檔算不算機構的檔案空間?
沿用畫布檔案元件的單檔 500 MB,算進機構空間
匯入另訂較高的單檔上限(有些 3DGS 到 1 GB),算進機構空間
不設單檔上限,只看機構總量
建議:
建議(未定):複製進來的算進機構空間(機構空間已照方案定,
#326
);單檔先沿用 500 MB,遇到 3DGS 超過再調
誰裁:負責人
模型權重「只記位置」要記在哪裡?Farside 現在的自動流程不收權重,只記 GPU 機器上的暫存路徑不夠(Farside 那一側 10/04 查的)
Farside 先把權重放到一個會留著的位置,清單檔再記那個位置
第一版先不處理權重,等 Farside 那一側補上再做
誰裁:Farside 那一側(宜芳分派)回答現況,負責人決定第一版做不做
畫布上的權重元件能按什麼?
只顯示名稱、大小、來源,沒有按鈕
加一顆「到 Compute 打開」,把人送去 Farside(
ADR-0115
說「Open in Farside」這種連結照舊成立)
誰裁:負責人
一組代碼有好幾個檔時,畫布上怎麼放?
一個檔一個檔案元件,排在畫面中間
一個元件列出全部
建議:
一個檔一個元件(建議,未定):檔案元件本來就是一個元件一個檔
誰裁:負責人
兩個桶之間能不能直接在 R2 裡複製,不經過我們的伺服器?
R2 伺服器端複製:官方相容表寫支援,但「從只讀的桶複製到我們的桶」還沒實測
串流經過容器:大檔會受容器記憶體與時間限制
建議:
寫草案時用小檔實測一次再定
誰裁:畫布這邊(工程)
怎麼驗收
11 項
前提:
測試機構的帳號,是這張畫布的 Editor 以上;Farside 測試帳號跑完一個小任務、拿到一組新的成果代碼(要等
#296
做好)
操作:
按左側工具列「從 Compute 匯入」,貼代碼,按匯入
應該看到:
成果以檔案元件出現在畫布上,寫著來源(Compute 任務、原檔名、匯入時間);按下載拿得到檔;工程附上跟 Farside 原檔比對檢查碼一致的紀錄
前提:
一組包含報告、表格或 3D 的成果代碼
操作:
照上面匯入
應該看到:
每一種都存得進來、下載得到、檢查碼一致;3D 顯示「不能在畫布上預覽,可以下載」
前提:
一組包含模型權重的成果代碼,先記下機構目前的已用檔案空間
操作:
匯入
應該看到:
權重元件寫「只記位置、沒有複製進來」;機構的已用空間沒有因為權重變大
前提:
剛剛已經成功匯入過的同一組代碼
操作:
再貼一次、按匯入
應該看到:
出現固定格式的錯誤(類型/錯誤碼/追查碼),畫布上沒有多出東西
前提:
一組改掉一個字的代碼,和一組超過 24 小時的代碼
操作:
分別貼上、按匯入
應該看到:
兩次的錯誤看起來一樣,跟「用過的代碼」也一樣,看不出代碼存不存在
前提:
一個網址(例如某張圖的連結)
操作:
貼進代碼格、按匯入
應該看到:
被擋下;工程附上自動測試的綠燈,證明伺服器沒有對那個網址發出任何請求
前提:
同一張畫布,換成只能看(Viewer)的帳號
操作:
打開畫布看左側工具列
應該看到:
看不到「從 Compute 匯入」
前提:
另一個機構的帳號,手上有 A 機構已經用過的代碼
操作:
在自己的畫布貼這組代碼;也試著找 A 機構匯入的檔
應該看到:
兌換失敗;找不到 A 機構的畫布和檔(工程附上跨機構隔離測試的綠燈)
前提:
匯入前記下機構的點數餘額
操作:
匯入一組成果
應該看到:
點數餘額沒有變
前提:
工程在 Cloudflare 後台列出所有 API 權杖
操作:
PM 看權杖清單截圖
應該看到:
沒有任何一把同時能寫檔案池、又能碰 Slate 的正本桶;Farside 對 Slate 正本桶沒有任何權限;Slate 對檔案池只能讀
前提:
測試機構,螢幕寬度 1440、1180、820 各一次
操作:
從貼代碼到下載走一遍並錄影
應該看到:
三種寬度都順利走完,錄影的展示頁連結貼回這張單
這張不做
畫布呼叫 Compute、從畫布送任務給 Compute(帳號合併之前不做,
ADR-0115
裁決二)
在 Slate 看 Compute 的任務紀錄、用量(負責人 10/03)
匯入收點數
把模型權重複製進 Slate
收網址或池子路徑當代碼
把匯入做成檔案元件的第三個來源(10/03 撤回);入口也不放在檔案總覽
3D 檢視器(這張只做到存得進來、下載得到;3D 檢視排在
#298
那一條線)
反方向「Slate 的檔送到 Compute」——那是
#297
,排在這張之後
帳號合併之後的「列出你在 Farside 的成果」入口
相關的單
#289
#296
#297
#298
#302
#317
#326