데이터 스튜디오
데이터 스튜디오(Data Studio, 대화로 만드는 실시간 데이터 대시보드)
src/data-studio/config.ts dsConfig() 가 읽습니다. 대부분 호출 시점에 읽으므로 토글은 재시작 없이 적용됩니다. MAX_PAGE_BYTES 와 MAX_VERSIONS 는 시작 시 읽으므로(페이지 쓰기 도구 + 스토어 배선), 변경하려면 재시작이 필요합니다. 이 값들은 Settings → Preferences 의 Data Studio 아래에도 노출되어, 로컬 운영자가 env 파일을 직접 편집하지 않고 대시보드 런타임을 튜닝할 수 있습니다.
DATA_STUDIO_ENABLED
DATA_STUDIO_ENABLED
- 제어 대상: Data Studio 모듈 전체입니다. off이면 모든 /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 키를 서버 사이드에서 주입하고 호출을 계량하는 공개 데이터 프록시입니다. off이면 프록시가 503을 반환하고 대시보드는 "data paused" 상태를 표시하며, 호스팅 + 저작은 계속 작동합니다.
- 사용처: src/gateway/api.ts handleDataStudioProxy.
- 기본값: true(활성화).
- 형식: 1/true/yes/on이면 활성화, 0/false/no/off이면 비활성화합니다.
- 설정 위치: 설정 → 환경설정 (schema 키)
DATA_STUDIO_PUBLISH_ENABLED
DATA_STUDIO_PUBLISH_ENABLED
- 제어 대상: 대시보드를 공개 공유 링크로 게시할 수 있는지 여부입니다. off이면 게시가 거부되고(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 강화가 제공될 때까지 OFF로 유지되며, 프로젝트 커스텀 소스는 아직 연결되지 않아 비활성 상태입니다.
- 사용처: 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(data SDK가 읽는 주입된 window.STUDIO config).
- 기본값: 5.
- 형식: 양의 정수(초 단위).
- 설정 위치: 설정 → 환경설정 (schema 키)
DATA_STUDIO_PROXY_RATE_PER_MIN
DATA_STUDIO_PROXY_RATE_PER_MIN
- 제어 대상: 페이지 토큰당 분당 허용되는 프록시 요청 수입니다. 토큰은 공개되어 있으므로(페이지에 기록됨) 이 값이 남용을 제한합니다. 캐시 적중은 카운트되지 않습니다.
- 사용처: src/data-studio/config.ts ProxyRateLimiter.
- 기본값: 120.
- 형식: 양의 정수.
- 설정 위치: 설정 → 환경설정 (schema 키)
DATA_STUDIO_PROXY_DAILY_CAP
DATA_STUDIO_PROXY_DAILY_CAP
- 제어 대상: 페이지 토큰당 하루에 허용되는 프록시 요청 수입니다.
- 사용처: src/data-studio/config.ts ProxyRateLimiter.
- 기본값: 5000.
- 형식: 양의 정수.
- 설정 위치: 설정 → 환경설정 (schema 키)
DATA_STUDIO_PROXY_CACHE_TTL_SEC
DATA_STUDIO_PROXY_CACHE_TTL_SEC
- 제어 대상: 프록시가 upstream에서 다시 가져오기 전에 동일한(source + path + params) 읽기를 메모리에서 제공하는 시간입니다. 바쁘거나 널리 공유된 대시보드의 provider 부하 + 할당량을 줄입니다.
- 사용처: src/data-studio/config.ts ProxyCache.
- 기본값: 5.
- 형식: 양의 정수(초 단위), 0이면 캐싱을 비활성화합니다.
- 설정 위치: 설정 → 환경설정 (schema 키)
DATA_STUDIO_VERIFY_PREVIEW
DATA_STUDIO_VERIFY_PREVIEW
- 제어 대상: Data Studio가 빌드 성공 후 데스크톱 및 모바일 크기에서 headless 브라우저 미리보기 검증을 자동 실행할지 여부입니다. 활성화되면 빌드가 통과하고 호스팅된 미리보기가 페이지 오류, 처리되지 않은 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
- 제어 대상: headless 미리보기 검증에 사용되는 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
- 제어 대상: 에이전트가 남은 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 루프에 대한 운영자 강제 상한으로, 잘못된 프롬프트나 앱이 무제한 검증 사이클을 실행하는 것을 방지합니다.
- 사용처: src/data-studio/config.ts dsConfig().
- 기본값: 10.
- 형식: 양의 정수.
- 설정 위치: 설정 → 환경설정 (schema 키)
DATA_STUDIO_POLISH_REVISION_BUDGET
DATA_STUDIO_POLISH_REVISION_BUDGET
- 제어 대상: 검증을 통과한 대시보드를 에이전트가 몇 번 더 다듬을 수 있는지. 그 뒤에는 빌드 결과가 전달을 안내한다. 사용자 메시지 단위로 세며, 새 요청이면 다시 시작한다.
- 사용처: 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 및 프롬프트 어셈블리.
- 기본값: true.
- 형식: 1/true/yes/on이면 활성화, 0/false/no/off이면 비활성화합니다.
- 설정 위치: 설정 → 환경설정 (schema 키)
DATA_STUDIO_RUNTIME_LESSON_INJECT_LIMIT
DATA_STUDIO_RUNTIME_LESSON_INJECT_LIMIT
- 제어 대상: 생성 프롬프트에 주입되는 Data Studio runtime lesson의 최대 개수입니다. 활성 lesson이 최근 후보보다 우선합니다.
- 사용처: src/data-studio/project-store.ts prompt rendering.
- 기본값: 5.
- 형식: 정수, 0 이상.
- 설정 위치: 설정 → 환경설정 (schema 키)
DATA_STUDIO_RUNTIME_LESSON_PROMOTE_SUCCESSES
DATA_STUDIO_RUNTIME_LESSON_PROMOTE_SUCCESSES
- 제어 대상: 후보 lesson이 active로 자동 승격되기 전에 동일한 runtime fingerprint에 대해 필요한 성공 복구 횟수입니다.
- 사용처: src/data-studio/project-store.ts markRuntimeRecovered.
- 기본값: 2.
- 형식: 양의 정수.
- 설정 위치: 설정 → 환경설정 (schema 키)
DATA_STUDIO_PREFERENCE_LEARNING_ENABLED
DATA_STUDIO_PREFERENCE_LEARNING_ENABLED
- 제어 대상: Data Studio가 향후 프롬프트를 위해 사용자의 대시보드 표현, 컴포넌트 선택, 시각화 습관, 데이터 습관을 관찰할지 여부입니다.
- 사용처: src/app/plugins.ts 및 프롬프트 어셈블리.
- 기본값: false.
- 형식: 1/true/yes/on이면 활성화, 0/false/no/off이면 비활성화합니다.
- 설정 위치: 설정 → 환경설정 (schema 키)
DATA_STUDIO_PREFERENCE_INJECT_LIMIT
DATA_STUDIO_PREFERENCE_INJECT_LIMIT
- 제어 대상: 새 대시보드 생성 전에 주입되는 Data Studio preference 메모리의 최대 개수로, 관련성, 최신성, 활성 상태로 순위가 매겨집니다.
- 사용처: 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
Behavior memory(로컬, 대략적 단위의 제품 사용 telemetry)입니다. 마스터 스위치는 기본적으로 off입니다. 민감한 캡처 클래스는 명시적으로 opt-in하지 않는 한 마스터 스위치가 활성화된 후에도 off로 유지됩니다.
- 설정 위치: 설정 → 환경설정 (schema 키)