數據工作室
數據工作室(Data Studio,通過對話構建實時數據儀表盤)
由 src/data-studio/config.ts 的 dsConfig() 讀取。大多數在調用 時讀取,因此開關無需重啟即生效;MAX_PAGE_BYTES 和 MAX_VERSIONS 在啟動時讀取(page-write 工具 + store 接線),因此 改動它們需要重啟。這些值也在 Settings → Preferences 的 Data Studio 下浮現,以便本地運營方無需直接編輯 env 文件即可調優 儀表盤運行時。
DATA_STUDIO_ENABLED
DATA_STUDIO_ENABLED
- 作用: 整個 Data Studio 模塊。關閉時,所有 /v1/data-studio/* 路由、/studio/p/* 託管頁面以及數據代理都會失效(503 / 404),導航入口也不可用。
- 消費方: src/gateway/api.ts (routeDataStudio, handleDataStudioHost, handleDataStudioProxy).
- 默認值: true(啟用)。
- 格式: 1/true/yes/on 啟用,0/false/no/off 禁用。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_PROXY_ENABLED
DATA_STUDIO_PROXY_ENABLED
- 作用: 在服務端注入 provider 密鑰並計量調用的公共數據代理。關閉時代理返回 503,儀表盤顯示「數據已暫停」狀態;託管與編寫仍可正常工作。
- 消費方: src/gateway/api.ts handleDataStudioProxy.
- 默認值: true(啟用)。
- 格式: 1/true/yes/on 啟用,0/false/no/off 禁用。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_PUBLISH_ENABLED
DATA_STUDIO_PUBLISH_ENABLED
- 作用: 儀表盤能否發佈為公開可分享的鏈接。關閉時,發佈被拒絕(403),只存在應用內的私有頁面。已公開的頁面仍可正常訪問。
- 消費方: src/gateway/api.ts routeDataStudio (publish route).
- 默認值: true(啟用)。
- 格式: 1/true/yes/on 啟用,0/false/no/off 禁用。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_ALLOW_PUBLIC_CUSTOM_SOURCES
DATA_STUDIO_ALLOW_PUBLIC_CUSTOM_SOURCES
- 作用: 已發佈(公開)的頁面能否使用項目自有的自定義外部數據源。在完整的 SSRF 加固上線前保持關閉;項目自定義數據源尚未接入,因此此項目前無效。
- 消費方: src/data-studio/config.ts (reserved gate).
- 默認值: false。
- 格式: 1/true/yes/on 啟用,0/false/no/off 禁用。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_PKG_MANAGER
DATA_STUDIO_PKG_MANAGER
- 作用: 由哪個包管理器引導編譯儀表盤的共享 Vite/React 工具鏈。默認自動檢測(依次 pnpm、npm、yarn、bun);設置此項可強制指定。
- 消費方: src/app.ts (build runner), src/data-studio/build-runner.ts.
- 默認值: 空(自動檢測)。
- 格式: pnpm | npm | yarn | bun 之一。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_BUILD_TIMEOUT_MS
DATA_STUDIO_BUILD_TIMEOUT_MS
- 作用: 單次儀表盤編譯(
vite build)的時間上限。超過此值的構建會被終止並報告為構建錯誤。 - 消費方: src/data-studio/build-runner.ts (via dsConfig at boot).
- 默認值: 90000(90s)。
- 格式: 正整數(毫秒),最小值 1000。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_MAX_WATCHERS
DATA_STUDIO_MAX_WATCHERS
- 作用: 同時運行多少個實時預覽構建 watcher(LRU;空閒項目會被淘汰)。這是對長期運行的構建進程的資源上限。
- 消費方: src/data-studio/build-runner.ts (via dsConfig at boot).
- 默認值: 3。
- 格式: 正整數。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_MAX_CONCURRENT_BUILDS
DATA_STUDIO_MAX_CONCURRENT_BUILDS
- 作用: 不同項目可同時運行的生產構建數上限。同一項目仍按 FIFO 串行,相同構建會合並執行。
- 消費方: src/data-studio/build-scheduler.ts(Gateway 啟動時通過 dsConfig 讀取)。
- 默認值: 自動:clamp(floor((availableParallelism - 2) / 2), 1, 3)。
- 格式: 正整數;留空時根據桌面 CPU 自動計算。
- 設置歸屬: 非用戶設置項
DATA_STUDIO_MAX_CONCURRENT_VERIFICATIONS
DATA_STUDIO_MAX_CONCURRENT_VERIFICATIONS
- 作用: 允許同時運行的無頭瀏覽器驗證數;不會超過生產構建併發數,且最大為 2。
- 消費方: src/data-studio/build-scheduler.ts(Gateway 啟動時通過 dsConfig 讀取)。
- 默認值: 1。
- 格式: 正整數;有效範圍 1-2。
- 設置歸屬: 非用戶設置項
DATA_STUDIO_MIN_POLL_INTERVAL_SEC
DATA_STUDIO_MIN_POLL_INTERVAL_SEC
- 作用: 儀表盤刷新計量數據源的最小間隔下限。更快的綁定會被鉗制到此值並被標記,以便告知用戶其刷新頻繁。
- 消費方: src/tools/data-studio.ts, src/data-studio/host.ts(數據 SDK 讀取的、注入的 window.STUDIO 配置)。
- 默認值: 5。
- 格式: 正整數(秒)。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_PROXY_RATE_PER_MIN
DATA_STUDIO_PROXY_RATE_PER_MIN
- 作用: 每個 page-token 每分鐘允許的代理請求數。該 token 是公開的(寫入頁面中),因此此項限制濫用。緩存命中不計入。
- 消費方: src/data-studio/config.ts ProxyRateLimiter.
- 默認值: 120。
- 格式: 正整數。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_PROXY_DAILY_CAP
DATA_STUDIO_PROXY_DAILY_CAP
- 作用: 每個 page-token 每天允許的代理請求數。
- 消費方: src/data-studio/config.ts ProxyRateLimiter.
- 默認值: 5000。
- 格式: 正整數。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_PROXY_CACHE_TTL_SEC
DATA_STUDIO_PROXY_CACHE_TTL_SEC
- 作用: 對於相同的(source + path + params)讀取,代理在從內存返回多久後才向上遊重新拉取。為繁忙或被廣泛分享的儀表盤削減 provider 負載與配額消耗。
- 消費方: src/data-studio/config.ts ProxyCache.
- 默認值: 5。
- 格式: 正整數(秒);0 禁用緩存。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_VERIFY_PREVIEW
DATA_STUDIO_VERIFY_PREVIEW
- 作用: Data Studio 是否在構建成功後以桌面和移動端尺寸自動運行無頭瀏覽器預覽校驗。啟用時,儀表盤只有在構建通過、且託管預覽加載時沒有頁面錯誤、未處理的 promise rejection、應用 console.error 記錄、圖表或視覺錯誤、頁面級溢出或新的 runtime-log 錯誤時,才視為完成。
- 消費方: src/tools/data-studio.ts data_studio_build 和 data_studio_verify_preview。
- 默認值: true。
- 格式: 1/true/yes/on 啟用,0/false/no/off 禁用。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_VERIFY_BASE_URL
DATA_STUDIO_VERIFY_BASE_URL
- 作用: 無頭預覽校驗使用的 gateway origin。留空則推斷為 http://127.0.0.1:$\{GATEWAY_PORT:-8080\}。
- 消費方: src/data-studio/config.ts dataStudioVerifyBaseUrl.
- 默認值: 空(推斷本地 gateway URL)。
- 格式: 絕對 HTTP(S) origin,不含路徑。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_VERIFY_TIMEOUT_MS
DATA_STUDIO_VERIFY_TIMEOUT_MS
- 作用: 單次預覽校驗運行的 Playwright 導航超時。
- 消費方: src/data-studio/runtime-verify.ts.
- 默認值: 10000。
- 格式: 正整數(毫秒),最小值 1000。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_VERIFY_SETTLE_MS
DATA_STUDIO_VERIFY_SETTLE_MS
- 作用: 在返回預覽校驗結論前,DOMContentLoaded 之後留給異步應用錯誤浮現的額外時間。
- 消費方: src/data-studio/runtime-verify.ts.
- 默認值: 1500。
- 格式: 整數毫秒,0 或更大。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_RUNTIME_FIX_MAX_ATTEMPTS
DATA_STUDIO_RUNTIME_FIX_MAX_ATTEMPTS
- 作用: agent 在返回剩餘 runtime 錯誤前應嘗試的 build -> verify -> fix 輪數默認值。
- 消費方: src/tools/data-studio.ts data_studio_verify_preview 結果。
- 默認值: 6。
- 格式: 正整數;受 DATA_STUDIO_RUNTIME_FIX_ATTEMPT_HARD_CAP 鉗制。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_RUNTIME_FIX_ATTEMPT_HARD_CAP
DATA_STUDIO_RUNTIME_FIX_ATTEMPT_HARD_CAP
- 作用: 運維對 runtime-fix 循環的硬上限,防止糟糕的 prompt 或應用無限運行校驗循環。
- 消費方: src/data-studio/config.ts dsConfig().
- 默認值: 10。
- 格式: 正整數。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_POLISH_REVISION_BUDGET
DATA_STUDIO_POLISH_REVISION_BUDGET
- 作用: agent 在一塊已通過校驗的看板上還能再打磨幾輪,之後 build 結果會提示交付。按用戶消息計數,新的請求重新開始。
- 消費方: src/tools/data-studio.ts data_studio_build 結果。
- 默認值: 2。
- 格式: 整數,0 或更大;0 表示首次通過校驗即交付。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_RUNTIME_LEARNING_ENABLED
DATA_STUDIO_RUNTIME_LEARNING_ENABLED
- 作用: Data Studio 是否將預覽 runtime 的失敗與恢復記錄到 Data Studio runtime lesson store 中。
- 消費方: src/data-studio/runtime-verify.ts 與 prompt 組裝。
- 默認值: true。
- 格式: 1/true/yes/on 啟用,0/false/no/off 禁用。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_RUNTIME_LESSON_INJECT_LIMIT
DATA_STUDIO_RUNTIME_LESSON_INJECT_LIMIT
- 作用: 注入到生成 prompt 中的 Data Studio runtime lesson 數量上限。active lesson 優先於近期候選。
- 消費方: src/data-studio/project-store.ts prompt rendering.
- 默認值: 5。
- 格式: 整數,0 或更大。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_RUNTIME_LESSON_PROMOTE_SUCCESSES
DATA_STUDIO_RUNTIME_LESSON_PROMOTE_SUCCESSES
- 作用: 同一 runtime 指紋需要多少次成功恢復,候選 lesson 才自動晉升為 active。
- 消費方: src/data-studio/project-store.ts markRuntimeRecovered.
- 默認值: 2。
- 格式: 正整數。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_PREFERENCE_LEARNING_ENABLED
DATA_STUDIO_PREFERENCE_LEARNING_ENABLED
- 作用: Data Studio 是否觀察用戶的儀表盤措辭、組件選擇、可視化習慣與數據習慣,用於未來的 prompt。
- 消費方: src/app/plugins.ts 與 prompt 組裝。
- 默認值: false。
- 格式: 1/true/yes/on 啟用,0/false/no/off 禁用。
- 設置歸屬: 設置 → 偏好(schema 鍵)
DATA_STUDIO_PREFERENCE_INJECT_LIMIT
DATA_STUDIO_PREFERENCE_INJECT_LIMIT
- 作用: 在生成新儀表盤前注入的 Data Studio 偏好記憶數量上限,按相關性、時效性與 active 狀態排序。
- 消費方: src/data-studio/project-store.ts prompt rendering.
- 默認值: 6。
- 格式: 整數,0 或更大。
- 設置歸屬: 設置 → 偏好(schema 鍵)
BEHAVIOR_MEMORY_ENABLED / BEHAVIOR_MEMORY_CAPTURE_ENGAGEMENT / BEHAVIOR_MEMORY_CAPTURE_FEATURE_USAGE / BEHAVIOR_MEMORY_CAPTURE_CONFIGURATION / BEHAVIOR_MEMORY_CAPTURE_AUTOMATION / BEHAVIOR_MEMORY_CAPTURE_STRATEGY / BEHAVIOR_MEMORY_CAPTURE_FINANCIAL_CONTEXT / BEHAVIOR_MEMORY_CAPTURE_TRANSACTION / BEHAVIOR_MEMORY_CAPTURE_CONVERSATION / BEHAVIOR_REFLECTION_ENABLED / BEHAVIOR_REFLECTION_INCLUDE_IN_MEMORY / BEHAVIOR_REFLECTION_CUSTOM_PROMPT / BEHAVIOR_MEMORY_RAW_RETENTION_DAYS / BEHAVIOR_MEMORY_MAX_MB / BEHAVIOR_MEMORY_BATCH_SIZE / BEHAVIOR_MEMORY_BATCH_KB / BEHAVIOR_MEMORY_FLUSH_MS / BEHAVIOR_MEMORY_QUEUE_MAX / BEHAVIOR_MEMORY_PRESSURE_FREE_MB / BEHAVIOR_MEMORY_CRITICAL_FREE_MB / BEHAVIOR_MEMORY_DISK_CHECK_MS
行為記憶(本地、粗粒度的產品使用遙測)。 總開關默認關閉。即使啟用總開關,敏感採集類別在未顯式開啟前仍保持關閉。
- 設置歸屬: 設置 → 偏好(schema 鍵)