类型: Async Agent Delegation Plugin
仓库: https://github.com/kdcokenny/opencode-background-agents
1. 这是什么插件?
opencode-background-agents 是一个为OpenCode添加Background Agents能力(类似Claude Code风格)的插件。核心概念:
不像传统agent以阻塞方式运行任务并阻塞你的session 它能够在后台异步运行agents,拥有独立的context 当它们完成时会返回结果,而不会中断你的工作 想象一下:就像并行运行一个由初级开发人员组成的团队,每个都独立处理自己的任务。
Background Agents与普通Subagents的区别:
2. 用来做什么?
使用它来:
✅ 并行运行5+个agents,每个处理不同任务 ✅ Context持久性 — 每个agent有独立context且不会被污染 ✅ 异步委派 — 分配任务后可以返回处理其他工作 ✅ 通知功能 — 任务完成时接收通知 ✅ 保持主Context简洁 — 你的主要session保持轻量 ✅ 真正的并行 — 在10分钟内完成原本需要1小时的工作
典型场景:
你:"重构认证系统,为其编写测试,并更新文档"Background Agents:- Agent 1 → 重构认证(后台)- Agent 2 → 编写测试(后台)- Agent 3 → 更新文档(后台)- 主Session → 空闲,可以处理其他工作[10分钟后]🔔 Agent 1 完成:认证重构完成🔔 Agent 2 完成:添加了15个测试🔔 Agent 3 完成:文档已更新3. 如何使用?
安装
在 ~/.config/opencode/opencode.json 中:
{"$schema": "https://opencode.ai/config.json","plugin": ["opencode-background-agents"]}运行
插件为OpenCode添加了新的工具和命令,以便:
在后台启动agent:
在后台启动agent来重构auth模块监控agents状态:
status agents获取已完成的agent结果:
从agent <id>获取结果
与其他插件配合
此插件是opencode-workspace bundle的一部分,因此如果你使用workspace,该插件已包含在内。 另外兼容:
✅ oh-my-opencode — OmO本身已有Background Agents,可能存在重叠 ✅ opencode-notify — 用于在agents完成时接收通知 ✅ opencode-supermemory — 每个agent都可以访问memory
4. 何时使用?
在以下情况使用:
✅ 处理大型任务,可以拆分为独立的子任务 ✅ 需要真正的并行而不是顺序执行 ✅ 同时进行大型重构 + 测试 + 文档更新 ✅ 在包含多个package的monorepo中工作 ✅ 处理包含独立模块的base-layer ✅ 偏好非阻塞工作流
不要在以下情况使用:
❌ 处理顺序任务(第二步需要第一步的结果) ❌ 处理简单任务,不需要并行 ❌ 使用oh-my-opencode(它本身已有background agents) ❌ 存在严格的API限制(并行会快速消耗配额) ❌ 使用免费模型且配额有限
⚠️ 重要注意事项
API成本:
每个background agent独立消耗tokens。如果并行运行5个agents,成本大约增加x5倍。
模型选择:
需要根据任务性质为每个agent选择合适的模型。某些任务需要Opus,而其他任务使用Haiku就足够。
Subagent通知:
如果使用opencode-notifier,默认情况下subagent_complete事件是静默的(避免5个agents同时完成时的垃圾通知)。可以从config中启用它。
与Oh My OpenCode可能存在的冲突:
如果使用OmO,它本身已有自己的Background Agents系统(Sisyphus委派给Hephaestus,Oracle,Librarian)。因此可能存在重叠或重复。
🔗 有用链接
仓库: https://github.com/kdcokenny/opencode-background-agents Bundle (workspace): https://github.com/kdcokenny/opencode-workspace
夜雨聆风