Downcity
Configuration

Console Config Storage (ship.db)

Console-global config is now unified in ~/.ship/ship.db with encrypted sensitive fields

Console Config Storage (ship.db)

From current versions, Console no longer uses:

  1. ~/.ship/ship.json
  2. ~/.ship/.env

Console-global config is unified in:

  • ~/.ship/ship.db

What is stored

ship.db contains these major groups:

  1. Model pool (providers/models)
  2. Console-global env (global_env)
  3. Agent-private env (agent_env)
  4. Bot account vault (channel_accounts)
  5. Console-global extension config (extensions_config)

Sensitive fields (such as API keys) are stored encrypted.

Boundary with Agent project config

These files remain agent-project-level config (unchanged):

  1. <agent>/ship.json
  2. <agent>/.env

So the split is:

  • Console: ~/.ship/ship.db
  • Agent: project-local ship.json/.env

Environment Variable Scope (Important)

Current versions use explicit layers:

  1. Console-global shared env: global_env
  2. Agent-private env in DB: agent_env
  3. Agent-local runtime overlay: <agent>/.env (user-managed)
  4. Chat channel credentials: channel_accounts (bound by ship.json channelAccountId)

Key behavior:

  1. Runtime env map is agent_env + <agent>/.env (.env wins).
  2. .env remains agent-local and does not mutate global process.env.
  3. ship.json stores channel binding (channelAccountId) instead of plaintext secrets.
  4. Bot credentials are resolved from channel_accounts.
  5. Extension config is read from extensions_config.

Common operations

Initialize Console (writes into ship.db):

city console init

Read/update console extension config:

city console config get extensions.voice
city console config set extensions.voice.enabled true

Manage model pool:

city console model list
city console model create

Runtime files

These runtime files stay in filesystem (not config):

  1. ~/.ship/console/console.pid
  2. ~/.ship/console/ui.pid
  3. ~/.ship/console/console.log
  4. ~/.ship/console/ui.log
  5. ~/.ship/console/agents.json

Table of Contents