Skip to content

Configuration reference

This page collects the public configuration surface for Jarvis. It is a reference page, not a deployment runbook.

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
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.

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.

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.

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.

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.

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.

Managed coding sessions receive worker-facing reporting tools, including:

  • report_progress
  • notify_blocked
  • ask_human
  • request_context
  • optional search_kb

search_kb is designed to degrade gracefully when a knowledge base is not configured.

Public configuration examples must never include:

  • real API keys,
  • personal filesystem paths,
  • private server addresses,
  • raw private logs,
  • private knowledge-base content.