fix(self-hosted): 修壓測四阻斷項 + 設定分層 + init 非互動

壓測(docs/壓測報告.md)發現 acr init --self-hosted 對任何非官方 CF
帳號都裝不起來,且設定寫死全域單檔 + 強制 TTY。本次一併修:

R2 dead storage 全清(#3#4,registry-canon Phase 1.5 補完):
- cypher-executor wrangler.toml/test.toml/types.ts 移除 WASM_BUCKET binding
- CLI deploy.ts/init.ts/cf-api.ts/config.ts 移除 R2 建立邏輯與 wasm_bucket
- R2 綁信用卡違背「開源免費自架」核心;bucket 名 WASM_BUCKET 本就非法
  → self-hosted 改為只需 Workers + KV(皆免費額度、不綁卡)

fork 帳號部署阻斷(#1#2):
- deploy.ts 新增 stripOfficialOnlyBindings(),注入暫存副本時移除
  [[routes]]/zone_name/[[r2_buckets]]/[ai](fork 沒有 arcrun.dev zone)
- 不刪 repo 內 toml(官方 prod CI 部署仍需 routes),只在 CLI self-hosted 路徑 strip

設定分層 + 非互動(#7#8):
- config.ts loadConfig 改三層:env > 專案層 .arcrun.yaml(就近往上找)> 全域
- init 支援 --account-id/--api-token flag + CLOUDFLARE_* env,缺才互動
- 新增 acr config --where 顯示每個值的來源層(token 自動遮罩)
- gitignore 一併排除 .arcrun.yaml

驗收:tsc 全綠;三層 merge 端對端測試 8/8;strip 對真實 toml 驗證
routes/R2/AI 移除而 name/workers_dev/KV 保留。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
uncle6me-web
2026-06-05 07:22:37 +08:00
parent 1d79ae038c
commit 5f381a44a6
12 changed files with 268 additions and 65 deletions
+2 -2
View File
@@ -10,9 +10,9 @@ AI 很會寫程式,就要除錯,過程浪費很多 Token 及時間,但絕
但現有工作流軟體是給人用的,對 AI 不友善。比如為了好看界面,程式碼又長又複雜,導致 AI 生成時容易出錯,甚至一個檔就灌爆 Context Window。
所以 Arcrun 是為了 AI Friendly 的目的開發
所以 Arcrun 是為了 AI Friendly 的目的開發。
Arcrun 主要給 AI 用,因為 AI 很會寫 Code,它不「Low code」,但更適合你用,因為只要跟 AI 說,就把後面的事做完了,比 Low code 更輕鬆
因為 AI 很會寫 Code,它不「Low code」,但更適合你用,因為跟 AI 說,就把後面的事做完了,比 Low code 更簡單
為了 AI Friendlyarcrun 內含**給 AIClaude Code)用的 harness**:你叫 AI 用 arcrun 開發時,它知道能用什麼、不能做什麼,做錯了有機制擋住——讓 CC 順暢、且不容易做歪。