Agent CLI

如何使用 CLI 管理 Agent 项目

Agent CLI

city CLI 是 Agent SDK 的便利包装器。它从 CLI 全局 DB 读取 Agent 配置,将模型、plugin 和启动参数传给 Agent SDK 构造函数,然后处理启动、停止和重启等生命周期命令。

项目初始化

city agent create

不传路径时,可以选择当前目录或通过系统原生窗口选择其他文件夹;也可以显式传入相对路径或绝对路径,例如 city agent create .city agent create ./my-project

这会生成:

  • .agents/skills/
  • .downcity/
  • .env
  • CLI 全局 DB 中的 Agent 配置

项目目录结构

my-project/
├── .env
├── .agents/skills/
├── .downcity/          # 仅运行数据
└── 你的业务代码

关键命令

  • city agent start — 在当前项目启动 Agent
  • city agent stop — 停止运行中的 Agent
  • city agent restart — 重启 Agent
  • city agent status — 检查 Agent 是否正在运行
  • city agent logs — 查看运行时日志

Chat TUI 安全策略

在 Agent 管理器中进入 Chat 后,使用 /security 打开当前 Session 的安全策略选择器:

  • Default — 对应 Session 的 ask 模式;每次 unrestricted Shell 操作都需要明确审批。
  • Always Allow — 对应 always-allow 模式;当前 Session 后续的 unrestricted Shell 操作会自动批准。

当前策略展示在 Chat Header 中。策略只影响当前 Session 的后续 Shell 请求;已经等待审批的请求仍需单独处理。Always Allow 不会绕过危险命令拒绝、Workspace 边界或其他运行时安全检查。

CLI 做了什么

  1. 从 CLI 全局 DB 读取 Agent 配置
  2. 通过已连接的 Federation AIService 解析 execution.modelId
  3. 将解析后的配置传给 new Agent(...)
  4. 启动 Agent 进程
  5. 维护守护进程状态,以便后续检查、停止或重启

CLI vs SDK

CLI 用于日常项目管理。SDK 用于将 Agent 能力嵌入自己的应用。两者使用相同的执行核心。

继续阅读: