xai-org/grok-build-plugin-cc
GitHub: xai-org/grok-build-plugin-cc
一款将 Grok Build CLI 接入 Claude Code 的桥接插件,支持跨工具的代码审查、任务委派和会话导入。
Stars: 130 | Forks: 28
# Grok Build ↔ Claude Code 桥接
将 [Grok Build](https://x.ai) 接入 Claude Code,用于审查、评估、任务委派和会话导入。
本仓库是一个 Claude Code 插件市场插件,它通过 shell 调用真实的 `grok` CLI。运行状态、结果和停止操作均由插件管理(PID + 日志文件)。没有应用服务器代理。
## 环境要求
- Node.js `>= 18.18`
- 位于 `PATH` 中的 Grok Build CLI (`grok`),或者设置了 `GROK_BINARY`
- 已登录的 Grok CLI 会话(`grok models` 执行成功)
## 本地安装
在此仓库根目录下执行(路径必须为绝对路径):
```
# 解析此 clone 的绝对路径,然后将其添加为本地 marketplace
claude plugin marketplace add "$(pwd)"
# 示例:claude plugin marketplace add /absolute/path/to/grok-build-plugin-cc
# 从该 marketplace 安装 plugin
claude plugin install grok-build@xai-grok-build
```
或者,当 Claude Code 已经打开时,使用 `/plugin` 添加本地插件市场路径,然后安装 `grok-build@xai-grok-build`。
## 检查就绪状态
```
/grok-build:check
```
就绪意味着:Node 可用,`grok` 可用,并且通过 `grok models` 进行的软认证成功。
## 命令
### `/grok-build:check`
探测 Node + Grok CLI 的可用性及认证状态。
### `/grok-build:review`
对本地 git 状态进行只读审查:
```
/grok-build:review --wait
/grok-build:review --background --scope working-tree
/grok-build:review --base main
/grok-build:review --wait --model grok-build --effort high
```
执行:
```
grok -p --agent explore --permission-mode plan --sandbox read-only --cwd --output-format plain
```
可选:传入 `--model` / `--effort` (`low`|`medium`|`high`)。如果省略,Grok 将选择默认值。
### `/grok-build:critique`
与 review 的目标选择方式相同,但使用设计/风险评估提示词,并尽可能输出结构化的 JSON:
```
/grok-build:critique --wait
/grok-build:critique --base main challenge whether this was the right caching and retry design
/grok-build:critique --wait --model grok-build --effort high focus on failure modes
```
可选:与 review 相同的 `--model` / `--effort` 标志。
### `/grok-build:delegate`
通过 `grok-build:grok-delegate` 子代理将调查或实现任务委派给 Grok:
```
/grok-build:delegate investigate the flaky test in auth
/grok-build:delegate --resume apply the top fix
/grok-build:delegate --model grok-build --effort high fix the race
```
写入权限分层策略:
| 层级 | 默认值 |
| --- | --- |
| Bridge `run` CLI | **只读**(`--permission-mode plan` + `--sandbox read-only`),除非你传入 `--write` |
| 委派代理 / 技能 | 根据策略添加 `--write`(具备写入权限的委派),除非用户要求只读 |
- 因此,直接执行 `node …/grok-bridge.mjs run "…"` 是只读的,除非传入了 `--write`。
- `--resume` / `--resume-last` 会通过 `grok -r ` 继续上次保存的 Grok 会话 ID。
- 对于耗时较长的任务,建议使用 bridge 的 `--background`,这样运行记录会同时包含 `bridgePid`(Node worker)和 `agentPid`(grok 子进程)。
- `/grok-build:stop` 会终止**这两棵**进程树(先终止 agent,再终止 bridge/worker)。
- 如果你不传入 `--model` 或 `--effort`,Grok 将自行选择其默认值。
### `/grok-build:import`
将当前的 Claude 记录导入 Grok:
```
/grok-build:import
/grok-build:import --source ~/.claude/projects/.../session.jsonl
```
使用 `grok import` 并打印恢复提示:`grok -r `。
### `/grok-build:runs`
列出活跃的以及最近的由插件管理的运行记录:
```
/grok-build:runs
/grok-build:runs --wait
```
### `/grok-build:show`
显示已结束运行的保存输出:
```
/grok-build:show
/grok-build:show
```
### `/grok-build:stop`
通过终止被追踪的进程树来停止活跃的运行:
```
/grok-build:stop
/grok-build:stop
```
杀掉 `agentPid`(分离的 grok 子进程)以及 `bridgePid` / 遗留的 `companionPid` / 遗留的 `pid`(bridge 或 run-worker)中的每一个不同 pid。终端状态会在锁定的 CAS(Compare-And-Swap)下被认领,因此正在完成的 worker 无法用 `completed` 覆盖 `cancelled` 状态。
## 环境变量
| 变量 | 用途 |
| --- | --- |
| `GROK_BINARY` | 可选的 `grok` 可执行文件覆盖路径 |
| `GROK_CC_SESSION_ID` | Claude 会话 ID(由 SessionStart hook 设置) |
| `GROK_CC_TRANSCRIPT_PATH` | Claude 记录路径(由 SessionStart hook 设置) |
| `CLAUDE_PLUGIN_ROOT` | 插件安装根目录(宿主机) |
| `CLAUDE_PLUGIN_DATA` | 插件数据根目录;状态信息存放在 `.../state` 下 |
| `CLAUDE_ENV_FILE` | 用于会话 hook 的宿主机环境变量文件 |
| `CLAUDE_PROJECT_DIR` | 来自宿主机的项目目录 |
当 `CLAUDE_PLUGIN_DATA` 未设置时的状态回退路径:`$TMPDIR/grok-cc-runs`。
## 开发说明
```
npm test
```
测试使用 Node 内置的测试运行器,并在 `PATH` 中放置一个模拟的 `grok` 二进制文件。运行时代码仅使用 Node 标准库。
版本:`0.2.0`。
## 许可证
Apache-2.0。请参阅 `LICENSE` 和 `NOTICE`。
标签:AI辅助开发, Claude Code插件, Cutter, GNU通用公共许可证, Grok CLI, MITM代理, Node.js, SOC Prime, 代码审查, 开发工具, 自定义脚本