内容
# grok-delegate

**grok-delegate** 是一个 Grok Build 插件,用于将工作委托给本地的 **Claude Code** 或 **Codex**,同时保持在 Grok 会话中。
该委托程序作为一个普通的后台任务运行:工具和进度流入任务日志,结果在任务完成后返回,取消任务会停止引擎的整个进程组,确保不会留下孤立的进程。
该仓库是 **Grok Build Extras** 市场的一部分。可安装的插件包位于 `plugins/delegate/` 下。
[](https://grok.x.ai)
[](https://docs.anthropic.com/en/docs/claude-code)
[](https://github.com/openai/codex)
[](plugins/delegate/.grok-plugin/plugin.json)
[](LICENSE)
---
## 功能特点
两个斜杠命令 — `/delegate-claude` 和 `/delegate-codex` — 将任务委托给匹配的本地 CLI,而无需离开 Grok。进度在后台任务面板中显示,类似于其他长时间运行的 Grok 任务:`starting`、`thinking`、`tool`、`writing`、`completed`。当任务完成后,结果将显示在任务中。当您取消它时,伴侣程序会停止整个引擎进程组,确保不会留下孤立的进程。
两个命令共享相同的操作:
| 操作 | 意图 | 是否允许写入文件 |
|--------|--------|------------------|
| `setup` | 检查 CLI 是否已安装、已身份验证以及可用的模型 | 否 |
| `overview` | 映射仓库 — 目的、布局、入口点 | 否 |
| `review` | 审查当前的 git 范围以查找具体问题 | 否 |
| `adversarial` | 与审查类似,但带有刻意怀疑的简要说明 | 否 |
| `rescue` | 实现特定更改 | 是,在默认情况下 |
在 `--` 之前添加标志。 `--` 之后的内容是委托的焦点文本,而不是选项。模型和工作量级别在运行时从已安装的 CLI 中读取,而不是在插件中硬编码。
```text
/delegate-claude setup
/delegate-codex setup
/delegate-claude overview --model sonnet --effort low --trust-project --
/delegate-codex review --model gpt-5.6-sol --effort high -- focus on auth
/delegate-claude rescue --model opus --effort high -- fix the flaky pagination test
/delegate-codex rescue -- implement the retry helper
```
两个引擎的常见标志: `--model`、`--effort`、`--cwd`、`--read-only`、`--resume`、`--yolo`。 Claude 还理解 `--trust-project`、`--allowed-tools`、`--disallowed-tools`、`--max-turns` 和 `--stream-partial`。 Codex 还理解 `--sandbox`、`--approval`、`--search` 和 `--ephemeral`。
---
## 安装
参见 [Grok 插件文档](https://docs.x.ai/build/features/skills-plugins-marketplaces),了解 Grok Build 中插件和市场的相关信息。
您需要 `git` 或 `gh` 可用,以便 Grok 可以克隆 `arthurkatcher/grok-delegate`。插件安装 **不** 会登录 Claude、Codex 或 Grok 本身 — 这些保持独立。
```bash
grok plugin marketplace add arthurkatcher/grok-delegate
grok plugin install arthurkatcher/grok-delegate#plugins/delegate --trust
```
然后启用它(保留您已经列出的其他插件):
```toml
# ~/.grok/config.toml
[plugins]
enabled = ["grok-delegate"]
```
重启 Grok 或重新加载插件,然后检查:
```bash
grok plugin list
grok plugin details grok-delegate
```
`#plugins/delegate` 后缀很重要。此 git 根目录是一个市场目录;Grok 应该信任并运行的软件包是子目录。 `--trust` 是必需的,以便允许伴侣脚本执行。
如果 GitHub 简写无法克隆,请使用完整的远程地址添加市场:
```bash
grok plugin marketplace add https://github.com/arthurkatcher/grok-delegate.git
# 或
grok plugin marketplace add git@github.com:arthurkatcher/grok-delegate.git
```
要获取后续版本:
```bash
grok plugin marketplace update
grok plugin update grok-delegate
```
### 机器要求
- Grok Build with plugins enabled
- Node.js 18 或更新版本
- Linux 或 macOS(Windows 需要设置 `GROK_DELEGATE_ALLOW_WINDOWS=1`)
- `claude` 和/或 `codex` 在您的 `PATH` 上,已登录(`claude auth login`、`codex login` 或通常的 API 密钥)
- Codex 0.144+,如果您需要 GPT-5.6 Sol / Terra / Luna 模型 ID
在新笔记本电脑上,首先运行 `/delegate-claude setup` 或 `/delegate-codex setup`。所有其他操作都会运行 **相同的** 准备检查。如果二进制文件丢失或您未登录,伴侣程序会打印设置样式的下一步骤并且不会启动引擎。
---
## 默认设置和安全性
读取工作是只读的。写入工作在默认情况下是故意狭隘的,除非您打开它。
| 操作 | Claude 默认设置 | Codex 默认设置 |
|--------|----------------|---------------|
| `overview`、`review`、`adversarial` | 密封 `--bare`,权限模式 `dontAsk`,仅读取工具 | OS `read-only` 沙箱 |
| `rescue` | 仅文件工具 — 读取、编辑、写入、全局、grep — **无 Bash** | OS `workspace-write` 沙箱 |
| 完全权限 | 显式 `--allowed-tools` 包括 Bash,或 `--yolo` | 显式 `--yolo` |
Claude 救援默认情况下不会获得 shell。出于安全考虑,即使是“只是 git”也可能强制推送、`reset --hard` 或删除未跟踪的文件。如果您真的需要 shell 进行救援,请选择:
```text
/delegate-claude rescue --allowed-tools 'Read,Edit,Write,Glob,Grep,Bash' -- fix it and run the tests
```
一些其他在实践中重要的规则:
如果您使用 Claude Max 或 OAuth 而不是 `ANTHROPIC_API_KEY`,RO 操作 **自动跳过** 密封 `--bare`(与 `--trust-project` 具有相同的实际效果),因此第一个启动有效。仅当您拥有 API 密钥并想要密封隔离时,才传递显式的 `--bare`。在实际项目中优先使用 `--cwd` 而不是 `$HOME`。在 git 工作树之外,Codex 自动添加 `--skip-git-repo-check`。
`--` 之后的内容不能变成标志。 未知操作和选项会关闭失败。 对于尴尬的多行粘贴,请使用 `--payload-file` 代替与 shell 斗争。
作业状态存储在 `~/.local/share/grok-delegate` 下,具有私有权限,而不是在全局可写的临时目录中。
取消 Grok 任务会向引擎进程组发送 `SIGTERM`(必要时升级)。您不应留下孤立的 Claude 或 Codex 进程。
Codex 在您选择的沙箱中运行,带有 `approval_policy=never`。 `--yolo` 会关闭审批和沙箱 — 仅在您需要时使用。
---
## 工作原理
在幕后,斜杠命令是围绕一个长期运行的伴侣进程的薄壳:
```text
/delegate-claude 或 /delegate-codex
→ Grok 启动后台任务
→ node …/delegate-companion.mjs <claude|codex> --wait …
→ 本地 Claude(流式 JSON)或 Codex(exec --json)
→ stdout 上的进度行 → Grok 任务日志
→ 任务中的最终结果
```
伴侣程序负责参数验证、实时模型发现、权限策略、进程生命周期以及将引擎事件转换为您在任务面板中看到的简短进度行。
如果您从技能或 shell 调试插件合约,则相同的入口点如下所示:
```bash
node "${GROK_PLUGIN_ROOT}/scripts/delegate-companion.mjs" claude --wait \
--model sonnet --effort low --trust-project \
-- overview -- "Map purpose, layout, and entry points."
```
---
## 仓库布局
```text
grok-delegate/ 市场根目录(此仓库)
├── marketplace.json Grok Build Extras 目录
├── plugins/delegate/ 可安装的插件
│ ├── .grok-plugin/ 清单
│ ├── commands/ /delegate-claude,/delegate-codex
│ ├── skills/delegate-runtime/ Grok 应如何启动伴侣程序
│ ├── scripts/ 伴侣程序 + Claude/Codex 适配器
│ └── tests/
├── LICENSE
└── README.md
```
---
## 开发
```bash
git clone git@github.com:arthurkatcher/grok-delegate.git
cd grok-delegate/plugins/delegate
npm test
```
运行时是普通的 Node ESM,没有生产 npm 依赖。测试使用 Node 内置的测试运行器(`node --test`)。
---
## 安全
参见 [SECURITY.md](SECURITY.md),了解如何报告漏洞(私人咨询/电子邮件)。不要在公共跟踪器中提交与安全相关的敏感问题。
## 贡献
参见 [CONTRIBUTING.md](CONTRIBUTING.md)。编码代理:从 [AGENTS.md](AGENTS.md) 开始。用户可见的更改位于 [CHANGELOG.md](CHANGELOG.md)。
## 许可证
[MIT](LICENSE) © Arthur Katcher