Downcity
Core Concepts

Architecture Logic Map

Concepts page 2 explaining responsibilities and interaction of console, agent, service, and extension

Architecture Logic Map

This is the second page in Concepts. It focuses on one thing:

what console, agent, service, and extension each own, and how one request flows across them.

1. Responsibility Boundaries

  • console: global control plane. Starts/stops console daemon, manages agent registry, and provides unified ops entry for service / extension / config.
  • agent: project-scoped execution plane. Loads project context, runs model/tool execution, and persists runtime traces to .ship/.
  • service: core domain modules (chat / skill / task / memory) for primary workflows.
  • extension: shared optional capability modules (for example voice), managed from console side and invoked by agents when needed.

2. System Relationship (Control Plane vs Execution Plane)

3. Request Flow (Simplified)

4. Key Rules

  • console handles governance/ops, agent handles execution/persistence.
  • service is the core domain layer, extension is the optional enhancement layer.
  • service and extension are operated from console-facing commands, but execution happens inside agent runtime.
  • The model pool is managed globally via city console model ...; each project binds with model.primary.

5. Typical Command Order

# 1) Start global console (required)
city console start

# 2) Init project and start agent
city agent create .
city agent start

# 3) Operate service / extension
city service list
city extension list

# 4) Check overall status
city console status
city agent status .

Table of Contents