Grok CLI
综合介绍
grok-cli 是一个开源的人工智能命令行工具,它将 xAI 的 Grok 大语言模型的功能直接集成到了用户的终端环境中。 用户可以通过自然语言对话的方式,让 AI 执行各种开发任务,而不需要手动输入复杂的命令。这个工具的核心是让 AI 作为一个智能代理,能够理解用户的意图,并自动选择和使用合适的工具来完成任务。 例如,它可以根据用户的指令自动读写文件、执行 Shell 命令、搜索目录结构等。 grok-cli 通过一个美观的交互式界面接收指令,使得与 AI 的协作更加直观和高效。 此外,它还支持用户通过创建特定的 Markdown 文件来为项目提供定制化的指令,让 AI 的行为和输出更符合特定项目的规范和风格。
功能列表
- 对话式AI: 基于 Grok-3 模型,用户可以使用自然语言与AI进行流畅的对话和下达指令。
- 智能文件操作: AI能够自动使用工具来查看、创建、编辑和修改文件。
- Bash命令集成: 支持通过自然语言对话来执行 Shell 命令,例如查找文件或列出目录。
- 工具自动选择: AI会根据用户的请求,智能地判断并选择最合适的工具来完成任务。
- 交互式终端界面: 采用 Ink 构建了美观且用户友好的终端界面,提升了交互体验。
- 全局安装: 可以通过 npm 进行全局安装,方便在系统的任何路径下调用。
- 自定义指令: 用户可以在项目目录下创建
.grok/GROK.md
文件,为特定项目提供个性化的行为准则,例如编码规范、代码风格等。 - 指定工作目录: 允许用户在启动时通过参数指定一个特定的工作目录。
使用帮助
grok-cli 作为一个强大的命令行AI助手,旨在将Grok的强大能力带入开发者的日常工作流程中。下面将详细介绍如何安装、配置和使用这个工具。
1. 安装准备
在安装 grok-cli 之前,你需要确保你的系统满足以下两个基本条件:
- Node.js: 需要
16
或更高版本的 Node.js 环境。你可以通过在终端输入node -v
来检查当前版本。 - Grok API Key: 你需要拥有一个来自 X.AI 的 Grok API 密钥。这个密钥是使用 Grok 模型的凭证,可以从 xAI 的官方控制台获取。
2. 安装流程
推荐使用 npm
进行全局安装,这样你就可以在系统的任何位置运行 grok
命令。
打开你的终端,然后输入以下命令:
npm install -g @vibe-kit/grok-cli
安装过程可能需要一些时间,请耐心等待。安装完成后,grok
命令即可使用。
如果你是开发者,希望对项目进行修改或贡献,也可以通过本地开发的方式安装:
git clone https://github.com/superagent-ai/grok-cli.git
cd grok-cli
npm install
npm run build
npm link
3. 配置API密钥
为了让 grok-cli 能够成功调用 Grok API,你需要配置你的 API 密钥。有三种方法可以进行设置:
方法一:设置环境变量(推荐)这是最常用和推荐的方法,因为它不会将密钥硬编码到任何文件中。
export GROK_API_KEY="在此处粘贴你的API密钥"
你需要将 "在此处粘贴你的API密钥"
替换成你自己的密钥。为了让这个配置长期有效,建议将这行命令添加到你的 Shell 配置文件中(例如 .bashrc
, .zshrc
)。
方法二:使用 .env
文件如果你是在一个具体的项目中使用 grok-cli,可以在项目根目录下创建一个 .env
文件来管理密钥。首先,将官方提供的示例文件复制一份:
cp .env.example .env
然后,使用文本编辑器打开 .env
文件,将你的 API 密钥填入其中。
方法三:作为命令行参数你也可以在每次启动 grok-cli 时,通过命令行参数临时指定 API 密钥。这种方法比较繁琐,但对于临时测试很有用。
grok --api-key "在此处粘贴你的API密钥"
4. 基本使用
配置完成后,就可以开始使用了。
启动AI助手:在终端中直接输入 grok
命令,即可启动对话式AI助手。
grok
启动后,你会看到一个交互式界面,你可以在此输入你的指令。
指定工作目录:如果你想让 Grok 在你指定的项目目录中工作,可以使用 -d
或 --directory
参数。
grok -d /path/to/your/project
这样,Grok 的所有文件操作和命令执行都会在这个目录下进行。
5. 高级功能:自定义指令
这是一个非常强大的功能,可以让你根据项目需求“训练”Grok的行为。你可以在你的项目根目录下创建一个名为 .grok
的文件夹,并在其中创建一个 GROK.md
文件。
mkdir .grok
touch .grok/GROK.md```
然后,使用Markdown语法在 `GROK.md` 文件中编写你希望 Grok 遵守的规则。例如:
```markdown
# Grok CLI 自定义指令
- 为所有新代码文件使用 TypeScript。
- 创建 React 组件时,总是使用函数式组件和 Hooks。
- 在能提升代码清晰度的地方,使用显式类型定义而非类型推断。
- 为所有公开的函数和接口添加 JSDoc 注释。
- 严格遵循本项目现有的代码风格和设计模式。
当你在该项目目录下启动 grok
时,它会自动加载并遵循这些指令。这些自定义指令会被添加到 Grok 的系统提示词中,并拥有较高的优先级。
6. 交互示例
你不再需要死记硬背各种命令,只需要像和人聊天一样告诉 grok-cli 你想做什么:
- 查看文件内容:
"给我看看
package.json
文件里有什么内容" - 创建文件并写入内容:
"创建一个新文件
hello.js
,内容是一个简单的console.log
" - 查找文件:
"在
src
目录下找到所有的 TypeScript 文件" - 修改文件内容:
"在所有 JS 文件中,把 'oldFunction' 替换成 'newFunction'"
- 执行测试:
"运行测试并告诉我结果"
- 了解项目结构:
"当前项目的目录结构是怎样的?"
通过这些自然语言指令,grok-cli 会调用对应的文件操作或Bash工具来完成任务,极大地简化了开发流程。
应用场景
- 代码生成与重构当你需要快速生成样板代码、根据现有代码风格创建新组件,或者对已有代码进行批量重构时,可以直接通过自然语言描述需求,让 grok-cli 自动完成文件的创建和修改。
- 项目理解与导航对于一个不熟悉的新项目,你可以通过向 grok-cli 提问来快速了解项目结构、关键文件内容和依赖关系,而无需手动逐一打开文件查看。
- 自动化脚本执行你可以用自然语言指示 grok-cli 执行一系列Shell命令,例如编译项目、运行测试、打包应用等。这比编写和维护复杂的 shell 脚本要简单得多。
- 学习与探索当学习新的编程语言或框架时,可以利用 grok-cli 即时创建示例文件、运行代码片段,并快速获得反馈,加速学习过程。
QA
- grok-cli 和其他AI编码助手有什么不同?grok-cli 的核心特点是它深度集成了本地开发环境的操作能力,如文件系统和Shell。它不仅仅是生成代码建议,而是作为一个能够直接执行任务的“智能体”,通过自然语言驱动完成实际操作。
- 使用 grok-cli 是否需要付费?grok-cli 本身是开源免费的。 但是,它依赖于 Grok API,而调用 Grok API 是需要付费的。你需要从 X.AI 获取 API 密钥并根据其定价策略支付相应费用。
- 我的代码和数据是否安全?grok-cli 在本地运行,但它会将你的指令、相关代码片段和自定义指令发送到 Grok API 进行处理。因此,数据的处理方式遵循 X.AI 的隐私政策。对于高度敏感的代码,建议在使用前详细了解相关政策。
- 是否可以与特定的编程语言或框架一起使用?是的。通过自定义指令功能,你可以让 grok-cli 的行为适应任何编程语言或框架的规范,无论是前端的 React、Vue,还是后端的 Python、Java。你可以在
.grok/GROK.md
文件中定义相关的编码标准。