# Copy to .env if you need to override defaults. The MiniMax API key is # OPTIONAL here — the recommended path is Settings → Keys in the UI (the key # is stored in the local Postgres and rotated transparently). Set this # env var only if you want a fallback key that survives `npm run db:down`, # or if you'd rather manage keys out-of-band. # # Get a key at: https://platform.minimax.io/user-center/basic-information/interface-key # # Note: the value below is a sentinel placeholder. The server detects it # and skips it; you don't need to change this line if you're using the UI. MINIMAX_API_KEY=sk-minimax-your-key-here MINIMAX_BASE_URL=https://api.minimax.io/v1 MINIMAX_MODEL=MiniMax-M3 PORT=8787 # Optional: Postgres connection string for server-side conversation # persistence. Leave blank to run the chat in stateless mode (the existing # flow); the new /api/conversations endpoints will return 503 in that case. # DATABASE_URL=postgres://postgres:postgres@localhost:5433/astryx # Optional: vector-memory embedding settings. If unset, the server falls back # to a deterministic StubEmbeddings provider (so the rest of the stack still # runs), but memory retrieval quality will be random. # EMBEDDING_DIM=1024 # EMBEDDING_MODEL=embo-001 # Optional: tool sandbox + exec guardrails. The sandbox root is a directory # the agent's file-system and shell tools are restricted to. All paths must # be relative; absolute paths are rejected. `exec_command` enforces a # per-call timeout and a blocklist of obvious destructive patterns. # # IMPORTANT: keep this OUTSIDE the project directory (and outside any # directory Vite/the dev server watches). Vite watches the whole project # tree; if the sandbox lives inside it, every `write_file` / `patch_file` / # `format_code` from the agent triggers a Vite full-reload and a `tsc` # re-typecheck of any nested TS project (e.g. a `test_project/`), which # pauses the dev server for several seconds. # # Recommended: a sibling of the project, e.g. `C:\Users\YOU\agent-sandbox`. # On Windows, quote the path or use forward slashes if it contains spaces. # TOOL_SANDBOX_ROOT=C:/Users/Rafael/agent-sandbox # TOOL_EXEC_TIMEOUT_MS=30000 # TOOL_EXEC_BLOCKLIST= # (newline-separated regexes, e.g. "rm -rf /" ":\(\) \{ :\|:& \};:") # Optional: where the `schedule_task` tool persists its task list. Also # keep this outside the project tree for the same reason as # TOOL_SANDBOX_ROOT. Defaults to ./data if unset. # SCHEDULER_DATA_DIR=C:/Users/Rafael/agent-sandbox/data # MCP servers to attach at boot. JSON array; each entry is a stdio command. # Tool names are namespaced as `mcp__` in the agent's tool # registry. Empty/unset → no MCP servers boot. # # REQUIRED for web search — the only web search tool is MiniMax's hosted # MCP. Requires `uvx` on PATH (install via https://docs.astral.sh/uv/) and # an API key with Token Plan credits. The MCP uses `MINIMAX_MCP_BASE_PATH` # to stage responses — pick a writable directory OUTSIDE the project tree # for the same reason as the sandbox root. # # Auth for the MCP: the server has a `keyRef: "db"` shortcut that auto- # populates `MINIMAX_API_KEY` from the first active DB-stored key. That's # the recommended setup — no plaintext key in .env. Use it by replacing # the env block above with: "env": {"MINIMAX_API_HOST":"...", ...}. # If you'd rather hardcode a key here, replace REPLACE_WITH_YOUR_KEY. MCP_SERVERS=[{"name":"minimax","command":"uvx","args":["minimax-coding-plan-mcp","-y"],"env":{"MINIMAX_API_KEY":"REPLACE_WITH_YOUR_KEY","MINIMAX_API_HOST":"https://api.minimax.io","MINIMAX_MCP_BASE_PATH":"C:\\Users\\Rafael\\agent-sandbox\\mcp-out"}}]