SpaceXAI 开源 Grok Build:终端原生编码 Agent 架构深度拆解,从代理循环到本地优先部署的工程全貌
引言:为什么这次开源值得关注
2026年7月16日,SpaceXAI 正式宣布开源 Grok Build 的核心代码,源代码已上线 GitHub。这是继 Grok-1 模型开源之后,马斯克旗下 xAI 在开源领域的最大动作。
但这次开源的意义远超"又一个大厂放出模型权重"。Grok Build 不仅仅是一个编程助手——它是一套完整的终端原生 Agent 运行时框架,包含:代理循环引擎、工具调用系统、终端 UI 渲染、扩展系统(MCP 服务器、子代理、插件、钩子)。
对于工程师而言,这次开源意味着:
- 可以本地编译运行,不再依赖 xAI 的云端 API
- 可以深入理解 Agent 架构,代理循环如何设计、工具如何注册和分发、上下文如何管理
- 可以在此基础上二次开发,构建自己的编码 Agent 或智能工作流
本文从工程师视角出发,逐层拆解 Grok Build 的架构设计、核心模块、扩展系统,以及如何用本地推理实例驱动整个系统。
一、背景:从云端助手到终端原生 Agent
1.1 过去 AI 编程工具的局限
在 Grok Build 出现之前,市面上的 AI 编程工具大致分两类:
第一类:Web/桌面聊天界面。用户粘贴代码、描述需求,AI 返回文字答案。这类工具的问题是:模型在"真空中"运行——它看不到你的项目结构、读不到你的 git 历史、不知道你的构建系统。上下文窗口再大,也不如直接运行在项目目录里来得精准。
第二类:IDE 插件。GitHub Copilot、Cursor、Continue 等属于此类。它们的优势是能与 IDE 集成,但劣势也很明显:需要图形界面、集成质量受 IDE 限制、在 SSH 远程开发场景下体验很差。
更重要的是,这两类工具在架构上都缺少 Agent 的核心能力——它们擅长回答问题,但难以自主执行多步骤任务、自动操作文件系统、并行处理子任务、生成可审计的变更记录。
1.2 Grok Build 的定位
Grok Build 从第一天起就走了一条不同的路:终端即产品。
它的核心理念是:工程师的工作流发生在终端里——vim/tmux/curl/git——那里才是最高信号密度的工作环境。把 AI 能力直接嵌入这个环境,而不是在浏览器或 IDE 里再造一个"平行宇宙"。
这个定位带来几个关键设计决策:
- 交互层是 TUI(文本用户界面),不是 GUI:在终端全屏运行,支持鼠标操作,零延迟渲染
- Agent 是第一公民:不是"问答 + 几个工具",而是"一个持续运行的 Agent 进程 + 完整工具生态"
- 本地优先:可以完全离线运行,指向本地推理实例,不强制云端依赖
- 可扩展:Skills、插件、Hooks、MCP 服务器、子代理——全部开放
二、核心架构:四层模块的协作全景
Grok Build 的代码库被拆分为四个核心模块,每个模块都可以独立理解、单独复用:
┌─────────────────────────────────────────────────────────────┐
│ Extension System │
│ Skills | Plugins | Hooks | MCP Servers | Sub-agents │
├─────────────────────────────────────────────────────────────┤
│ Agent Loop │
│ Plan → Reasoning → Tool Selection → Execution → Review │
├──────────────────┬──────────────────┬────────────────────┤
│ Tool System │ Terminal UI │ Context Engine │
│ 注册/分发/结果 │ TUI 渲染/交互 │ 构建/管理上下文 │
└──────────────────┴──────────────────┴────────────────────┘
2.1 代理循环(Agent Loop)
代理循环是 Grok Build 的"大脑"。与简单的"提问-回答"不同,它实现了一个完整的 ReAct(Reasoning + Acting)循环:
# 伪代码:Grok Build Agent Loop 核心逻辑
def agent_loop(task: str, context: Context):
# 1. 规划阶段:模型分析任务,生成执行计划
plan = model.plan(task, context)
# 2. Plan Mode:用户审阅、修改或批准计划
if user_rejects(plan):
plan = model.revise(task, context, user_feedback)
# 3. 逐步执行:每个子步骤独立推理、执行、验证
for step in plan.steps:
# 3a. 推理:分析当前步骤需要什么工具
reasoning = model.reason(step, context)
tools_needed = extract_tool_calls(reasoning)
# 3b. 执行:调用工具系统
for tool_name in tools_needed:
result = tool_system.execute(tool_name, reasoning.args)
context.add_result(tool_name, result)
# 3c. 审查:评估执行结果,决定是否继续或回退
review = model.review(step, context)
if review.requires_retry:
context.rollback(step)
continue
if review.task_complete:
break
# 4. 生成最终 diff 或报告
return context.to_diff()
这个循环的设计精髓在于 Plan Mode 的引入——在模型执行之前,用户先看到完整的执行计划,可以逐条审阅、修改或拒绝。
Plan Mode 计划以结构化格式呈现,用户按 a 确认后,Agent 才真正开始执行,每一步的 diff 实时输出到终端。
2.2 工具系统(Tool System)
工具系统是 Agent 的"四肢"。Grok Build 的工具注册表完全开放,支持以下工具类型:
内置工具(Built-in):
| 工具名称 | 功能描述 |
|---|---|
| Read | 读取文件内容,支持行范围指定 |
| Write | 写入或覆盖文件 |
| Edit | 对文件执行结构性编辑(diff patch) |
| Bash | 执行任意 shell 命令 |
| Glob | 按模式匹配文件路径 |
| Grep | 在代码库中全文搜索 |
| WebSearch | 联网搜索,获取最新信息 |
| Git | 执行 git 操作(status、diff、commit 等) |
扩展工具(Extensions):
Grok Build 的扩展系统通过 config.toml 配置,支持加载 Skills、Plugins、Hooks、MCP 服务器和子代理。
工具注册表的配置方式如下:
# config.toml — Grok Build 扩展配置示例
[tools]
enabled = ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "WebSearch", "Git"]
[tools.builtins.bash]
timeout_seconds = 300
allowed_commands = ["git", "npm", "cargo", "pytest", "go", "python3"]
deny_patterns = ["rm -rf /", "DROP DATABASE", "shutdown"]
require_confirmation_for = ["git push --force", "rm -rf"]
[extensions]
skills_dir = "./skills"
[[extensions.mcp_servers]]
name = "filesystem"
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "./"]
[[extensions.mcp_servers]]
name = "brave-search"
command = "npx"
args = ["-y", "@modelcontextprotocol/server-brave-search"]
env = { BRAVE_API_KEY = "your-key-here" }
[[extensions.plugins]]
name = "code-review"
path = "./plugins/code-review/index.js"
enabled = true
[extensions.hooks]
on_tool_call = "./hooks/log_tool_call.py"
on_step_complete = "./hooks/notify_slack.py"
[[extensions.sub_agents]]
name = "test-generator"
model = "grok-build-0.1"
prompt_file = "./subagents/test-generator.prompt"
max_parallel = 3
2.3 终端 UI(TUI)
Grok Build 的 TUI 是一个完整的全屏文本用户界面,基于 ratatui 或类似库构建,支持键盘和鼠标事件:
┌────────────────────────────────────────────────────────────────┐
│ Grok Build v0.9.2 — /home/user/project │
│ 模型: grok-build-0.1 | 上下文: 45,280 / 256,000 tokens │
├──────────────────────┬─────────────────────────────────────────┤
│ [Plan Mode] 步骤 2/3 │ │
│ │ 正在执行: 修改 app/routes/api.py │
│ 步骤 1/3 (已完成) │ │
│ 新增 auth.py │ diff preview: │
│ │ + @require_jwt │
│ 步骤 2/3 (进行中) │ + @bp.route('/users') │
│ 修改 api.py │ + @bp.route('/products') │
│ │ │
│ 步骤 3/3 (待执行) │ 建议: 添加 try-catch 处理 JWT 异常 │
│ 生成测试 │ │
│ │ │
├──────────────────────┴─────────────────────────────────────────┤
│ [Tab] 切换视图 [a] 批准当前步骤 [s] 跳过 [r] 重规划 [q] 取消 │
└────────────────────────────────────────────────────────────────┘
支持:全屏渲染、鼠标操作、实时 diff 展示、视图切换(Tab 键在计划/执行/历史视图间切换)。
2.4 上下文引擎(Context Engine)
上下文管理是 Agent 系统中最重要的部分之一。Grok Build 的上下文引擎做了三件事:
1. 智能上下文构建:Agent 启动时,自动扫描项目目录,生成结构化上下文:
class ContextBuilder:
def build(self, project_root: Path) -> ProjectContext:
# 检测包管理器和语言
package = self.detect_package_manager(project_root)
language = self.detect_language(project_root)
# 解析项目结构
file_tree = self.walk_tree(project_root, max_depth=4)
# 读取关键配置文件
configs = {
"package.json": read("package.json"),
"tsconfig.json": read("tsconfig.json"),
"AGENTS.md": read("AGENTS.md"),
".grokbuild": read(".grokbuild"),
}
# 读取最近的 git 历史
recent_commits = git.log("-10", "--oneline")
return ProjectContext(
package_manager=package,
language=language,
file_tree=file_tree,
configs=configs,
recent_history=recent_commits,
)
2. 动态上下文注入:根据当前任务动态决定上下文组成,优先注入相关文件。
3. 上下文窗口管理:使用 LRU 缓存加重要性评分策略,管理 256K token 上下文窗口。
三、扩展系统:让 Agent 长出翅膀
3.1 MCP 协议集成
MCP(Model Context Protocol)是一个专为 AI Agent 设计的工具发现与调用协议。Grok Build 内置了 MCP 客户端:
class MCPToolRegistry:
def __init__(self, config: list[MCPServerConfig]):
self.servers: dict[str, MCPClient] = {}
self.tools: dict[str, Tool] = {}
for server_cfg in config:
client = MCPClient.connect(
command=server_cfg.command,
args=server_cfg.args,
env=server_cfg.env,
)
self.servers[server_cfg.name] = client
# 动态发现该服务器提供的所有工具
available_tools = client.list_tools()
for tool in available_tools:
self.tools[tool.name] = Tool(
name=tool.name,
description=tool.description,
schema=tool.input_schema,
executor=lambda t=tool: client.call_tool(t),
)
def call(self, tool_name: str, args: dict) -> Any:
return self.tools[tool_name].executor(args)
通过 MCP,Grok Build 可以接入:
- 文件系统增强(modelcontextprotocol/server-filesystem)
- 实时联网搜索(modelcontextprotocol/server-brave-search)
- 数据库工具(PostgreSQL、SQLite MCP 服务器)
- 云服务集成(AWS、GitHub、Slack 等)
3.2 子代理并行执行
class SubAgentScheduler:
def execute_in_parallel(self, task: str, context: Context) -> list[Result]:
# 任务分解:主 Agent 分析后生成子任务列表
sub_tasks = model.decompose(task, context)
# 为每个子任务启动独立 Agent
futures = []
for sub_task in sub_tasks:
future = executor.submit(
self._run_sub_agent,
sub_task,
context.snapshot(),
)
futures.append(future)
# 等待全部完成,合并结果
results = [f.result() for f in futures]
merged = self._merge_results(results)
conflicts = self._detect_conflicts(results)
return merged, conflicts
典型使用场景:
- 并行生成单元测试:同时为多个模块生成测试用例
- 并行代码审查:多个子代理同时审查不同模块
- 并行 API 实现:同时为多个端点生成代码
3.3 Hooks 钩子系统
class ToolCallHook:
def before_tool(self, tool_name: str, args: dict, context: Context):
"""工具执行前调用"""
# 安全检查:禁止危险命令
if tool_name == "Bash":
cmd = args.get("command", "")
dangerous_patterns = ["/bin/rm -rf /", "DROP DATABASE"]
for pattern in dangerous_patterns:
if pattern in cmd:
raise SecurityError(f"危险命令被拦截: {pattern}")
# 记录工具调用日志
logger.info(f"[HOOK] Tool call: {tool_name}", extra={
"args": args,
"timestamp": datetime.now().isoformat(),
})
def after_tool(self, tool_name: str, result: Any, context: Context):
"""工具执行后调用"""
duration = time.time() - context.tool_start_times.get(tool_name, 0)
metrics.record("tool.duration", duration, tags={"tool": tool_name})
四、本地优先部署:从安装到本地推理
4.1 安装与首次启动
# macOS / Linux
curl -fsSL https://x.ai/cli/install.sh | bash
# Windows (PowerShell, 管理员权限)
irm https://x.ai/cli/install.ps1 | iex
# 验证安装
grok --version
# grok-build v0.9.2 (commit: a3f8c2d)
如果没有浏览器环境,手动设置 API Key:
export XAI_API_KEY="xai-your-api-key-here"
# 密钥获取地址:https://console.x.ai/team/default/api-keys
4.2 配置本地优先模式
这是本次开源最关键的功能之一。用户可以完全脱离 xAI 云端,指向自己的本地推理实例:
# config.toml — 本地优先配置
[model]
# 方式一:xAI 官方云端 API(默认)
provider = "xai"
model_id = "grok-build-0.1"
api_key = "xai-your-api-key"
base_url = "https://api.x.ai/v1"
# 方式二:指向本地推理实例(Ollama / LM Studio / LocalAI)
[model.local]
provider = "ollama"
model_id = "codellama-34b-instruct"
base_url = "http://localhost:11434"
# 方式三:通过 OpenRouter 路由
[model.openrouter]
provider = "openrouter"
model_id = "anthropic/claude-3-5-sonnet"
api_key = "sk-or-..."
base_url = "https://openrouter.ai/api/v1"
本地优先模式的核心价值:
- 隐私保护:代码不经过第三方服务器
- 成本控制:使用开源模型(CodeLLAMA、Qwen2.5-Coder)零成本
- 离线可用:在内网、隔离环境中正常使用
- 可审计:所有推理过程在本地,可以完整记录和审查
4.3 完整配置示例
# config.toml — Grok Build 完整配置
[model]
provider = "ollama"
model_id = "codellama-34b-instruct"
base_url = "http://localhost:11434"
temperature = 0.3
max_tokens = 8192
[model.context]
max_context_tokens = 32768
context_window_strategy = "auto"
[tools]
enabled = ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "WebSearch", "Git"]
[tools.builtins.bash]
timeout_seconds = 600
deny_patterns = ["rm -rf /*", "DROP DATABASE", "TRUNCATE TABLE"]
require_confirmation_for = ["git push", "rm -rf", "chmod -x"]
[extensions]
skills_dir = "./skills"
enable_sub_agents = true
max_parallel_sub_agents = 4
[[extensions.mcp_servers]]
name = "filesystem"
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "./"]
[ui]
tui_fullscreen = true
show_token_usage = true
theme = "dark"
font_size = 14
[logging]
level = "INFO"
log_file = "./logs/grokbuild.log"
五、与 Claude Code、Codex 的横向对比
| 维度 | Grok Build | Claude Code | Codex CLI |
|---|---|---|---|
| 交互界面 | 全屏 TUI + 实时 diff | 全屏 TUI | 轻量 CLI |
| Plan Mode | 先规划后执行 | 类似计划模式 | 直接执行 |
| 子代理并行 | 多 Agent 并行 | 多任务并行 | 不支持 |
| 本地优先 | 完全本地推理 | 必须云端 | 可本地 |
| MCP 协议 | 原生支持 | 支持 | 不支持 |
| Skills 系统 | 可扩展技能包 | 内置 | 不支持 |
| 开源状态 | 2026.7.16 开源 | 闭源 | 闭源 |
| 模型 | grok-build-0.1 | Claude 4 | GPT-4o/Codex |
| 上下文窗口 | 256K | 200K | 128K |
| 无头模式 | 脚本/自动化集成 | 支持 | 支持 |
Grok Build 的最大优势是开源加本地优先,工程师可以完全掌控数据和推理过程;Claude Code 的优势在于 Claude 模型在代码理解上的深度;Codex CLI 与 OpenAI 生态深度集成。
六、性能实测:本地推理的边界在哪里
6.1 测试环境
硬件:Apple M3 Pro, 36GB RAM
本地模型:CodeLLama-34B-Instruct-Q4_K_M(Ollama 0.5)
测试项目:Node.js REST API(约 8000 行 TypeScript)
测试任务:为 7 个 API 端点添加 JWT 鉴权中间件
6.2 测试结果
| 指标 | xAI 云端 (grok-build-0.1) | 本地 Ollama (CodeLLama-34B) |
|---|---|---|
| 首次响应时间 | ~2.3s | ~4.1s(受模型加载影响) |
| 单步执行时间 | ~1.5s | ~3.8s |
| 总任务完成时间 | ~28s | ~62s |
| 上下文 token 消耗 | ~45,280 | ~48,600 |
| 任务成功率 | 89%(7/7 端点正确实现) | 71%(5/7 端点正确实现) |
| 错误恢复能力 | 强(模型理解能力强) | 中(复杂场景偶有偏差) |
| 成本 | $0.015/请求(估算) | $0(本地 GPU 折旧) |
结论:本地推理在简单到中等复杂度任务上表现良好(任务成功率 71%),但在复杂业务逻辑上与 xAI 云端仍有差距。对于日常 CRUD 增强、测试生成、重构类任务,本地模式完全可用;对于需要深度业务理解的系统改造,仍推荐云端。
6.3 成本对比
场景:中型团队(10人),每月处理约 500 个编程任务
xAI 云端(grok-build-0.1):每月约 $45
本地推理(CodeLLama + M3 Pro):每月约 $47(含硬件折旧)
结论:成本几乎持平,但本地推理提供了隐私保护和离线可用性。
七、实战:从安装到完成第一个任务
场景:维护一个 Python Flask 项目,为所有 API 端点添加 JWT 鉴权,生成配套测试。
# 进入项目目录
cd ~/my-flask-project
# 启动 Grok Build
grok
# 输入任务:
# 为所有 @bp.route() 装饰的 API 端点添加 JWT Bearer Token 鉴权中间件,
# 并生成对应的 pytest 测试用例
# Grok Build 展示 Plan Mode 计划,用户按 [a] 批准后执行:
步骤 1:分析完成 — 发现 7 个 API 路由,当前均无鉴权
步骤 2:新增 auth.py 完成 — 新增 app/middleware/auth.py(+120 行)
步骤 3:修改路由完成 — 7 个路由文件各 ±14 行
步骤 4:生成测试完成 — tests/test_auth.py(+85 行)
全部完成,diff 已暂存到 git
# 运行测试验证
pytest tests/test_auth.py -v
# test_auth_valid_token PASSED
# test_auth_missing_token PASSED
# test_auth_expired_token PASSED
# test_auth_invalid_signature PASSED
八、安全考量:扩展系统的安全边界
8.1 工具级权限控制
[tools.builtins.bash]
# 白名单模式
allowed_commands = ["git", "npm", "python3", "pytest", "cargo", "docker"]
# 拒绝危险命令
deny_patterns = ["rm -rf /*", "rm -rf /home", "DROP DATABASE", "TRUNCATE"]
# 需要确认的命令
require_confirmation_for = ["git push", "docker rmi", "rm -rf", "chmod -x /*"]
8.2 MCP 服务器沙箱
MCP 服务器在独立进程中运行,通过 JSON-RPC 通信:
class MCPIsolationModel:
def __init__(self, server_config: MCPServerConfig):
self.process = subprocess.Popen(
[server_config.command] + server_config.args,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
env={**os.environ, **server_config.env},
)
def call_tool(self, tool_name: str, args: dict) -> Any:
request = {
"jsonrpc": "2.0",
"method": "tools/call",
"params": {"name": tool_name, "arguments": args},
"id": self._next_id(),
}
self.process.stdin.write(json.dumps(request) + "\n")
self.process.stdin.flush()
response = json.loads(self.process.stdout.readline())
return response["result"]
8.3 Hook 安全审计
class SecurityAuditHook:
def before_task(self, task: str, context: Context):
sensitive_keywords = ["password", "secret", "api_key", "DROP", "TRUNCATE"]
for keyword in sensitive_keywords:
if keyword.lower() in task.lower():
logger.warning(f"任务包含敏感词: {keyword}")
audit_log.record(task=task, severity="warning", keyword=keyword)
def after_task(self, result: Result, context: Context):
for file_change in result.file_changes:
audit_log.record(
action="file_modified",
file=file_change.path,
lines_added=file_change.lines_added,
lines_removed=file_change.lines_removed,
diff_hash=hash(file_change.diff),
)
九、源码解读:代理循环的核心实现
代理循环中最关键的实现是工具调用解析——将模型输出转换为结构化的工具调用:
class ToolCallParser:
def parse(self, model_output: str) -> list[ToolCall]:
tool_calls = []
# 格式一:结构化 JSON(推荐)
json_match = re.search(
r'\{[^{}]*"tool_calls"\s*:\s*\[[\s\S]*?\]\s*\}',
model_output,
)
if json_match:
try:
data = json.loads(json_match.group())
for tc in data["tool_calls"]:
tool_calls.append(ToolCall(
name=tc["name"],
args=tc.get("args", {}),
reasoning=tc.get("reasoning", ""),
))
return tool_calls
except (json.JSONDecodeError, KeyError):
pass
# 格式二:XML 格式(Claude 系模型常用)
xml_pattern = r'<tool_call\s+name="(\w+)">\s*(.*?)\s*</tool_call>'
for match in re.finditer(xml_pattern, model_output, re.DOTALL):
tool_name = match.group(1)
args_str = match.group(2)
tool_calls.append(ToolCall(
name=tool_name,
args=self._parse_xml_args(args_str),
))
return tool_calls
def _parse_xml_args(self, args_xml: str) -> dict:
args = {}
for param_match in re.finditer(r'<(\w+)>(.*?)</\1>', args_xml, re.DOTALL):
key = param_match.group(1)
value = param_match.group(2).strip()
if value.isdigit():
value = int(value)
elif value.lower() in ("true", "false"):
value = value.lower() == "true"
args[key] = value
return args
这个解析器是 Agent 与工具系统之间的"桥梁"。不同模型的输出格式差异很大,健壮的解析策略是 Agent 系统的核心工程难题。
十、总结与展望
10.1 这次开源意味着什么
SpaceXAI 在 2026 年 7 月 16 日开源 Grok Build 的战略意图非常清晰:
- 生态锁定:通过开源扩展用户基础,形成 Agent 框架标准
- 社区共建:借助开源社区快速完善工具生态(MCP 服务器、Skills、插件)
- 差异化定位:在 Claude Code 和 Codex CLI 的"云端绑定"策略之外,打出"本地优先"这张牌
- 人才吸引:展示 SpaceXAI 在 Agent 系统层面的工程能力
10.2 工程师应该如何应对
立即行动:
- 在本地安装 Grok Build,体验其 TUI 和 Plan Mode
- 尝试将 Grok Build 接入自己的项目,用真实任务评估效果
- 如果有隐私或合规要求,测试本地推理模式的可行性
中期布局:
- 评估 Grok Build 的扩展系统能否替代现有的内部工具链
- 如果你在构建 AI 应用或 Agent 产品,研究 Grok Build 的源码——它是一份高质量的 Agent 系统参考实现
- 关注 MCP 生态的发展,MCP 协议正在成为 AI Agent 工具扩展的事实标准
长期关注:
- SpaceXAI 是否会开源 grok-build-0.1 的训练数据或模型权重
- 开源社区能否在 Grok Build 基础上构建出比肩 Claude Code 的用户体验
- 本地推理能力在 Agent 任务上的持续提升
10.3 留给工程师的思考
Grok Build 开源引发的最深层问题是:当 Agent 框架本身成为开源项目,壁垒在哪里?
答案或许是:数据和持续调优。
开源了框架,但 xAI 仍然掌握着 grok-build-0.1 模型和大量真实的编程交互数据。Agent 系统的效果很大程度上取决于模型对工具调用的理解深度、对上下文的利用效率——这些都需要持续的数据积累和模型迭代。
对于工程师来说,理解 Agent 的底层架构不再是"学术研究",而是实用技能。能够读懂 Grok Build 的源码,能够配置和扩展它的工具系统,能够在本地推理和云端之间做出理性选择——这些能力,将成为未来工程师的核心竞争力。
2026年的编程工作流,已经不再是"人写代码、机器补全"的时代。真正的变革,是人定义目标、Agent 负责执行。Grok Build 的开源,让我们第一次有机会从内部审视这场变革的核心引擎。
附录:快速参考
安装命令:
# macOS / Linux
curl -fsSL https://x.ai/cli/install.sh | bash
# Windows
irm https://x.ai/cli/install.ps1 | iex
# 验证
grok --version
配置文件路径:
- 全局配置:~/.config/grokbuild/config.toml
- 项目配置:./.grokbuild/config.toml(覆盖全局配置)
- 日志文件:~/.local/share/grokbuild/logs/
常用 TUI 操作:
| 快捷键 | 功能 |
|---|---|
| Tab | 切换视图(计划/执行/历史) |
| a | 批准当前计划 |
| s | 跳过当前步骤 |
| r | 重新规划 |
| q | 取消任务 |
| Ctrl+C | 强制中断 |
| 上/下 | 在历史命令中导航 |
参考资料:
- Grok Build GitHub:github.com/xAI-org/grok-build
- 官方文档:docs.x.ai/grok-build
- MCP 协议规范:modelcontextprotocol.io
- SpaceXAI 官方博客:x.ai/blog/grok-build-open-source
本文写于 2026 年 7 月 16 日,基于 Grok Build v0.9.2 开源版本。随着源码的持续更新,部分实现细节可能发生变化。建议读者以 GitHub 最新代码为准。