API & configuration

Configuration

Distinguish application addresses, model services, internal credentials, persistent storage, and documentation settings, with explicit conditions for optional capabilities.

#Project runtime

The root .env.example provides addresses for running services directly on one host. Compose connects through container service names, and configuration classes may also default to container-network addresses. Set URLs for the actual launch mode; localhost examples are not container-to-container addresses. Browser access, internal services, and model providers use separate configuration.

SettingPurpose and current behavior
IGRAPH_ADMIN_USER_IDDefaults to admin and selects the fixed workspace owner. The owner record is created automatically; no user provisioning is needed. Keep it unchanged on upgrades to reuse historical data
FRONTEND_BIND_ADDRESS / FRONTEND_PORTCompose defaults to 127.0.0.1 / 21108; use an SSH tunnel or a controlled entry point remotely
AGENT_RUNTIME_AUTHORIZATIONfalse in the example; this runtime-framework authorization flag does not disable internal service keys or data-scope checks
BACKEND_PORT / AGENT_RUNTIME_PORTLocal examples use 21109 / 21112 for the public API and runtime
AGENT_RUNTIME_URLBackend-to-runtime URL; local example http://127.0.0.1:21112, configuration default http://agent-runtime:21112
GRAPH_ENGINE_URLBackend-to-graph API URL; local example http://127.0.0.1:21111, final default http://graph-engine-api:21111
GRAPH_ENGINE_MCP_URLRuntime tool discovery and calls; local example http://127.0.0.1:21110/mcp, with MCP_SERVER_URL fallback
BACKEND_CONTROL_URL / GRAPH_ENGINE_API_URLInternal execution-control addresses, not model provider URLs
AGENT_RUNTIME_DATABASE_URLAgentOS PostgreSQL; local example host 127.0.0.1, configuration default host postgres
IGRAPH_CONTROL_SERVICE_KEYRequired for the complete deployment; Backend, runtime, graph API, and MCP share one random non-empty ASCII credential without whitespace, even when cancellation is disabled
IGRAPH_RUN_CANCEL_ENABLEDtrue in .env.example; false when unset. Cancellation is exposed through /api/capabilities only after consistent enablement and cross-service checks
VITE_API_BASEOptional browser-facing Backend base URL; defaults to an empty string for same-origin /api and is read at frontend build time
VITE_SESSION_STATE_V2Enabled by default in the frontend; explicitly false disables the corresponding v2 state handling
BACKEND_STREAM_HEARTBEAT_SECONDSIdle SSE heartbeat, default 15 seconds
AGENT_RUNTIME_JOB_POLL_INTERVAL_SECONDS / AGENT_RUNTIME_JOB_WAIT_TIMEOUT_SECONDSJob polling defaults to 2 seconds; wait timeout defaults to 0 for no extra tool-layer limit, while upstream HTTP timeouts still apply

The Vite development server listens on 21108 and proxies /api to http://127.0.0.1:21109. The Compose frontend uses its own reverse proxy. A VITE_API_BASE containing a container hostname unreachable from the browser causes request failures; keep the default empty value when using a same-origin proxy.

Model and learning settingPurpose and distinction
LLM_API_KEY / LLM_BASE_URLGeneric model credentials and OpenAI-compatible base URL; provider settings are resolved for the selected model
OPENAI_* / CLAUDE_* / ANTHROPIC_* / QWEN_* / DEEPSEEK_* / ARK_*Provider connection settings; follow .env.example and the model protocol, or manage providers, credentials, and available models in Model services
IGRAPH_DEFAULT_MODELRuntime fallback model is qwen3.6-plus; GET /api/models reports the workspace default and available catalog
EMBEDDING_MODELDefault text-embedding-3-small; used for reusable knowledge retrieval, not conversation
EMBEDDING_API_KEY / EMBEDDING_BASE_URLExplicit embedding service settings; when unset, credentials and URL fall back through corresponding OPENAI, LLM, and QWEN variables
AGENT_RUNTIME_SKILLS_ROOTSkills directory; defaults to IGRAPH_DATA_ROOT/agent_runtime/skills
AGENT_RUNTIME_TRACING / AGNO_TELEMETRYDefault true / false; runtime tracing and telemetry are separate switches

Model services manages provider connections and the model catalog through /api/model-providers, /api/models, and /api/models/custom. URL and API Key fields open empty. Saving blank fields preserves the existing connection; new values replace it when saved, and removing a saved key requires the explicit clear action. Base URL is the provider endpoint, not the iGraph workspace URL. Embedding models still require provider support. Credentials belong in application configuration, never in the documentation site.

Workspace settingPurpose and current behavior
IGRAPH_DATA_ROOT / IGRAPH_WORKSPACE_ROOTThe data root defaults to data; session workspaces default to its workspaces subdirectory, with an optional explicit shared workspace root. Backend and runtime must access the same persistent storage.
IGRAPH_WORKSPACE_SANDBOX_MODEDefaults to auto and requires working bubblewrap; startup checks fail when unavailable. fallback is an explicit local-development option and is disallowed in environments requiring a sandbox.
IGRAPH_WORKSPACE_EXEC_TIMEOUT_SECONDS / IGRAPH_WORKSPACE_OUTPUT_LIMITWorkspace commands default to a 30-second timeout and a 100000-byte captured-output budget, separate from graph computation budgets.

#Construction and computation

Graph Engine runs construction with separate model, budget, and experience configuration. Budget values below come from .env.example as deployment starting points; use the construction page and API of the same deployment for request options and limits. Relational construction can explicitly use a rules baseline, while text entity extraction requires a usable LLM service.

SettingExample / default behavior
GRAPH_CONSTRUCTION_MODEDefaults to llm; missing model configuration fails explicitly, and rules must be selected explicitly
GRAPH_CONSTRUCTION_MODEL / GRAPH_CONSTRUCTION_API_KEY / GRAPH_CONSTRUCTION_BASE_URLOptional construction-specific model and service settings, otherwise resolved from provider configuration
GRAPH_CONSTRUCTION_QUERY_COUNT / GRAPH_CONSTRUCTION_MAX_ITERATIONSExamples 15 / 6 for query-set and iteration budgets
GRAPH_CONSTRUCTION_MAX_TOOL_CALLS / GRAPH_CONSTRUCTION_MAX_SECONDSExamples 24 / 900 for tool-call and total-time budgets
GRAPH_CONSTRUCTION_BENCHMARK_REPEATSExample 3 for benchmark repetitions
GRAPH_CONSTRUCTION_CONCURRENCYExample 1 per Graph Engine process; one concurrent construction per user
GRAPH_CONSTRUCTION_EXPERIENCE_ENABLED / GRAPH_CONSTRUCTION_DOMAIN_CATEGORYDefault true / auto; reuse user-specific domain strategies and validate them against current data
GRAPH_COMPUTE_CONCURRENCYGraph computation process pool; default min(4, cpu_count)
AGENT_TOOL_MAX_CONCURRENCYPer-turn tool scheduling defaults to 4, clamped to 1–32; separate from the graph process pool
GRAPH_HEAVY_PER_USER_CONCURRENCYHeavy tasks such as training and inference default to 1 per user
LLM_TIMEOUT_SECONDSExample model request timeout of 180 seconds
MCP_ENABLE_REPORTING_TOOLSReporting tools enabled by default; false / off / 0 disables them

A persistent deployment also needs durable PostgreSQL, Graph Engine data, skills, and session workspaces. Large-graph computation, NebulaGraph, upload quotas, and text extraction have their own settings. Check .env.example, graph-computation documentation, and the actual error instead of trying to resolve every capacity issue by increasing construction timeout.

Partitioned large graphs use durable jobs and workers, separately from the ordinary graph-algorithm process pool. LARGE_GRAPH_EMBEDDED_WORKER defaults to true for direct startup; Compose disables the embedded worker and starts a separate graph-engine-worker. Preparation converts supported text edge lists or triples into partitioned snapshots; not every binary graph format supports this preparation path.

Large-graph and data-entry settingCurrent default and purpose
LARGE_GRAPH_NODE_THRESHOLD / LARGE_GRAPH_EDGE_THRESHOLDDefault 1 million nodes / 5 million edges; reaching either activates the corresponding large-graph constraints
LARGE_GRAPH_UPLOAD_BYTES_THRESHOLDDefault 256 MiB; supported text uploads route to streaming large-graph preparation before a full read
LARGE_GRAPH_BINARY_UPLOAD_BYTES_THRESHOLDDefault 64 MiB; preflight limit for inputs such as npz / pt / json that cannot use partitioned preparation, avoiding full deserialization
LARGE_GRAPH_PARTITIONSExample 16 for preparation and partitioned computation
LARGE_GRAPH_UPLOAD_MAX_BYTES / LARGE_GRAPH_USER_UPLOAD_QUOTA_BYTESGraph data service defaults to 100 GiB per file and 200 GiB per user; these are not universal limits for every browser upload endpoint
IGRAPH_MAX_UPLOAD_BYTESBackend chat attachments default to 50 MiB, separately from graph-service large-file limits
BACKEND_SERVER_DATASETS_DIRServer-provided dataset directory; defaults to server_datasets under the data root and may be mapped to persistent storage in Compose
BACKEND_SERVER_DATASET_PREPROCESS_MIN_BYTES / BACKEND_SERVER_DATASET_SCAN_SECONDSText edge-list preprocessing threshold defaults to 64 MiB, with a 30-second scan interval; threshold 0 enables preprocessing for all text edge lists

The construction panel lets you select a model or enter a custom model ID and save a separate URL and API key for TXT extraction and AI-assisted table construction. GET /api/construction-models returns the list; GET / POST /api/construction-model-settings reads or saves the connection. Blank fields retain saved or server settings; an explicit clear action removes a saved key. In Compose, settings are stored by default in /data/configuration/construction-model.json, not in dataset options or construction reports.

Settings such as PER_USER and USER_UPLOAD_QUOTA still count by storage owner. In single-user mode these limits apply to the default workspace, without creating accounts or assigning login permissions.

#Documentation-site settings

The independent documentation site does not use model API keys, database connections, IGRAPH_CONTROL_SERVICE_KEY, or VITE_API_BASE. docs-site/wrangler.jsonc configures the site name, compatibility date, and dist asset directory. Optional SITE_URL generates absolute canonicals and a sitemap at build time and must be the actual documentation HTTPS origin without a path, query, or fragment. Cloudflare publishing credentials upload static files; they are not iGraph application credentials.

iGraphDocumentation