命令行
命令
共享选项组
源码命令 —— build、prepack、validate、eval:
产物命令 —— mcp list、mcp invoke、mcp run、hooks list、hooks simulate:同样的
--root、--config、--mode 与 --json,外加 --artifact <path>(精确使用某一份已构建产物)与
--target <target>(选择产物 target)。对 mcp list、mcp invoke、mcp run 与 hooks simulate
来说,--target 是必填的。
dev
dev 在前台运行,并在收到终止信号时关闭会话。见
开发者 Workbench。
dev proxy
proxy 从父命令 dev 继承 --root,并把诊断写到 stderr。
build 与 prepack
两者都接受源码选项组,外加:
当项目声明了 bin 或 lib 时,两者都会构建包输出。
install
输出的独立 install.mjs 与相对包的安装器 bin 接受同样的 --replace。Cursor 副本携带安装回执
(.agent-bundle-install.json),替换只触碰归属文件,--replace 会接管回执出现之前的副本;Claude 的替换
先运行 claude plugin uninstall --keep-data 再重新安装,Codex 则先 codex plugin remove 再 add。
doctor
当 Doctor 报告任何 error 级诊断时以 1 退出,并且绝不修改任何东西。带 --from 时,它按宿主把已安装副本报告为
current、stale(版本相同、内容不同——AB7308)、version-mismatch(AB7309)、foreign(AB7321)或
not-installed(AB7307)。对 Cursor,它还会根据已安装清单证明插件级 hook 的注册(AB7322),在
~/.cursor/hooks.json 会把某个插件 hook 再投递一次时发出警告(AB7323),并跟踪暂存的市场从 unregistered
到 Cursor 导入后的 registered(AB7324)。
validate
eval
eval compare <baseline> <candidate> 接受两个已持久化的运行 id,并从 eval 继承源码选项。
inspect
inspect 接受 --root、--config、--mode、--json 与单个 --target <target> 过滤器
(不可重复),外加至多一个聚焦标志:
传入多个聚焦标志是错误。当规范化模型无效时,inspect 以 1 退出。
每份检查计划都会以规范组件类型报告每个组件——agent、cli、command、event-route、hook、lsp、
mcp-app、mcp-server、native-diagnostics、native-extension、rule、script、skill(来自
agent-bundle/api 的 AgentComponentKind)——标为 selected 或带原因的 skipped,并附一份 kinds 矩阵:
每种类型一条,包含该 target 自己的四态能力判定以及选中/省略计数。人类可读输出为每个 target 打印一行、每条
省略及其原因,然后是 kinds this host cannot emit:。文件系统 src/events 路由报告为 event-route,按宿主的
event:<规范事件> 行判定,而不是 hook。
mcp
mcp list 需要 --server <server>。mcp invoke 需要 --server 与 --tool <tool>,并且只接受
--input <json> 与 --input-file <path> 二者之一;解析出的值必须是 JSON 对象,而不是数组或标量。
mcp run 需要 --server,并以继承的 stdio 在前台运行一个 stdio 服务器:
由于在整个前台运行期间由服务器持有 JSON-RPC 通道,mcp run 自身不向 stdout 写任何东西。.env 优先级
规则,以及 plugin-root 锚点改变了什么,见运行时环境。
hooks
hooks list 报告某份产物中的钩子。hooks simulate 需要 --hook <hook>(id 或名字),以及与
mcp invoke 相同的 --input / --input-file 二选一。
退出码
当任何一次试验失败或结论不明时,eval 运行以 1 退出——结论不明的试验没有产生证据,因此它同样不能
报告成功。