Configuration reference
This page collects the public configuration surface for Jarvis. It is a reference page, not a deployment runbook.
Configuration layers
Section titled “Configuration layers”| Layer | Source of truth | Notes |
|---|---|---|
| Jarvis server settings | .env and JARVIS_* variables |
Infrastructure and feature toggles |
| Main chat model selection | Model pool UI | Preferred source for main-session model choice |
| Runtime defaults | Runtime-local CLI configuration | Claude Code, Codex, and OpenCode keep their own local config |
| Worker reporting tools | Jarvis-managed injection | Available to managed coding sessions |
Primary environment variables
Section titled “Primary environment variables”| Variable | Type | Default | Purpose |
|---|---|---|---|
JARVIS_API_KEY |
string | unset | Authenticates requests to Jarvis. Generate and store it locally. |
JARVIS_PORT |
integer | 8888 |
Sets the Jarvis HTTP server port. |
JARVIS_DATABASE_PATH |
path string | data/jarvis.db |
Sets the SQLite database path. |
JARVIS_DEFAULT_MODEL |
string | unset | Fallback chat model when the model pool has no active selection. |
Built-in provider credentials
Section titled “Built-in provider credentials”Jarvis exposes optional credential slots for built-in providers. Public examples
from .env.example include:
| Variable | Purpose |
|---|---|
JARVIS_YUNWU_API_KEY |
Enables the built-in Yunwu provider slot |
JARVIS_DEEPSEEK_API_KEY |
Enables the built-in DeepSeek provider slot |
JARVIS_GLM51_API_KEY |
Enables the built-in GLM provider slot |
Related base URL variables may also exist in .env.example, but most users only
need them when targeting a non-default endpoint.
Model pool vs .env
Section titled “Model pool vs .env”Use this rule:
- Put infrastructure and built-in provider credentials in
.env. - Put main chat model choices in the model pool UI.
The model pool is the preferred public interface for selecting and switching the main Jarvis model.
Runtime CLI configuration
Section titled “Runtime CLI configuration”Jarvis intentionally does not duplicate runtime-local configuration for:
- Claude Code
- Codex
- OpenCode
Public guidance should describe these runtimes as using their own local CLI configuration. Jarvis launches, discovers, and manages sessions around that local state.
Runtime-related public variables
Section titled “Runtime-related public variables”Some public variables affect runtime behavior without replacing runtime-local configuration:
| Variable | Purpose |
|---|---|
CODING_AGENT_MODE |
Selects the coding-agent execution backend. |
OPENCODE_SERVER_URL |
Points Jarvis at the local OpenCode sidecar endpoint. |
OPENCODE_RUNTIME_MODE |
Chooses how OpenCode is provided locally. |
Other runtime variables exist in .env.example, but many are advanced or
debug-only and should only be changed when you understand the runtime you are
operating.
Local model variables
Section titled “Local model variables”Jarvis can also point at a local OpenAI-compatible model endpoint:
| Variable | Purpose |
|---|---|
JARVIS_LOCAL_BASE_URL |
Base URL of a local model API |
JARVIS_LOCAL_MODEL |
Model identifier used with that local endpoint |
These are optional. Leaving them empty disables local-model routing.
Permissions and reporting tools
Section titled “Permissions and reporting tools”Managed coding sessions receive worker-facing reporting tools, including:
report_progressnotify_blockedask_humanrequest_context- optional
search_kb
search_kb is designed to degrade gracefully when a knowledge base is not
configured.
Redaction requirements
Section titled “Redaction requirements”Public configuration examples must never include:
- real API keys,
- personal filesystem paths,
- private server addresses,
- raw private logs,
- private knowledge-base content.