AgentConfiguration
Agent Configuration Overview
Understand the main configuration layers in an Agent project from a user perspective
Agent Configuration Overview
An Agent project usually has five configuration pieces:
downcity.jsonPROFILE.mdSOUL.md- chat channel bindings
- environment variables and secrets
You can also think about them in two layers:
- human-readable principles:
PROFILE.mdandSOUL.md - structured runtime configuration:
downcity.json, channel bindings, and environment variables
Recommended mental model
1. downcity.json
This decides:
- what the agent is called
- which model it uses
- which services are enabled
- which chat channels are attached
This is the structured file the runtime actually reads.
2. PROFILE.md
This decides:
- the agent's role
- its response style
- its behavior boundaries
Think of it as the visible role spec.
3. SOUL.md
This decides:
- deeper and more stable operating principles
Think of it as the long-term work philosophy.
4. Channel bindings
This decides:
- which city-level channel account the current agent should use
The most important rule here is:
- global accounts belong to city
- the project only says which one to use
5. Environment variables
This decides:
- whether
${VAR}placeholders in config can resolve - whether startup has the keys and secrets it needs
If environment variables are missing, a config that looks correct on paper can still fail at runtime.