CLI

City 管理本机 Agent,Fed 管理 Federation Server

Downcity 安装包提供两个独立工具:

  • city(别名 downcity)是本机 City 容器,管理 Agent、Power、环境变量和 Federation 连接。
  • fed(别名 downfed)是 Federation Server Manager;TUI 管理已注册 Server,fed web 启动本地 Web 控制面,项目命令读取当前目录的 federation.json。

City 数据模型

Agent 与 Workspace 是两个独立的全局实体。Agent 由 agent_id 标识,结构化定义位于 ~/.downcity/agents/<agent_id>/agent.json,稳定主体指令位于同目录的 SOUL.md。Workspace 由 workspace_id 标识并指向项目目录。一个 Agent 可以进入多个 Workspace,双方都不保存持久化绑定。CLI 与 Desktop 分别拥有独立的 City,但共享同一套用户级文件和 Workspace 索引。

Federation Admin 配置与 Embassy User Session 也统一保存在 ~/.downcity/downcity.db。升级后,旧 ~/.downcity/federation.db 中的管理配置会被一次性迁入;旧文件保留用于人工恢复,但运行时不再读取。

每个 Power 使用稳定 ID 对应 ~/.downcity/powers/<power_id>/,唯一明文配置位于 config.toml。第三方 Power 的安装目录包含唯一 power.json、建立 ESM 边界的 package.json,以及清单声明的可选 main、renderer 自包含入口,不包含源码和构建配置。City 会把已登记的 Power 和同一份配置提供给全部 Agent;agent.json 不保存 Power 引用。downcity.db 只保存 Workspace 索引、Token 和平台状态,不保存 Agent 或 Power 配置。

City 命令

命令说明
city agent管理全局 Agent
city power管理 Power 制品、唯一配置与 Action
city env管理 City 注入的环境变量
city federation管理 Federation 连接

自动化脚本可以用 DOWNCITY_FEDERATION_URL 和 DOWNCITY_USER_TOKEN 覆盖当前 Embassy 用户身份。旧的 DOWNCITY_CITY_URL、DOWNCITY_CITY_USER_TOKEN、CITY_URL 与 CITY_USER_TOKEN 不再解析。

city init、city update 和 city config 不再提供。全局更新使用 npm i -g downcity@latest。

所有操作单个 Agent 的命令都以 agent_id 为目标。TTY 中省略 ID 时打开全局 Agent 选择器;非交互环境会返回 Agent ID is required,不会根据当前目录推断。

平台支持

CLI 架构天然跨平台。macOS 与 Linux 是稳定支持目标;Windows Adapter 当前为 preview。

继续阅读:CLI 命令。