项目结构

Agent 项目目录、全局配置和运行数据的边界

Agent 定义、Power 配置与运行数据都使用用户级文件。项目目录只作为 Workspace,保留项目环境、Skills 和业务源码。

目录布局

my-project/
├── .env                 # 项目环境变量
├── .agents/
│   └── skills/          # 用户管理、可进入版本控制的 Skills
└── src/                 # 业务代码(可选)

全局配置

用户级配置结构为:

~/.downcity/
├── agents/<agent_id>/
│   ├── agent.json
│   ├── SOUL.md
│   └── sessions/
│       ├── <session_id>/
│       ├── archived-sessions/
│       └── logs/
├── powers/<power_id>/config.toml
├── runtimes/city/
└── downcity.db

downcity.db 保存 Workspace ID 与路径、Token 和平台状态,不保存 Agent 定义、Power 配置或 Agent-Workspace 绑定。CLI 与 Desktop 读取同一套文件与数据库。

agent_id 与 workspace_id 是彼此独立的全局身份。Session 只在一次具体执行时接收 Workspace。CLI City 的 daemon 状态记录在 ~/.downcity/runtimes/city/;Session 保存在 ~/.downcity/agents/<agent_id>/sessions/ 下。只有传入 Workspace 时,Session 的 meta.json 才记录 workspace_id。

项目资产

Global Env 单独保存在 ~/.downcity/.env。项目 .env 覆盖 Global Env,启动进程显式环境变量拥有最高优先级;项目 .env 默认加入 .gitignore。.agents/skills 是项目中唯一由用户管理并进入版本控制的 Agent 能力资产。

运行数据

Downcity 不再创建 <project>/.downcity/。Agent 运行数据统一保存在 City 提供的 agents/<agent_id>/ 存储作用域;没有 City 时保存在内存中。Power 自有数据使用 PowerContext 提供的 Agent 级存储作用域。

继续阅读: