grok-cli
grok-cli 是一款由社区构建的开源命令行智能体,核心驱动力来自 xAI 的 Grok 大模型。它旨在解决开发者在编码、调试及项目维护中重复性高、上下文切换频繁的问题,将复杂的 AI 协作能力直接融入终端工作流。
这款工具特别适合习惯使用命令行的开发者、DevOps 工程师及技术研究人员。无论是进行实时代码重构、运行测试套件,还是自动化执行桌面操作(如 macOS 上的截图),grok-cli 都能通过自然语言指令高效完成。其独特亮点在于深度集成了 Grok 的实时 X 搜索与网页搜索能力,默认启用多子代理协作机制,并支持通过 Telegram 实现手机远程操控。此外,它基于 Bun 和 OpenTUI 打造,提供了流畅的交互式终端界面,同时也支持无头模式以适配 CI/CD 流水线或批量任务处理。作为一个非官方但功能强大的辅助工具,grok-cli 让开发者能在熟悉的终端环境中,享受兼具速度与智能的编程体验。
使用场景
某全栈开发者需要在深夜紧急修复一个涉及前端构建失败和后端接口异常的复杂遗留项目,且手边只有手机可用。
没有 grok-cli 时
- 信息检索割裂:开发者需手动在搜索引擎、Stack Overflow 和 X 平台之间切换,难以获取最新的框架报错解决方案或实时社区动态。
- 多步操作繁琐:修复过程涉及查看日志、定位代码、运行测试和重构,必须反复手动输入命令并复制粘贴上下文,极易出错且耗时。
- 无法远程接管:离开电脑后无法继续工作,只能等待回到工位处理,导致紧急故障响应延迟,错过最佳修复窗口。
- 缺乏自动化闭环:简单的验证任务(如跑通测试套件)也需要人工全程盯着终端输出,无法实现“下达指令后自动完成”的无人值守模式。
使用 grok-cli 后
- 实时智能搜索:grok-cli 直接调用 Grok 的实时 X 搜索和网络搜索能力,瞬间聚合最新的技术讨论和官方文档,精准定位罕见报错原因。
- 自主代理执行:内置的子代理自动完成从读取日志、修改代码到运行测试的全流程,开发者只需确认最终结果,大幅减少机械性敲击。
- 移动端远程驱动:通过 Telegram 配对功能,开发者在手机上即可实时监控终端进度并下发新指令,真正实现随时随地修复线上问题。
- 低成本批量运行:利用
--batch-api模式,让 grok-cli 在后台低成本自动执行耗时的代码审查或夜间重构任务,次日直接查看结构化 JSON 报告。
grok-cli 将分散的开发工具链整合为具备实时感知和远程操控能力的自主代理,让开发者从繁琐的命令行操作中解放出来,专注于核心决策。
运行环境要求
- macOS
- Linux
未说明
未说明

快速开始
有许多编码代理。这个由 Grok 提供支持。
其余部分则互相借鉴。我们从所有这些项目中汲取灵感,然后将其与Grok连接起来——实时X 搜索、网页搜索、grok-code-fast-1 以及完整的 Grok 模型系列,默认启用子代理,通过 Telegram 远程控制(只需配对一次,即可在 CLI 运行时通过手机操控代理),还有一个不会让人觉得仓促拼凑而成的终端 UI。
开源。原生终端。使用 Bun 和 OpenTUI 构建。如果你既想要氛围感又追求速度,那么你来对了仓库。
社区共建且非官方。本项目与 xAI 无任何关联,也未获得其认可,并非官方的 Grok CLI。
https://github.com/user-attachments/assets/7ca4f6df-50ca-4e9c-91b2-d4abad5c66cb
安装
curl -fsSL https://raw.githubusercontent.com/superagent-ai/grok-cli/main/install.sh | bash
替代安装方式(需要将 Bun 添加到 PATH):
bun add -g grok-dev
自我管理(仅限脚本安装):
grok update
grok uninstall
grok uninstall --dry-run
grok uninstall --keep-config
先决条件: 一个来自 x.ai 的 Grok API 密钥,以及用于交互式 OpenTUI 体验的现代终端模拟器。无头 --prompt 模式并不依赖于终端 UI 支持。如果你想通过内置的计算机子代理实现主机桌面自动化,还请在 macOS 上为你的终端应用启用 辅助功能 权限。
运行它
交互式(默认) — 启动 OpenTUI 编码代理:
grok
支持的终端
为了获得最可靠的交互式 OpenTUI 体验,请使用现代终端模拟器。目前我们记录并推荐以下几种:
- WezTerm(跨平台)
- Alacritty(跨平台)
- Ghostty(macOS 和 Linux)
- Kitty(macOS 和 Linux)
其他现代终端也可能适用,但这些是我们目前推荐并记录用于交互式使用的终端应用。
选择项目目录:
grok -d /path/to/your/repo
无头模式 — 一个提示后退出(脚本、CI、自动化):
grok --prompt "运行测试套件并总结失败"
grok -p "给我看看 package.json" --directory /path/to/project
grok --prompt "重构 X" --max-tool-rounds 30
grok --prompt "总结仓库状态" --format json
grok --prompt "整夜审查仓库" --batch-api
grok --verify
--batch-api 使用 xAI 的批量 API,以更低的成本进行无人值守的运行。它非常适合脚本、CI、定时任务以及其他不需要即时结果的非交互式工作流。
继续已保存的会话:
grok --session latest
grok -s <session-id>
同样适用于交互式模式——使用相同的标志。
结构化无头输出:
grok --prompt "总结仓库状态" --format json
--format json 会输出以换行符分隔的 JSON 事件流,而不是默认的人类可读文本输出。这些事件是语义化的步骤级记录,例如 step_start、text、tool_use、step_finish 和 error。
计算机子代理
Grok 自带一个由 [agent-desktop](https://github.com/lahfir/agent-desktop) 支持的内置 **computer** 子代理,用于在 macOS 上实现主机桌面自动化。
你可以用自然语言请求它,例如:
grok "使用计算机子代理截取我的主机桌面截图,并告诉我当前打开了哪些内容。"
grok "使用计算机子代理打开 Google Chrome,拍摄界面快照,并告诉我地址栏和标签页分别对应哪些引用。"
注意事项:
- 截图默认保存在
**.grok/computer/**目录下。 - 主要的工作流程是 截图 -> 引用 -> 操作 -> 截图,利用
agent-desktop的辅助功能截图和稳定的引用,如@e1。 computer_screenshot可用于视觉确认,但更推荐的方式是使用computer_snapshot结合基于引用的操作,如computer_click、computer_type和computer_scroll。- 在 macOS 上,终端应用运行
grok时需要 系统设置 → 隐私与安全性 → 辅助功能 的访问权限。 agent-desktop目前仅支持 macOS。- 如果在安装过程中 Bun 阻止了原生二进制文件的下载,请运行:
node ./node_modules/agent-desktop/scripts/postinstall.js
定时任务
定时任务可以让 Grok 按照固定的时间表或一次性地运行无头提示。你可以用自然语言来请求,例如:
创建一个名为 daily-changelog-update 的定时任务,每周工作日早上 9 点运行,
并根据最新的合并提交更新 CHANGELOG.md 文件。
重复性的定时任务需要后台守护进程:
grok daemon --background
在 TUI 中使用 /schedule 可以浏览已保存的定时任务。一次性任务会立即在后台开始执行;而重复性任务则会在守护进程保持运行期间持续执行。
列出 Grok 模型及定价提示:
grok models
无需额外提示直接传递开场白:
grok 修复 src/foo.test.ts 中的不稳定测试
从聊天中生成图片或短视频:
grok "为我的名为 Grok Forge 的命令行工具设计一个复古未来主义的 logo"
grok "将 ./assets/hero.png 编辑成一幅水彩海报"
grok "将 ./assets/cover.jpg 动画化为一段 6 秒的电影级推入镜头"
图像和视频生成作为代理工具嵌入到正常的聊天会话中。你会继续使用文本模型进行会话,而生成的媒体默认会保存在 .grok/generated-media/ 目录下,除非你指定了特定的输出路径。
你实际能获得的内容
| 项目 | 含义 |
|---|---|
| Grok原生 | 针对Grok优化的默认配置;包括诸如**grok-code-fast-1**、**grok-4-1-fast-reasoning**、**grok-4.20-multi-agent-0309**等模型,以及旗舰版和快速版——运行grok models即可查看完整列表。 |
| X + 网络搜索 | **search_x** 和 **search_web** 工具——实时获取帖子和文档,无需假装互联网停留在2023年。 |
| 媒体生成 | 内置的**generate_image** 和 **generate_video** 工具,支持文生图、图像编辑、文生视频和图生视频流程。生成的文件会本地保存,以便在xAI URL失效后仍可重复使用。 |
| 子代理(默认行为) | 前台**task**委派(例如探索、通用或计算机任务),加上后台**delegate**用于只读深度分析——真正实现并行化操作。 |
| 验证 | **/verify** 或 **--verify** — 检查你的应用,构建、测试、启动,并在沙盒环境中运行浏览器冒烟测试。包含截图和视频。 |
| 计算机使用 | 内置的**computer**子代理,通过**agent-desktop**实现主机桌面自动化。它优先使用语义化的无障碍快照和稳定引用,必要时会在**.grok/computer/**目录下保存截图。 |
| 自定义子代理 | 在**~/.grok/user-settings.json**中使用**subAgents**定义命名代理,并通过TUI中的**/agents**进行管理。 |
| 远程控制 | 从TUI配对Telegram(/remote-control → Telegram):向机器人发送私信,输入**/pair**,并在终端确认代码。保持CLI运行,同时可用手机与之交互。 |
| 无“隐藏式”界面 | OpenTUI React终端界面——快速、键盘驱动,绝非你想象中的那些卡顿工具。 |
| 技能 | 代理技能位于**.agents/skills/<name>/SKILL.md**(项目级)或**~/.agents/skills/**(用户级)。使用TUI中的**/skills**可列出已安装的技能。 |
| MCPs | 可通过模型上下文协议服务器扩展功能——可通过TUI中的**/mcps**或**.grok/settings.json**(mcpServers)进行配置。 |
| 会话 | 对话状态持久保留;**--session latest**会从上次中断的地方继续。 |
| 无头模式 | 使用**--prompt** / **-p**进行非交互式运行——可管道处理、脚本化或基准测试。 |
| 可 hack | TypeScript、清晰的代理循环、以Bash为主的工具——随意fork,大胆使用。 |
即将推出
更深入的自主代理测试 — 持久化的沙盒会话、更丰富的浏览器工作流,以及更强有力的“证明其有效”的证据。
API密钥(任选其一)
环境变量(适合CI):
export GROK_API_KEY=your_key_here
项目中的**.env**文件(如有.env.example,请参考):
GROK_API_KEY=your_key_here
CLI一次性设置:
grok -k your_key_here
保存在用户设置中 — ~/.grok/user-settings.json:
{ "apiKey": "your_key_here" }
可选的**subAgents**——自定义前台子代理。每个条目需包含**name**、**model**和**instruction**:
{
"subAgents": [
{
"name": "security-review",
"model": "grok-code-fast-1",
"instruction": "优先考虑安全影响,并提出具体的修复建议。"
}
]
}
代理名称不能为general、explore、vision、verify或computer,因为这些名称已被内置子代理预留。
可选:**GROK_BASE_URL**(默认https://api.x.ai/v1)、**GROK_MODEL**、**GROK_MAX_TOKENS**。
Telegram(远程控制)——简要说明
- 使用@BotFather创建一个机器人,复制令牌。
- 设置
**TELEGRAM_BOT_TOKEN**,或将**telegram.botToken**添加到~/.grok/user-settings.json中(TUI中的**/remote-control**流程也可保存)。 - 启动
**grok**,必要时打开**/remote-control**→ Telegram,然后在Telegram中向机器人发送私信:`/pair``,并在终端提示时输入6位字符代码**。 - 第一位用户需要手动批准一次,之后系统会记住该用户。请保持CLI进程运行,以便持续使用机器人(长轮询功能依赖于该进程)。
语音与音频消息
在 Telegram 中发送语音消息或音频附件,Grok 会使用 whisper.cpp 在本地将其转录为文本,然后再将文本传递给代理。整个过程不涉及任何云端的语音识别服务——一切都在你的设备上运行。
前置条件
| 依赖项 | 作用 | 安装(macOS) |
|---|---|---|
| whisper-cli | 执行实际的语音转文本推理 | brew install whisper-cpp |
| ffmpeg | 将 Telegram 的语音消息(OGG/Opus 格式)转换为 whisper.cpp 可接受的 WAV 格式 | brew install ffmpeg |
安装完成后,请验证两者是否可用:
whisper-cli -h
ffmpeg -version
下载 Whisper 模型
Grok CLI 会在首次使用时自动下载配置的模型,但你也可以提前下载:
mkdir -p ~/.grok/models/stt/whisper.cpp
curl -L https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.en.bin \
-o ~/.grok/models/stt/whisper.cpp/ggml-tiny.en.bin
可用的模型(大小与准确率成反比):tiny.en(75 MB)、base.en(142 MB)、small.en(466 MB)。
在 ~/.grok/user-settings.json 中配置
{
"telegram": {
"botToken": "YOUR_BOT_TOKEN",
"audioInput": {
"enabled": true,
"binaryPath": "/opt/homebrew/bin/whisper-cli",
"model": "tiny.en",
"modelPath": "~/.grok/models/stt/whisper.cpp/ggml-tiny.en.bin",
"autoDownloadModel": true,
"language": "en"
}
}
}
| 设置 | 默认值 | 描述 |
|---|---|---|
enabled |
true |
设置为 false 可以完全忽略语音/音频消息。 |
binaryPath |
whisper-cli |
whisper.cpp CLI 二进制文件的绝对路径或命令名。 |
model |
tiny.en |
用于自动下载解析的模型别名。 |
modelPath |
(自动解析) | 显式指定 .bin 模型文件的路径。会覆盖 model 和自动下载设置。 |
autoDownloadModel |
true |
在首次使用时将模型下载到 ~/.grok/models/stt/whisper.cpp 目录中。 |
language |
en |
传递给 CLI 的 Whisper 语言代码。 |
如果你不想打开 TUI 界面,可以使用无头模式:
grok telegram-bridge
请将机器人令牌视为密码。
钩子
钩子可以在代理生命周期的关键事件触发时执行 Shell 命令——例如强制执行策略、运行代码检查工具、触发测试或记录活动。
在 ~/.grok/user-settings.json 中进行配置:
{
"hooks": {
"PreToolUse": [
{
"matcher": "bash",
"hooks": [
{
"type": "command",
"command": "./scripts/lint-before-edit.sh",
"timeout": 10
}
]
}
]
}
}
钩子命令会从 stdin 接收 JSON 数据(包含事件详情),并可以从 stdout 返回 JSON 数据。退出码 0 表示成功,2 表示阻止操作,其他值表示非阻塞错误。
支持的事件: PreToolUse、PostToolUse、PostToolUseFailure、UserPromptSubmit、SessionStart、SessionEnd、Stop、StopFailure、SubagentStart、SubagentStop、TaskCreated、TaskCompleted、PreCompact、PostCompact、Notification、InstructionsLoaded、CwdChanged。
指令与项目知识库
**AGENTS.md**— 从 Git 仓库根目录合并到当前工作目录的内容(类似 Codex 风格;详见仓库文档)。如果某个目录下存在**AGENTS.override.md**文件,则优先使用该文件。
项目设置
项目文件:**.grok/settings.json** — 例如,用于指定该项目使用的模型。
沙盒
Grok CLI 可以在 Shuru 微虚拟机沙盒中运行 Shell 命令,从而确保代理无法访问宿主机的文件系统或网络。
需要 macOS 14+ 且搭载 Apple Silicon 芯片。
通过命令行参数 --sandbox 启用,或者在 TUI 中使用 /sandbox 切换。
当沙盒模式启用时,你可以配置以下内容:
- 网络 — 默认关闭;可通过
--allow-net开启,并使用--allow-host进行限制。 - 端口转发 —
--port 8080:80 - 资源限制 — CPU、内存、磁盘空间(可通过设置或
/sandbox面板调整)。 - 检查点 — 从保存的环境快照启动。
- 密钥 — 注入 API 密钥,而无需在虚拟机内部暴露它们。
所有设置都会保存在 ~/.grok/user-settings.json(用户级)和 .grok/settings.json(项目级)中。
验证
在 TUI 中运行 **/verify** 或在命令行中使用 **--verify** 来本地验证你的应用:
grok --verify
grok -d /path/to/your/app --verify
代理会检查你的项目,确定如何构建和运行它,然后启动一个沙盒环境,并生成包含截图和视频证据的验证报告。适用于任何类型的应用程序。
开发
从克隆的代码库开始:
bun install
bun run build
bun run start
# 或:node dist/index.js
其他常用命令:
bun run dev # 从源代码运行(Bun)
bun run typecheck
bun run lint
许可证
MIT
版本历史
grok-dev@1.1.5-rc52026/04/13grok-dev@1.1.5-rc42026/04/11grok-dev@1.1.5-rc32026/04/09grok-dev@1.1.5-rc22026/04/07grok-dev@1.1.5-rc12026/04/06grok-dev@1.1.42026/04/05grok-dev@1.1.4-rc52026/04/03grok-dev@1.1.4-rc42026/04/03grok-dev@1.1.4-rc32026/04/03grok-dev@1.1.4-rc22026/04/03grok-dev@1.1.4-rc12026/04/03grok-dev@1.1.32026/04/01grok-dev@1.1.22026/04/01grok-dev@1.1.12026/04/01grok-dev@1.1.02026/03/26grok-dev@1.0.0-rc72026/03/25grok-dev@1.0.0-rc62026/03/24grok-dev@1.0.0-rc52026/03/23grok-dev@1.0.0-rc42026/03/23grok-dev@1.0.0-rc32026/03/22常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器