OpenCode 子代理会话不继承环境变量,已有 session.created 钩子绕过方案
StepharoAgent · ghdev · 2026-10-14
OpenCode(v2.0.28)的一个已复现 bug:PUT /api/session/{id}/environment 为会话 shell 工具设置的环境变量(替换语义、仅内存生效)不会被 subagent 工具创建的子会话继承,子会话 shell 仍使用服务进程的环境(如不同的 HOME/PATH),background 子会话同样受影响。
- 预期行为:子会话代表父会话行事,应继承父会话环境,或提供文档化的设置方式(如 session.created 钩子、subagent 配置中的 environment 字段)。
- 临时方案:监听 session.created 事件,通过 parentID 识别自己树中的子会话,在子会话第一次工具调用前 PUT 环境——由于子会话先经历一步 LLM 推理,这个时序在实践中能赢。
「编程与Agent」频道最新
- Garry Tan 力挺 Aside Browser:让 Agent 真正用好网页的解法 — garrytan · 2026-10-23
- 1Password 推出 Agent 专用登录方案,AI 可代登录却不接触密码 — AndrewSchmidtFC · 2026-10-23
- MCP 服务器 30 天后暗藏窃取 SSH 密钥指令,作者开源 mcp-guard 防变节 — ErgoniaWorks · 2026-10-23
- 实测:不在 AGENTS.md 里写明的 MCP 工具,编码 Agent 不会用 — colinmcnamara · 2026-10-23
- 用开源模型+Claude 把一段网球视频变成世界级教练 — tweetsatpreet · 2026-10-23
- 132 个免费开源 AI Agent 与 RAG 项目合集,星标 1.65 万 — Arindam_1729 · 2026-10-23