CLI
ATM CLI 将桌面端的操作能力暴露为终端命令,适用于脚本化与无头环境。
安装
ATM 装好之后,把二进制软链到 PATH:
# 全局
ln -sf /Applications/ATM.app/Contents/MacOS/atm /usr/local/bin/atm
# 或者用户目录
mkdir -p ~/.local/bin
ln -sf /Applications/ATM.app/Contents/MacOS/atm ~/.local/bin/atm
桌面 UI 在 Settings → CLI 里也有一键安装器。
验证
atm --help
应该打出顶层命令清单。如果 command not found,软链目标错了或软链不在 $PATH。
命令
atm
不带参数 = 打开桌面端(同 atm open)。
atm status
打印一次性状态快照:
- 网关状态(
Running/Stopped)。 - 已发现 Agent 数。
- 各路由当前 Agent 数。
- 最近请求时间戳。
应用健康时退出码 0,否则非零。适合 shell prompt 或监控脚本。
atm gateway
打印网关当前状态。不带参数等同于 atm status 过滤到网关信息。
atm gateway restart
重启网关,加载运行期保存的策略和 Provider 变更。鉴权 key 是实时生效的,不需要重启。
atm dashboard --json
把 dashboard 数据导成机器可读 JSON:路由、最近请求、最近用量。便于接到监控工具。
atm dashboard --json | jq '.routes'
atm agents list
列出 Agent。
--enabled— 只列已启用(路由已绑)的。--all— 包括未启用 / 未扫描的。--json— 输出 JSON 而非格式化表格。
atm key issue
终端签 key。镜像 POST /api/keys/issue。
atm key issue \
--agent-name my-agent \
--agent-type generic_agent \
--policy-id default
把 keyValue 打到 stdout。粘贴板:
atm key issue --agent-name my-agent --agent-type generic_agent --policy-id default | pbcopy
keyValue 只显示一次。丢了重新签发。
atm usage rescan
强制全量重扫所有本地历史扫描器。等同于 UI 点 Rescan,但无头。
atm providers list <agent>
列出指定 Agent 的所有兼容 Provider。
atm providers list codex
atm doctor
跑 ATM 内置诊断:
- 配置文件存在并能解析。
- 数据库完整性。
- 网关端口没被别的进程占。
- 已知扫描路径可达。
打总结报告,全好退出 0,否则非零。出问题时第一个该跑的命令。
示例
在 shell 里冒烟测整个网关
atm gateway restart
sleep 1
KEY=$(atm key issue --agent-name shell-test --agent-type generic_agent --policy-id default \
| grep '^keyValue:' | cut -d' ' -f2)
curl -s -X POST http://127.0.0.1:4317/v1/chat/completions \
-H "Authorization: Bearer $KEY" \
-H 'Content-Type: application/json' \
-d '{"messages":[{"role":"user","content":"pong"}]}' | jq
atm dashboard --json | jq '.recent_requests | .[-1]'
在 shell prompt 里嵌 atm status
# zsh
atm_status() {
if atm status --quiet 2>/dev/null; then
echo "%F{green}atm%f"
else
echo "%F{red}atm%f"
fi
}
PROMPT='$(atm_status) %~ %# '