Opencode Acp Control

⚠️ ACP 协议控制开发助手

通过标准化 ACP 协议远程操控 OpenCode,实现会话管理、消息收发与自动更新,提升 AI 编程助手集成效率。

收藏
20.6k
安装
4.4k
版本
1.0.2
CLS 安全性认证2026-05-07
点击查看完整报告 >

使用说明

核心用法

opencode-acp-control 是一个纯指令型 Agent Skill,旨在通过 Agent Client Protocol (ACP) 让其他 AI Agent(如 Claude)直接控制 OpenCode 终端应用。它基于 JSON-RPC 2.0 协议,以 Markdown 文档的形式提供了一套完整的操作流程,覆盖了从启动 OpenCode 后台进程、初始化连接、创建会话到发送提示词、轮询获取流式响应以及取消请求的全生命周期管理。此外,该 Skill 还包含会话恢复和自动更新检查等高级功能,使得多 Agent 协作或 AI 驱动的开发流程自动化成为可能。

显著优点

1. 协议标准化:基于公开的 ACP 协议和 JSON-RPC 2.0 标准,交互逻辑透明清晰,易于集成与调试。
2. 文档透明且零依赖:作为纯 Markdown 指令文档,不包含任何可执行代码、无依赖项、无隐藏网络调用或数据收集,用户可根据文档内容进行完全审查。

3. 功能完整:从启动、会话管理到错误处理、轮询策略的细节一应俱全,尤其是会话持久化和自动更新部分,为自动化流程提供了极高的可靠性。

4. 架构灵活:该 Skill 本身不绑定实现,Agent 可以灵活调用底层的 bashprocess 工具来完成自动化操作。

潜在缺点或局限性

1. 来源依赖度较低:该 Skill 来自个人开发者(T3 来源可信度),其维护和长期演进存在不确定性,不如大型组织维护的项目稳定。
2. 手动更新风险:文档在自动更新失败时会建议用户使用 curl | bash 执行远程脚本,这是典型的不安全实践,普通用户若盲目执行可能面临供应链攻击风险。

3. 仅限受控环境:作为纯指令文档,它的有效性完全取决于宿主 Agent 的执行能力和环境,在受限或沙箱化的运行环境下可能无法正常使用。

适合的目标群体

  • 高级用户及 AI 集成开发者:需要在更大的自动化脚本或多 Agent 系统中集成 OpenCode 功能的用户。
  • AI 工作流构建者:希望通过 Agent 套娃或工具链编排来提升开发效率的团队。
  • 对 OpenCode 有一定了解的用户:该 Skill 更适合那些已在使用 OpenCode 并希望升级其控制方式的用户。

使用该技能可能存在的常规风险

  • 性能及资源管理:每次交互启动新的后台进程并维持轮询,对系统资源有一定占用,长期运行需注意进程泄漏。
  • 时间成本与稳定性:轮询机制的最大等待时间长达 5 分钟,网络或 Agent 状态波动可能导致任务超时。
  • 安全风险:虽然 Skill 自身无害,但使用者通过它执行的具体命令或生成的代码可能存在安全漏洞,需对最终产出进行审查。此外,其建议的 curl | bash 手动操作对非专业人员构成潜在威胁。

安全解读

核心用法

OpenCode ACP Control 是一个纯 Markdown 文档型 Skill,用于指导 AI Agent 通过 Agent Client Protocol (ACP) 控制 OpenCode 工具。核心工作流程包括:

1. 启动 OpenCode ACP 进程:使用 bash(command: "opencode acp", background: true) 在后台启动
2. 初始化连接:发送 JSON-RPC 2.0 格式的 initialize 请求完成协议握手

3. 创建/加载会话:通过 session/new 创建新会话,或使用 session/load 恢复历史会话

4. 发送消息:使用 session/prompt 方法向 OpenCode 发送用户查询

5. 轮询响应:每 2 秒轮询一次,收集 session/update 通知流,直至收到带 stopReason 的最终响应

6. 会话管理:支持列出历史会话、恢复会话、取消进行中的请求等操作

7. 版本更新:通过检查 GitHub Releases 版本,触发 OpenCode 自动更新机制

所有通信均采用 JSON-RPC 2.0 协议,消息以换行符分隔,需维护递增的 message ID 计数器。

显著优点

  • 协议标准化:基于新兴的 ACP(Agent Client Protocol)标准,具有良好的互操作性前景
  • 功能完整:覆盖 OpenCode 的完整生命周期管理——启动、对话、恢复、更新
  • 会话持久化:会话 ID 在进程重启后仍然有效,支持无缝恢复长时间对话
  • 流式响应支持:通过 session/update 通知实现实时内容流,提升用户体验
  • 纯文档零风险:无可执行代码,所有功能均为标准协议文档说明,天然免疫代码注入攻击
  • 开源透明:MIT 许可证,GitHub 开源,可审计性强

潜在缺点与局限性

  • 依赖外部工具:必须本地安装 OpenCode CLI 工具才能使用,本身不提供 OpenCode 能力
  • T3 来源可信度:个人开发者维护(Benjamin Jesuiter),无大型组织或基金会背书,长期维护稳定性存疑
  • 协议成熟度:ACP 为较新协议,可能存在未发现的边缘情况或未来 breaking changes
  • 轮询效率:当前设计采用 2 秒间隔轮询,相比 WebSocket 实时推送有一定延迟
  • 手动更新风险:文档建议使用 curl | bash 方式更新,存在潜在的中间人攻击向量(已标记为低风险)
  • 无错误重试机制:文档未详细说明网络中断或进程崩溃后的自动恢复策略

适合人群

  • AI Agent 开发者:需要集成 OpenCode 能力到自己的 Agent 系统中的开发者
  • 自动化工作流构建者:希望通过程序化方式控制 OpenCode 进行批量代码分析或生成任务的用户
  • MCP/ACP 协议研究者:对新兴 Agent 通信协议感兴趣的技术探索者
  • Claude Desktop / Cursor 等工具用户:希望在这些支持 Skills 的客户端中直接调用 OpenCode 的用户

常规风险

| 风险类别 | 等级 | 说明 |
|---------|------|------|
| 代码执行风险 | 🟢 极低 | 纯 Markdown 文档,无可执行代码 |
| 供应链攻击 | 🟢 极低 | 无依赖文件,不引入第三方代码 |
| 数据隐私 | 🟢 极低 | 无用户数据收集,无敏感权限申请 |
| 网络请求 | 🟡 低 | 6 个外部 URL 均指向可信域名(GitHub、OpenCode 官方、ACP 协议站) |
| 来源可信度 | 🟡 中 | T3 个人开发者项目,建议关键场景人工复核 |
| 安装脚本风险 | 🟡 低 | `curl \| bash` 安装建议存在理论中间人风险,属行业常见做法 |

建议安全措施

  • 生产环境使用前审查 OpenCode 官方安装脚本
  • 考虑版本锁定避免自动更新引入兼容性问题
  • 定期关注 ACP 协议安全通告和版本更新

Opencode Acp Control 内容

手动下载zip · 3.9 kB
SKILL.mdtext/markdown
请选择文件