Configuration

Updated at 2026-09-21 · 623d849

User-specific paths and settings pass through documented environment variables — no package hardcodes a machine path or guesses where data lives. This table is rendered from the registry in packages/shared/contracts/src/env.ts on every release.

Most installs only ever set one: DIGITAL_ME_WIKI_ROOT.

VariableRequiredDefaultDescription
DIGITAL_ME_HOMEnoderived from DIGITAL_ME_WIKI_ROOT when unset (legacy alias)Legacy alias for DIGITAL_ME_WIKI_ROOT (the data root: wiki + config). Optional — when unset it falls back to DIGITAL_ME_WIKI_ROOT. Prefer exporting DIGITAL_ME_WIKI_ROOT.
DIGITAL_ME_WIKI_DIRnoresolved relative to DIGITAL_ME_HOME / DIGITAL_ME_WIKI_ROOT at load timeDirectory containing your wiki .md files.
DIGITAL_ME_WIKI_ROOTno~/digital-meCanonical wiki/data root that every runtime adapter, hook, dream-cycle, and dashboard-intake reads (contains wiki/, inbox/, config.yaml). This is the variable users export; DIGITAL_ME_HOME is the contracts-layer alias.
DREAM_CYCLE_HOMEno—Directory for the dream-cycle Python pipeline.
DREAM_CYCLE_VENVno—Python venv used by dream-cycle.
OPENCLAW_HOMEno~/.openclawOpenclaw configuration and data home.
OPENCLAW_DATA_DIRno—Openclaw runtime data directory (SQLite stores).
OPENCLAW_GATEWAY_HOSTno127.0.0.1Host of the openclaw gateway HTTP server. Defaults to the IPv4 loopback literal (not 'localhost', which Node >=17 may resolve to ::1 and miss a 127.0.0.1-bound gateway).
OPENCLAW_GATEWAY_PORTno18789Port of the openclaw gateway HTTP server.
OPENCLAW_GATEWAY_TOKENno—Auth token for the openclaw gateway. If unset, read from $OPENCLAW_HOME/openclaw.json.
DIGITAL_ME_BRAIN_URLno—digital-me brain-host /tools/invoke endpoint (e.g. http://127.0.0.1:18791/tools/invoke). When set, every brain caller uses it instead of the openclaw gateway; the bearer token must resolve from DIGITAL_ME_BRAIN_TOKEN, DIGITAL_ME_BRAIN_TOKEN_FILE or the default token file (a URL with no token is a hard error, never a gateway fallback).
DIGITAL_ME_BRAIN_TOKENno—Bearer token for DIGITAL_ME_BRAIN_URL. Prefer DIGITAL_ME_BRAIN_TOKEN_FILE in service units and MCP registrations so the secret stays on disk (mode 600).
DIGITAL_ME_BRAIN_TOKEN_FILEno—File holding the bearer token for DIGITAL_ME_BRAIN_URL, read when DIGITAL_ME_BRAIN_TOKEN is unset. Default: <DIGITAL_ME_WIKI_ROOT>/.data/brain-host.token (written by digital-me install --runtime brain-host).
DIGITAL_ME_BRAIN_DBnoresolved by resolveBrainDbPath(): /.data/brain.db, else the legacy <OPENCLAW_HOME>/data/brain.db while only that existsPath to brain.db (goals, tasks, traces, learnings). When unset, every reader applies the same rule: <DIGITAL_ME_WIKI_ROOT>/.data/brain.db if it exists, else the legacy <OPENCLAW_HOME>/data/brain.db if it exists, else the canonical <DIGITAL_ME_WIKI_ROOT>/.data/brain.db.
DIGITAL_ME_ENV_FILEnoresolved by resolveEnvFilePath(): /.data/.env, else the legacy <OPENCLAW_HOME>/.env while only that existsEnv file holding provider keys (GEMINI_API_KEY, …), loaded by the brain-host service and inherited by the workers it dispatches. When unset: <DIGITAL_ME_WIKI_ROOT>/.data/.env if it exists, else the legacy <OPENCLAW_HOME>/.env if it exists, else <DIGITAL_ME_WIKI_ROOT>/.data/.env.
BRAIN_PROXY_PATHno—Absolute path to the brain-mcp-proxy binary. If unset, resolved via PATH.
ORCHESTRATOR_DB_PATHno—Path to brain-orchestrator SQLite store.
DASHBOARD_PORTno3458Port the dashboard Express server listens on (loopback only).
DASHBOARD_TITLEnoOperations DashboardTitle shown in dashboard UI header.
TEAM_WORKSPACE_ROOTno—Optional root directory of a shared team workspace. Dashboard team views are disabled if unset.
LEARNING_SOURCE_DIRno—Optional source directory for learning artifacts to ingest into the dashboard.
LEARNING_DEST_DIRno—Optional destination directory for processed learning notes.
OPENCLAW_AGENT_IDnounknownCaller agent identity for brain attribution. Set per-runtime in MCP server env block.

Workflow dispatch to your CLIs is configured separately in ~/digital-me/config.yaml under cli_exec_aliases — digital-me setup pre-populates it for detected CLIs.