CLI
City 管理本机 Agent,Fed 管理 Federation Server
CLI
Downcity 安装包提供两个独立工具:
city(别名downcity)是本机 City 容器,管理 Agent、Plugin、环境变量和 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 中的管理配置会被一次性迁入;旧文件保留用于人工恢复,但运行时不再读取。
每个 Plugin 使用稳定 ID 对应 ~/.downcity/plugins/<plugin_id>/。明文 profile 位于 config.toml;第三方 Plugin 的安装目录只包含唯一 plugin.json、建立 ESM 边界的 package.json 与自包含 setup 入口,不包含源码和构建配置。Agent 在自己的 agent.json 中注册 Plugin 并选择可选 profile。downcity.db 只保存 Workspace 索引、Token 和平台状态,不保存 Agent 或 Plugin 配置。
City 命令
| 命令 | 说明 |
|---|---|
city agent | 管理全局 Agent |
city plugin | 管理 Plugin 制品、profile、Agent 引用与 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 命令。