feat(console): API Key 介面錯位收斂為簡單 email+password 登入 (Arcrun#3 發現②)

背景:self-hosted 單租戶下 console 原本那格「API Key」其實只是 namespace
明碼字串,不是註冊制 key(leo 原話:理論上根本沒有 API Key 這件事)。leo 拍板:
換成簡單 email+password 登入頁(自己設一組帳密,不用 OAuth),登入成功後端發
session token 存 localStorage;後端 API 呼叫仍用固定租戶字串打 KBDB(登入系統
只擋外人看頁面,不做多租戶)。

租戶字串收斂:發現①已核實 owner_id='leo' 是 D1 中 458,357 筆資料實際使用的
租戶字串(ak_... 只有 2 筆孤兒資料)。CONSOLE_TENANT 預設 "leo",不製造第三個租戶。

新增:
- cypher-executor/src/routes/console-auth.ts:/console/auth-status、
  /console/setup(首次自助設定帳密,寫入 SESSIONS_KV console:credentials)、
  /console/setup/reset(換帳密,需舊密碼)、/console/login、/console/session
  (驗 session + 回傳固定租戶字串)、/console/logout。密碼用 salt + 3 輪
  SHA-256 雜湊,不存明碼。
- cypher-executor/src/types.ts:Bindings 加 CONSOLE_TENANT。
- cypher-executor/wrangler.toml:[vars] 加 CONSOLE_TENANT = "leo"。
- cypher-executor/src/routes/console.ts:① 卡片從「貼 API Key」改成登入/首次
  設定表單;查詢函式改用登入後端回的固定租戶字串,使用者不再需要知道任何
  namespace 字串。

驗證見 issue #3 留言。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Leo
2026-07-03 09:01:04 +00:00
parent 9024f22534
commit abf232327c
5 changed files with 289 additions and 15 deletions
+5
View File
@@ -118,6 +118,11 @@ WORKER_SUBDOMAIN = "uncle6-me"
# Self-hosted fork:改成自己部署的 arcrun-kbdb.<你的subdomain>.workers.dev。
KBDB_BASE_URL = "https://arcrun-kbdb.uncle6-me.workers.dev"
# console 固定租戶字串(Arcrun#3 發現②,routes/console-auth.ts)。非機密——self-hosted
# 架構本就是明碼 namespace。console 登入後端一律用這個字串打 /kbdb/*、/workflows/search
# (登入系統只擋外人看頁面,不做多租戶)。Self-hosted fork:改成你自己資料實際所在的租戶字串。
CONSOLE_TENANT = "leo"
[[routes]]
pattern = "cypher.arcrun.dev/*"
zone_name = "arcrun.dev"