@@ -221,9 +221,20 @@ only covers cloud-specific, non-obvious caveats.
221221 ` docker/postgres/init/*.sql ` . In the native (non-Docker) setup those were applied by hand;
222222 they persist in the snapshot. If you ever recreate the vault DB, re-apply
223223 ` docker/postgres/init/*.sql ` or db-scheduler logs ` relation "scheduled_tasks" does not exist ` .
224- - ** LLM is unconfigured by default** (no key shipped). The backend boots fine and non-AI
225- features (connections, schema browsing, SQL editor) work; chat/dashboards/brain throw
226- ` LlmNotConfiguredException ` until ` DEEPSQL_CHAT_* ` is set in ` .env ` .
224+ - ** LLM (Azure OpenAI) is configured in the local gitignored ` .env ` ** (not committed). Working
225+ values for this environment: ` DEEPSQL_CHAT_PROVIDER=openai ` ,
226+ ` DEEPSQL_CHAT_ENDPOINT=https://deepsql-selfhost-resource.cognitiveservices.azure.com/ ` ,
227+ ` DEEPSQL_CHAT_MODEL=gpt-5.4 ` (deployment name), plus matching ` DEEPSQL_EMBEDDING_* ` with
228+ ` text-embedding-3-large ` . Also set ` AZURE_OPENAI_KEY ` / ` AZURE_OPENAI_ENDPOINT ` aliases —
229+ ` hermes/install.sh ` reads those. After changing LLM env, restart the backend
230+ (` scripts/start-backend.sh ` ); ` /api/setup/status ` should show ` hasLlmConfig: true ` .
231+ - ** Agent tab (Hermes) is optional but required for the in-app Agent chat UI.** Install via
232+ ` curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --non-interactive --skip-setup ` ,
233+ symlink ` ~/.hermes/hermes-agent/.venv ` → ` venv ` (DeepSQL's ` hermes/install.sh ` expects ` .venv ` ),
234+ then ` bash hermes/install.sh ` . Start the webui with
235+ ` HERMES_WEBUI_ALLOWED_ORIGINS=http://localhost:3000,http://127.0.0.1:3000 `
236+ (without this, Vite's Origin header makes Hermes return ** 403** "Cross-origin mismatch").
237+ Webui listens on ` :8787 ` ; Vite proxies ` /agent-api ` → there.
227238- ** Before running backend tests that boot the Spring context** (e.g. ` ApiSmokeTest ` ), stop
228239 the running backend first — both use ` ddl-auto=update ` on the same ` dba_agent ` DB and can
229240 deadlock on an ` ALTER TABLE ` . Test env vars are documented in ` CLAUDE.md ` (Testing).
0 commit comments