From 749305b2ec42655bbf1149137a976a927d4dafbd Mon Sep 17 00:00:00 2001 From: wenshao Date: Sat, 28 Mar 2026 12:16:56 +0800 Subject: [PATCH 1/3] Update 4 deep-dives with latest release notes (2026-03-28) Sources: Claude Code v2.1.86, Gemini CLI v0.35.3, Codex CLI v0.117.0, Copilot CLI v1.0.12, Qwen Code v0.13.1 #34 Terminal UI: - Gemini CLI v0.35: customizable keyboard shortcuts + Vim enhancements (X, ~, r, f/F/t/T motions, yank/paste support) #29 Sandbox Security: - Gemini CLI v0.35: unified SandboxManager with Linux-native bubblewrap + seccomp isolation (150 changes, 2 security fixes) #31 Hook/Plugin: - Codex CLI v0.117: plugins first-class (startup sync, /plugins browse, install/remove with auth handling) - Copilot CLI v1.0.12: hook template variables ({{project_dir}}, {{plugin_data_dir}}), CLAUDE_PROJECT_DIR/CLAUDE_PLUGIN_DATA env vars - Copilot: /session rename auto-generates name, /yolo persists after /clear #30 Multi-Agent: - Codex CLI v0.117: multi-agent v2 with path-based addresses (/root/agent_a), structured inter-agent messaging Co-Authored-By: Claude Opus 4.6 (1M context) --- .../hook-plugin-extension-deep-dive.md | 16 ++++++++++++++-- docs/comparison/multi-agent-deep-dive.md | 2 +- docs/comparison/sandbox-security-deep-dive.md | 15 ++++++++------- docs/comparison/terminal-ui-deep-dive.md | 5 +++++ 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/docs/comparison/hook-plugin-extension-deep-dive.md b/docs/comparison/hook-plugin-extension-deep-dive.md index d4063530..75b4c5f4 100644 --- a/docs/comparison/hook-plugin-extension-deep-dive.md +++ b/docs/comparison/hook-plugin-extension-deep-dive.md @@ -129,9 +129,21 @@ v1.0.10 修复了 `.github/hooks/` 在 `-p`(prompt)模式下不触发的问 └── post-tool-use.sh # 工具执行后触发 ``` -### Codex CLI 用户 Prompt Hook(新增) +### Codex CLI:Plugins 一等公民(v0.117.0) -Codex CLI 新增 user prompt hook,允许在用户提交 prompt 时触发自定义逻辑。 +v0.117.0 将 Plugins 提升为一等公民: +- 启动时自动同步 product-scoped plugins +- `/plugins` 命令浏览、安装、卸载 +- 更清晰的认证/设置流程 +- User prompt hook 允许在用户提交 prompt 时触发自定义逻辑 + +### Copilot CLI:Hook 模板变量(v1.0.12) + +v1.0.12 为 Plugin hooks 引入环境变量和模板变量: +- 环境变量:`CLAUDE_PROJECT_DIR`、`CLAUDE_PLUGIN_DATA` +- 模板变量:`{{project_dir}}`、`{{plugin_data_dir}}`(在 hook 配置中使用) +- `/session rename` 无参数时自动从对话历史生成会话名 +- `/yolo` 路径权限在 `/clear` 后持久化 ### Qwen Code Hooks 自动化系统(v0.12 新增) diff --git a/docs/comparison/multi-agent-deep-dive.md b/docs/comparison/multi-agent-deep-dive.md index 1916327b..2ccc9a7b 100644 --- a/docs/comparison/multi-agent-deep-dive.md +++ b/docs/comparison/multi-agent-deep-dive.md @@ -13,7 +13,7 @@ | **Kimi CLI** | 5 代理类型 | **5** | ✓(前台/后台) | Wire 协议 | **D-Mail 时间回溯** | | **OpenHands** | 4 复合代理 | **4** | ✓ | AgentDelegate | **EventStream 解耦** | | **Aider** | 双模型流水线 | 1(双阶段) | — | 内部委托 | **架构师→编辑器** | -| **Codex CLI** | Guardian 审批 | 实验性 | — | 功能标志 | **安全审查子代理** | +| **Codex CLI** | **Multi-agent v2**(v0.117) | 实验性 | — | 路径地址 `/root/agent_a` | **结构化代理间消息 + Plugins 一等公民** | | **Goose** | MCP 工具委托 | — | — | Recipe | **纯 MCP 工作流** | --- diff --git a/docs/comparison/sandbox-security-deep-dive.md b/docs/comparison/sandbox-security-deep-dive.md index 013b2833..3141da3d 100644 --- a/docs/comparison/sandbox-security-deep-dive.md +++ b/docs/comparison/sandbox-security-deep-dive.md @@ -225,13 +225,14 @@ priority = 70 - 架构特定:x64/arm64/arm/ia32 独立字节码 - 过滤器文件:`/tmp/gemini-cli-seccomp-{pid}.bpf` -### v0.34 新增沙箱特性 - -- **gVisor(runsc)**:原生容器沙箱,用于更安全的执行环境 -- **实验性 LXC 容器沙箱**:轻量级容器隔离 -- **严格 macOS Seatbelt**:基于白名单的 Seatbelt 策略(~200+ 条 syscall 规则) -- **safeFetch + IP 验证**:防止 SSRF 和内部网络访问 -- **子代理特定 TOML 策略**:每个子代理可有独立安全策略 +### v0.34-v0.35 新增沙箱特性 + +- **gVisor(runsc)**:原生容器沙箱,用于更安全的执行环境(v0.34) +- **实验性 LXC 容器沙箱**:轻量级容器隔离(v0.34) +- **严格 macOS Seatbelt**:基于白名单的 Seatbelt 策略(~200+ 条 syscall 规则)(v0.34) +- **safeFetch + IP 验证**:防止 SSRF 和内部网络访问(v0.34) +- **子代理特定 TOML 策略**:每个子代理可有独立安全策略(v0.34) +- **统一 SandboxManager**:v0.35 引入统一沙箱管理器,集成 Linux 原生 bubblewrap + seccomp 隔离工具执行(150 变更含 2 安全修复) ### macOS Seatbelt diff --git a/docs/comparison/terminal-ui-deep-dive.md b/docs/comparison/terminal-ui-deep-dive.md index caa650ce..ab26d0db 100644 --- a/docs/comparison/terminal-ui-deep-dive.md +++ b/docs/comparison/terminal-ui-deep-dive.md @@ -101,6 +101,11 @@ Rust 原生 CLI / Metal(macOS) + Vulkan(Linux/Win) GPU 渲染 | Shift+Tab | 循环切换审批模式(DEFAULT → AUTO_EDIT → PLAN → YOLO) | | Esc Esc | 触发 `/rewind`(RewindViewer 组件) | +**v0.35 新增:自定义快捷键 + Vim 增强** + +- **自定义键绑定**:支持自定义 keybindings、字面字符绑定、扩展终端协议键 +- **Vim 模式增强**:新增 `X`、`~`、`r`、`f/F/t/T` 动作 + yank/paste 支持 + **Hook 系统对 UI 的影响**: 11 个 Hook 事件中,`BeforeModel`/`AfterModel` 可拦截 LLM 调用前后的 UI 渲染;`BeforeToolSelection` 可在工具选择 UI 前注入自定义逻辑。 From 5b6a99faf62121960fc7d91f2dff51054a8c3cb4 Mon Sep 17 00:00:00 2001 From: wenshao Date: Sat, 28 Mar 2026 12:27:25 +0800 Subject: [PATCH 2/3] Address Qwen-Code + GLM-5.1 review: 3 fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. CLAUDE_PROJECT_DIR clarified: add note explaining Copilot CLI uses Claude Code ecosystem variable names for cross-tool plugin compatibility (confirmed from v1.0.12 changelog: "Read .claude/settings.json and .claude/settings.local.json as additional repo config sources") 2. Codex CLI path address: "/root/agent_a" → "逻辑路径地址(如 /root/agent_a)" clarifying it's a logical agent address format, not a filesystem path 3. Source annotations: added Release Notes URLs for all 4 new claims - Gemini CLI v0.35: geminicli.com/docs/changelogs/latest/ - Codex CLI v0.117: developers.openai.com/codex/changelog - Copilot CLI v1.0.12: github.com/github/copilot-cli changelog.md Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/comparison/hook-plugin-extension-deep-dive.md | 6 +++++- docs/comparison/multi-agent-deep-dive.md | 2 +- docs/comparison/sandbox-security-deep-dive.md | 2 +- docs/comparison/terminal-ui-deep-dive.md | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/comparison/hook-plugin-extension-deep-dive.md b/docs/comparison/hook-plugin-extension-deep-dive.md index 75b4c5f4..6ee45ea6 100644 --- a/docs/comparison/hook-plugin-extension-deep-dive.md +++ b/docs/comparison/hook-plugin-extension-deep-dive.md @@ -131,6 +131,8 @@ v1.0.10 修复了 `.github/hooks/` 在 `-p`(prompt)模式下不触发的问 ### Codex CLI:Plugins 一等公民(v0.117.0) +> 来源:[Codex CLI v0.117.0 Changelog](https://developers.openai.com/codex/changelog) + v0.117.0 将 Plugins 提升为一等公民: - 启动时自动同步 product-scoped plugins - `/plugins` 命令浏览、安装、卸载 @@ -139,8 +141,10 @@ v0.117.0 将 Plugins 提升为一等公民: ### Copilot CLI:Hook 模板变量(v1.0.12) +> 来源:[Copilot CLI v1.0.12 Changelog](https://github.com/github/copilot-cli/blob/main/changelog.md) + v1.0.12 为 Plugin hooks 引入环境变量和模板变量: -- 环境变量:`CLAUDE_PROJECT_DIR`、`CLAUDE_PLUGIN_DATA` +- 环境变量:`CLAUDE_PROJECT_DIR`、`CLAUDE_PLUGIN_DATA`(**注**:沿用 Claude Code 生态的变量命名,确保跨工具 Plugin hooks 兼容——Copilot CLI 读取 `.claude/settings.json` 和 Claude Code 插件) - 模板变量:`{{project_dir}}`、`{{plugin_data_dir}}`(在 hook 配置中使用) - `/session rename` 无参数时自动从对话历史生成会话名 - `/yolo` 路径权限在 `/clear` 后持久化 diff --git a/docs/comparison/multi-agent-deep-dive.md b/docs/comparison/multi-agent-deep-dive.md index 2ccc9a7b..648051d4 100644 --- a/docs/comparison/multi-agent-deep-dive.md +++ b/docs/comparison/multi-agent-deep-dive.md @@ -13,7 +13,7 @@ | **Kimi CLI** | 5 代理类型 | **5** | ✓(前台/后台) | Wire 协议 | **D-Mail 时间回溯** | | **OpenHands** | 4 复合代理 | **4** | ✓ | AgentDelegate | **EventStream 解耦** | | **Aider** | 双模型流水线 | 1(双阶段) | — | 内部委托 | **架构师→编辑器** | -| **Codex CLI** | **Multi-agent v2**(v0.117) | 实验性 | — | 路径地址 `/root/agent_a` | **结构化代理间消息 + Plugins 一等公民** | +| **Codex CLI** | **Multi-agent v2**(v0.117) | 实验性 | — | 逻辑路径地址(如 `/root/agent_a`) | **结构化代理间消息 + Plugins 一等公民** | | **Goose** | MCP 工具委托 | — | — | Recipe | **纯 MCP 工作流** | --- diff --git a/docs/comparison/sandbox-security-deep-dive.md b/docs/comparison/sandbox-security-deep-dive.md index 3141da3d..6ec48f93 100644 --- a/docs/comparison/sandbox-security-deep-dive.md +++ b/docs/comparison/sandbox-security-deep-dive.md @@ -232,7 +232,7 @@ priority = 70 - **严格 macOS Seatbelt**:基于白名单的 Seatbelt 策略(~200+ 条 syscall 规则)(v0.34) - **safeFetch + IP 验证**:防止 SSRF 和内部网络访问(v0.34) - **子代理特定 TOML 策略**:每个子代理可有独立安全策略(v0.34) -- **统一 SandboxManager**:v0.35 引入统一沙箱管理器,集成 Linux 原生 bubblewrap + seccomp 隔离工具执行(150 变更含 2 安全修复) +- **统一 SandboxManager**:v0.35 引入统一沙箱管理器,集成 Linux 原生 bubblewrap + seccomp 隔离工具执行(150 变更含 2 安全修复)(来源:[v0.35 Release Notes](https://geminicli.com/docs/changelogs/latest/)) ### macOS Seatbelt diff --git a/docs/comparison/terminal-ui-deep-dive.md b/docs/comparison/terminal-ui-deep-dive.md index ab26d0db..a2dc99db 100644 --- a/docs/comparison/terminal-ui-deep-dive.md +++ b/docs/comparison/terminal-ui-deep-dive.md @@ -101,7 +101,7 @@ Rust 原生 CLI / Metal(macOS) + Vulkan(Linux/Win) GPU 渲染 | Shift+Tab | 循环切换审批模式(DEFAULT → AUTO_EDIT → PLAN → YOLO) | | Esc Esc | 触发 `/rewind`(RewindViewer 组件) | -**v0.35 新增:自定义快捷键 + Vim 增强** +**v0.35 新增:自定义快捷键 + Vim 增强**(来源:[v0.35 Release Notes](https://geminicli.com/docs/changelogs/latest/)) - **自定义键绑定**:支持自定义 keybindings、字面字符绑定、扩展终端协议键 - **Vim 模式增强**:新增 `X`、`~`、`r`、`f/F/t/T` 动作 + yank/paste 支持 From cd3d049f1119da0ce313de8360b34148e8aeb084 Mon Sep 17 00:00:00 2001 From: wenshao Date: Sat, 28 Mar 2026 14:56:05 +0800 Subject: [PATCH 3/3] Style fix: remove bold from Codex CLI multi-agent table cell Per Qwen-Code + GLM-5.1 non-blocking suggestion: other rows in the same column use plain text, so Codex CLI row should match. Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/comparison/multi-agent-deep-dive.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/comparison/multi-agent-deep-dive.md b/docs/comparison/multi-agent-deep-dive.md index 648051d4..576886b1 100644 --- a/docs/comparison/multi-agent-deep-dive.md +++ b/docs/comparison/multi-agent-deep-dive.md @@ -13,7 +13,7 @@ | **Kimi CLI** | 5 代理类型 | **5** | ✓(前台/后台) | Wire 协议 | **D-Mail 时间回溯** | | **OpenHands** | 4 复合代理 | **4** | ✓ | AgentDelegate | **EventStream 解耦** | | **Aider** | 双模型流水线 | 1(双阶段) | — | 内部委托 | **架构师→编辑器** | -| **Codex CLI** | **Multi-agent v2**(v0.117) | 实验性 | — | 逻辑路径地址(如 `/root/agent_a`) | **结构化代理间消息 + Plugins 一等公民** | +| **Codex CLI** | Multi-agent v2(v0.117) | 实验性 | — | 逻辑路径地址(如 `/root/agent_a`) | 结构化代理间消息 + Plugins 一等公民 | | **Goose** | MCP 工具委托 | — | — | Recipe | **纯 MCP 工作流** | ---