Skip to main content

CLI 概览

更新 2026-08-13 8 分钟阅读 在 GitHub 上编辑 ↗

概览在终端执行的 moai(Go 二进制)的所有命令与标志。它与在 Claude Code 对话窗输入的 /moai(斜杠子命令)是完全不同的工具 —— 本页只讲终端 CLI。

各命令的详细参考(标志、子命令、示例)请见 CLI 参考 部分。

命令树

bash
moai --help

moai CLI 分为三组。

命令说明
Launchmoai cc · moai cg · moai glm启动 Claude Code 会话(选择后端)
Projectmoai init · moai update · moai doctor · moai status项目初始化、更新、诊断、状态查询
Toolsmoai profile · moai inventory · moai hook · moai worktree · moai spec · moai harness · …配置、清单、钩子、工作树等工具

moai version 确认当前安装的版本。

bash
moai version
text
╭────────────────────────╮
│                        │
│    moai-adk v3.0.0     │
│                        │
│                        │
╰────────────────────────╯
 v3.0.0   none   built unknown

框式横幅下方一行按 <版本> <提交哈希> built <构建时刻> 顺序显示。若像 go install 那样在无 ldflags 下构建,提交显示为 none,构建时刻显示为 unknown


moai init

初始化项目。交互式向导会设置语言、Git 自动化、模型策略、harness 配置文件等。

bash
moai init [project-name] [OPTIONS]

标志

标志说明
--non-interactive跳过交互式向导(使用标志与默认值)
--force强制重新初始化既有项目(会备份当前 .moai/)
--no-hooks跳过 Git 钩子安装
--all部署 catalog 全部条目(core + optional packs + harness-generated)
--mode <ddd|tdd>开发方法论(默认: tdd)
--language <lang>主编程语言
--framework <name>框架名称(默认: 自动检测或 “none”)
--name <name>项目名称(默认: 目录名)
--root <path>项目根目录(默认: 当前目录)
--git-mode <manual|personal|team>Git 工作流模式(默认: manual)
--git-provider <github|gitlab>Git 提供者
--project-mode <personal|team>项目模式(默认: personal)
--enable-lsp启用 LSP 联动(默认: true)
--enforce-quality强制质量门禁(默认: true)
--enable-design启用 design 工作流(默认: true)
--profile <high|medium|low>模型+effort 配置文件 —— 保存到 llm.yaml profile (选择配置矩阵列)。legacy 值 max 也接受作为输入并规范化为 high
--model-policy <high|medium|low>legacy 性能层级 —— 保存到 llm.yaml performance_tier (profile 缺失时作为别名)
--high将被删除 --model-policy high 的别名

示例

bash
# 初始化新项目(交互式向导)
moai init my-project

# 安装到既有文件夹
cd my-existing-project
moai init

# 非交互(CI/CD)
moai init --non-interactive --project-mode personal --model-policy medium

详细的向导步骤请参阅初始设置页面。


moai update

将 MoAI-ADK 更新到最新版本。不带标志运行时会一并更新二进制与模板,用户自定义资产会自动保留。

bash
moai update [OPTIONS]

标志

标志说明
--check仅确认是否有新版本(不更新)
-c, --config重新运行设置向导(不同步模板)
--force强制更新(跳过版本一致检查、强制 备份+合并、覆盖归档 drift)
--yes自动批准所有确认(CI/CD 模式)
--templates-only跳过二进制更新,仅同步模板
--binary跳过模板同步,仅更新二进制
--dry-run不改动文件系统,仅显示计划的操作
--no-hooks跳过 Git 钩子安装
--verbose显示所有警告(诊断模式)
--shell-env为 Claude Code 配置 shell 环境变量
--profile <high|medium|low>覆盖模型+effort 配置文件(保存到 llm.yaml profile)

示例

bash
# 默认更新(二进制 + 模板)
moai update

# 仅确认是否有新版本
moai update --check

# 重新运行设置向导
moai update -c

# 仅同步模板
moai update --templates-only

详细的更新流程请参阅更新页面。


moai doctor

执行系统诊断。检查 Git、项目结构、配置文件、各语言的开发工具。

bash
moai doctor [OPTIONS]

标志

标志说明
-v, --verbose显示详细的工具版本与语言检测结果
--fix提出缺失工具的修复建议
--export <path>将诊断结果导出为 JSON 文件
--check <tool>仅确认特定工具(例: git, go, config)

子命令

命令说明
moai doctor sandbox诊断沙箱后端可用性
moai doctor permission诊断权限解析
moai doctor hook显示 30 个钩子事件覆盖率表
moai doctor config dump连同 provenance 转储合并后的配置
moai doctor config diff <tier-a> <tier-b>对比两个配置层级

示例

bash
# 完整诊断
moai doctor

# 详细诊断
moai doctor --verbose

# 导出诊断结果
moai doctor --export diagnostics.json

moai status

一目了然地查询项目状态。显示是否已初始化、SPEC 数量、配置文件数。

bash
moai status

这是无标志的只读命令。详细的输出内容请参阅项目状态页面。


moai inventory

综合查询活跃会话、工作树、harness 的只读命令。

bash
moai inventory [OPTIONS]

标志

标志说明
--json结构化 JSON 输出
--project-root <path>项目根路径(默认: 当前目录)

详细的 JSON schema 与使用示例请参阅moai inventory页面。


moai profile

管理 Claude Code 设置配置文件。可为每个配置文件维护独立的模型、语言、显示设置。

bash
moai profile [COMMAND]

子命令

命令说明
moai profile list显示所有可用配置文件
moai profile setup运行交互式设置向导
moai profile current显示当前活跃的配置文件
moai profile delete <name>删除指定的配置文件

-p 标志指定运行时的配置文件:

bash
moai cc -p work       # 用 work 配置文件运行 Claude
moai glm -p cost-save # 用 cost-save 配置文件运行 GLM
moai cg -p team       # 用 team 配置文件运行 CG 模式

详情请参阅配置文件管理页面。


moai hook

处理 Claude Code 钩子事件的调度器。由 settings.json 的钩子设置以 moai hook <event> 形式调用。

bash
moai hook <event>

支持的子命令(42 个)

moai hook 调度器把标准 Claude Code 钩子事件与 MoAI 专用内部动作合在一起,共提供 42 个子命令。所有名称均为 kebab-case。下面是有代表性的事件。

钩子事件数与子命令数是两个不同的数字。 moai doctor hook 显示的 30 是 Claude Code 定义的钩子事件种类,这里的 42 是 moai hook 接受的子命令数量。由于 MoAI 专用内部动作没有对应事件也作为子命令存在,两者并不一致。

事件说明
session-start会话开始
session-end会话结束
pre-tool工具执行前(PreToolUse)
post-tool工具执行后(PostToolUse)
post-tool-failure工具执行失败后
stop会话停止
stop-failure停止失败
compact上下文压缩前(PreCompact)
post-compact上下文压缩后
notification系统通知
subagent-start子智能体开始
subagent-stop子智能体结束
user-prompt-submit用户提示提交
permission-request权限请求
permission-denied权限拒绝
teammate-idle队友空闲状态
task-completed任务完成
task-created任务创建
worktree-create工作树创建
worktree-remove工作树移除
instructions-loaded指令加载完成
config-change配置变更
cwd-changed工作目录变更
file-changed文件变更
elicitationMCP elicitation 请求
elicitation-resultMCP elicitation 结果

还包含 MoAI 专用子命令。

子命令说明
stop-goal回合结束时评估活跃会话的 goal
pre-push按约定校验提交信息
spec-statusgit 提交时自动更新 SPEC status
harness-classify运行 harness 分类器并记录层级晋升
harness-observe · harness-observe-stop · harness-observe-subagent-stop · harness-observe-user-prompt-submit记录 harness 使用日志

钩子不由用户直接执行 —— Claude Code 的 settings.json 会自动调用。


moai worktree

管理 Git worktree 以进行并行 SPEC 开发。

bash
moai worktree <COMMAND> [ARGS]...

子命令

命令说明
moai worktree sync [branch-name]与 base 分支同步 worktree
moai worktree done <branch-name>移除分支的 worktree,可选删除分支
moai worktree remove <path>移除指定路径的 worktree
moai worktree clean清理 stale 引用,收拾已合并/已废弃的 worktree
moai worktree recover恢复 worktree 注册表
moai worktree snapshot捕获工作树状态快照
moai worktree verify对照快照校验工作树状态
moai worktree restore把工作树恢复到快照 HEAD 状态

进入工作树是启动器的职责。列表查询则直接用 git。

bash
moai cc -w feat-login           # 在工作树中开始工作 (不存在则创建)
moai cc -w feat-login --spawn   # 保留当前会话,在新 tmux 窗口中打开
git worktree list               # 工作树列表

moai cc / moai cg / moai glm

在启动 Claude Code 时选择后端的启动命令。三条命令都能用 -p <profile> 标志指定配置文件。把 -- 之后的参数原样传给 Claude Code,只有 moai ccmoai glm 支持(moai cg 不支持)。

bash
moai cc [-p profile] [-- claude-args...]
moai glm [-p profile] [-- claude-args...]
moai cg [-p profile]
命令领导Worker需要 tmux用途
moai ccClaudeClaude最高质量(单一后端)
moai glmGLMGLM成本优化(GLM 单独)
moai cgClaudeGLM必需质量 + 成本平衡(混合)

moai cg 激活 CG 模式(Claude 领导 + GLM 队友)。必须在 tmux 会话内运行,它会把 GLM 环境变量注入 tmux 会话,而领导窗口使用 Claude API。moai cg 在设置后会直接在当前窗口启动 Claude Code,因此不需要另外的 claude 启动步骤。

bash
# 1. 保存 GLM API 密钥(首次一次)
moai glm setup sk-your-glm-api-key

# 2. 激活 CG 模式(在 tmux 内运行 —— Claude Code 会在当前窗口直接启动)
moai cg

详细的 CG 模式指南请参阅简介 — 用 GLM 节省 token

启动标志

三条启动命令共同支持的标志。

标志说明
-p, --profile <name>使用命名的 Claude 配置文件
--permission-mode <mode>权限模式(default, acceptEdits, plan, auto, bypassPermissions, dontAsk)
-b, --bypass--permission-mode bypassPermissions 的简写

moai cc 额外支持以下标志。

标志说明
-c, --continue续接上一个会话
-m, --model <model>覆盖模型选择
--chrome / --no-chrome切换 Chrome MCP

auto 权限模式在 GLM(第三方提供者)中不可用 —— 仅在 moai ccmoai cg 中支持。

moai glm 子命令

命令说明
moai glm setup <api-key>保存 GLM API 密钥
moai glm status显示当前 GLM 凭据状态
moai glm tools管理 Z.AI MCP 服务器工具(启用/禁用)

moai goal

为当前会话注册·查询·解除基于条件的自主 goal 循环。在条件满足之前,每个回合结束时进行评估。

bash
moai goal <COMMAND>
命令说明
moai goal arm <condition>为活跃会话注册·激活 goal
moai goal status输出活跃会话的 goal 状态
moai goal clear解除活跃会话的 goal

moai handoff

管理用于跨越 /clear 边界续接会话的 auto-resume 交接待处理记录。

bash
moai handoff <COMMAND>
命令说明
moai handoff save把粘贴即用的 resume 正文保存为待处理记录
moai handoff clear移除待处理的交接记录

moai session

管理用于缓解多会话竞态的活跃会话协调注册表。

bash
moai session <COMMAND>
命令说明
moai session current输出当前编排器会话 UUID
moai session list活跃会话列表(可用 --filter-spec 过滤)
moai session register <session_id> <spec_id> <phase>向注册表登记会话
moai session deregister <session_id>从注册表移除会话(幂等)
moai session heartbeat <session_id>更新会话 last_heartbeat
moai session purge移除过期条目(默认: 最后 heartbeat 超过 30 分钟)
moai session doctor诊断会话注册表为空的原因

moai web

启动基于浏览器的配置编辑器 MoAI Web Console。

bash
moai web [OPTIONS]
标志说明
--port <N>绑定到 127.0.0.1 的 TCP 端口(默认: 3041)
--no-open不自动打开浏览器
--no-reuse不从过期的 moai 实例回收端口

moai version

显示版本、commit 哈希、构建日期。

bash
moai version
moai --version    # 相同

模型策略(性能层级)

MoAI-ADK 提供为智能体分配最优 AI 模型的性能层级系统 —— 这是代币经济学的起点。通过 llm.yamlperformance_tier 字段设置,用 --model-policy 标志或初始化向导选择。

层级特点
high最高质量 —— 对调用频率最低的两个智能体使用 max 推理深度
medium (默认)质量与成本的平衡 —— 成本/评分曲线的拐点
low每任务成本最低 —— agentic 智能体降到 Opus low effort,Sonnet 仅用于单次调用的行
bash
# 初始化时设置
moai init my-project --model-policy high

# 在既有项目中重新设置
moai update -c

配置文件(profile: high/medium/low)选择配置矩阵的活动列,确定每个代理的 model+effort。详细的每个代理映射请参阅配置矩阵页面。


参考