Downcity
Commands

city config

Manage project downcity.json and alias (model pool is separate)

city config

Manage project downcity.json and alias.

Naming note: configuration command is city config, not city console config.

Usage

city config <subcommand>

Subcommands

  • get [keyPath]
  • set <keyPath> <value>
  • unset <keyPath>
  • alias

Model pool management has moved to city model.

Plugin config

city config now reads and writes project downcity.json only.

For plugin configuration, edit:

  • plugins.* for agent-local plugin parameters only
  • use city <plugin> on/off for plugin lifecycle

Examples:

city config get plugins.asr
city config set plugins.asr.modelId '\"SenseVoiceSmall\"'

Examples

city config get model.primary
city config set model.primary fast
city config unset services.chat.channels.telegram
city config alias --dry-run

Example Output (Based on Current Implementation)

The examples below are aligned with current command implementations in packages/downcity/src (including default output mode and field structure). Placeholder values are used for environment-specific fields.

$ city config get model.primary
{
  "success": true,
  "projectRoot": "<projectRoot>",
  "shipJsonPath": "<projectRoot>/downcity.json",
  "keyPath": "model.primary",
  "value": "<modelId>"
}
$ city config set model.primary gpt-5.4
{
  "success": true,
  "projectRoot": "<projectRoot>",
  "shipJsonPath": "<projectRoot>/downcity.json",
  "keyPath": "model.primary",
  "value": "gpt-5.4",
  "existed": true,
  "previous": "<oldModelId>"
}