Skip to content

feat(provider): implement ACP Provider for OpenCode integration #356

@aaronwong1989

Description

@aaronwong1989
  • 背景: OpenCode 已原生支持 ACP(opencode acp 命令)
  • 目标: 实现 ACP Provider,让 HotPlex 通过 ACP 协议连接 OpenCode
  • 架构:
    ChatApp (Slack/TG)
          ↓
    HotPlex Engine
          ↓
    ACP Provider (implements Provider interface)
          ↓
    HTTP Client → OpenCode ACP Server (stdio)
    
  • 关键实现点:
    • 新增 provider/acp_provider.go
    • 实现 BuildInputMessage:构造 ACP Prompt JSON
    • 实现 ParseEvent:解析 nd-JSON 事件流
    • Session 映射:默认隔离 + 显式绑定
    • 配置优先级:Flags > Env > YAML
  • 参考:
  • 关联: Resolves feat(provider): track Claude Code ACP support (upstream #6686) #355 (跟踪上游 ACP 进展)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/provider🤖 Provider - AI Provider 集成platform/slack💬 Slack - Slack 平台相关priority/high🟠 P1 - 严重影响用户体验、频繁出现的问题size/large📏 Large - > 3 天工作量status/needs-triage🔍 Needs Triage - 需要进一步评估type/feature✨ Feature - 新功能请求

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions