# r2mo-cli **Repository Path**: xchen02/r2mo-cli ## Basic Information - **Project Name**: r2mo-cli - **Description**: CLI 环境打造,综合 Agent 环境 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2026-05-19 - **Last Updated**: 2026-05-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # R2MO CLI R² Meta-Orchestrated CLI — 多 AI Agent 协同终端工作台。 基于 Rust + ratatui 构建的终端 TUI 应用,通过 npm 全局安装,为 AI Agent 提供统一的项目管理、代码生成、验证线束和多 Agent 协同环境。 ## 安装 ```bash npm install -g r2mo-cli ``` 要求 Node.js >= 18。 ## 快速开始 ```bash # 启动 TUI 工作台 r2mo # 初始化项目配置 r2mo config --init # 查看当前配置 r2mo config --show # 健康检查 r2mo config --doctor ``` 启动后进入 TUI 界面,在编辑区输入提示词即可与 AI Agent 交互。 ## 命令行子命令 | 命令 | 说明 | |------|------| | `r2mo` | 启动 TUI 工作台(默认) | | `r2mo config --init` | 初始化配置文件 | | `r2mo config --show` | 显示完整配置 | | `r2mo config --doctor` | 运行健康诊断 | | `r2mo providers` | 显示 LLM 提供商信息 | | `r2mo harness` | 显示验证线束信息 | | `r2mo memory` | 显示记忆模块信息 | | `r2mo monitor` | 显示监控模块信息 | | `r2mo project` | 显示项目信息 | | `r2mo sessions` | 列出历史会话 | | `r2mo resume --last` | 恢复最近一次会话 | | `r2mo resume --id ` | 恢复指定会话 | | `r2mo fork --id ` | 分叉指定会话 | | `r2mo update` | 更新到最新版本 | | `r2mo --version` | 显示版本号 | ## TUI 工作区 启动后进入终端工作区,布局如下: ``` ┌─────────────── 项目区 ──────────────────┐ │ R² · 上下文 / 版本号 │ ├─────────── 聊天区 ───────┬─ 右侧边栏 ──┤ │ ┌ 交互区 ──────────────┐ │ 待办区 │ │ │ 用户消息 / 工具输出 │ │ 计划区 │ │ ├ 反馈区 ──────────────┤ │ 任务区 │ │ │ AI 回复 + footer │ │ 代理区 │ │ └──────────────────────┘ │ │ ├─────────── 编辑区 ───────┤ │ │ > 输入提示词... │ │ ├─────────── 状态区 ───────┴─────────────┤ │ 运行行:模式 · 处理动画 · 令牌用量 │ │ 上下文行:Git · 上下文% · 内存 · 费用 │ │ 工具行:Bash · Read · Write · Grep · Team│ └────────────────────────────────────────┘ ``` ### 区域说明 | 区域 | 说明 | 对应模块 | |------|------|---------| | 项目区 | 顶部项目上下文信息 | `src/tui/context/` | | 交互区 | 用户消息和工具输出 | `src/tui/transcript/` | | 反馈区 | AI 回复和执行状态 | `src/tui/transcript/footer.rs` | | 编辑区 | 提示词输入 | `src/tui/layout/composer.rs` | | 待办区 | Todo 列表 | `src/tui/layout/side_panel.rs` | | 计划区 | 执行计划 | `src/tui/layout/side_panel.rs` | | 任务区 | 任务列表 | `src/tui/layout/side_panel.rs` | | 代理区 | Agent 列表 | `src/tui/layout/side_panel.rs` | | 状态区 | 三行状态信息 | `src/tui/status/` | ## TUI 内斜杠命令 在编辑区输入 `/` 开头的命令快速执行操作: ### 模型与推理 | 命令 | 说明 | 快捷键 | |------|------|--------| | `/model auto\|list` | 自动选择或切换模型 | | | `/effort min\|low\|medium\|high\|max` | 设置推理努力级别 | ⇧⇥ | | `/fast on\|off` | 切换轻量模型加速响应 | | ### 运行模式 | 命令 | 说明 | 快捷键 | |------|------|--------| | `/mode code\|plan\|debug\|review\|ask` | 切换运行模式 | ⇥ | | `/agents` | 打开模式选择面板 | | | `/plan` | 进入规划模式(生成计划不执行) | | | `/review` | 对当前变更进行代码审查 | | ### 提供商与认证 | 命令 | 说明 | |------|------| | `/provider add\|list\|remove` | 管理 LLM 提供商 | | `/auth login\|logout\|status` | 管理认证 | | `/security audit\|allow\|deny` | 安全审计与权限管理 | ### 会话管理 | 命令 | 说明 | 快捷键 | |------|------|--------| | `/new` | 新建会话 | | | `/resume --last` | 恢复最近会话 | ⌃R | | `/fork` | 分叉当前会话 | | | `/branch` | 分支会话(/fork 别名) | | | `/session list\|rename\|delete\|show` | 管理历史会话 | | | `/clear` | 清空当前对话 | | | `/rewind` | 回退指定轮次 | | | `/goal set\|show\|clear` | 设置会话目标 | | | `/stats` | 显示会话统计 | | | `/export md\|json` | 导出对话 | | ### 项目与任务 | 命令 | 说明 | |------|------| | `/init` | 扫描项目并生成 .r2mo/rules/*.mdc 规则文件 | | `/tasks list\|show` | 查看项目任务 | | `/task-done` | 查看所有任务(按日期树型展示) | | `/harness status\|verify` | 验证线束 | | `/memory list\|edit` | 管理记忆文件 | ### 工具与配置 | 命令 | 说明 | |------|------| | `/permissions allow\|deny\|list` | 管理工具权限 | | `/mcp list\|add\|remove` | 管理 MCP 服务器 | | `/skills` | 列出可用技能 | | `/hooks list\|enable\|disable` | 配置生命周期钩子 | | `/theme list\|set\|reset` | 管理 TUI 主题 | | `/settings` | 打开设置面板(音效、语言、风格) | ### 文件操作 | 命令 | 说明 | |------|------| | `/edit` | 编辑文件 | | `/diff` | 查看未提交变更 | | `/copy` | 复制文件 | | `/rename` | 重命名或移动文件 | ### 上下文与诊断 | 命令 | 说明 | |------|------| | `/compact` | 压缩对话上下文释放 token | | `/context` | 显示上下文窗口使用情况 | | `/cost` | 显示令牌使用量和预估费用 | | `/status` | 显示当前模型、努力级别和会话状态 | | `/doctor` | 运行 CLI 健康诊断 | | `/feedback bug\|feature` | 提交反馈 | ### 退出 | 命令 | 说明 | |------|------| | `/quit` | 退出 R2MO(需确认) | | `/exit` | 退出 R2MO(/quit 别名) | | `/help` | 显示帮助 | F1 | ### Team 模式 | 命令 | 说明 | |------|------| | `/team spawn\|list\|kill\|status` | 开团/管理 Worker | ## 配置路径 | 路径 | 说明 | |------|------| | `~/.r2mo/r2-config.json` | 全局配置 | | `~/.r2mo/r2-auth.json` | 全局认证 | | `~/.r2mo/providers/` | 全局提供商配置 | | `~/.r2mo/state/` | 全局状态 | | `~/.r2mo/secrets/` | 全局密钥 | | `.r2mo/r2-config.json` | 项目配置 | | `.r2mo/r2-config.local.json` | 项目本地配置(不入库) | | `.r2mo/providers/` | 项目提供商配置 | | `.r2mo/rules/*.mdc` | 项目 MDC 规则文件 | | `.r2mo/task/*.md` | 任务文件 | | `.r2mo/bugs/` | Bug 记录 | ## 开发 ```bash # Rust 编译 cargo build cargo test # npm 构建 npm run build npm run lint # 本地全局安装(开发用) npm run build && npm install -g . # 打包检查 npm pack --dry-run ``` ## 技术栈 - **语言**: Rust (edition 2024) - **TUI 框架**: ratatui + crossterm - **异步运行时**: tokio - **Markdown 渲染**: pulldown-cmark - **语法高亮**: syntect - **音频**: rodio - **剪贴板**: arboard - **分发**: npm 全局包(内含编译好的二进制) ## License MIT