Skip to content

feat: add OpenCode 2 and MiMo ACP providers - #537

Draft
giuliastro wants to merge 144 commits into
feature/acp-provider-copilotfrom
feature/acp-provider-opencode2-mimo
Draft

giuliastro wants to merge 144 commits into
feature/acp-provider-copilotfrom
feature/acp-provider-opencode2-mimo

Conversation

@giuliastro

@giuliastro giuliastro commented Sep 20, 2026

Copy link
Copy Markdown
Owner

Summary

Adds two more real ACP harness profiles through the Provider Kit path, stacked on #536. This PR targets feature/acp-provider-copilot, never main.

OpenCode 2

  • provider id: opencode2
  • detection: optional dedicated opencode2 binary alias
  • launch: uses opencode2 acp when that alias exists, otherwise falls back to npx --yes --package=@opencode/cli opencode acp so v2 can be tested/used without replacing the current opencode binary
  • models: enabled
  • reasoning/effort variant hint: effort
  • runtime commands: enabled
  • permissions: enabled
  • existing OpenCode HTTP integration remains separate as opencode

MiMo Code

  • provider id: mimo
  • detection: mimo
  • launch: mimo acp
  • conservative initial capability surface because current MiMo ACP releases have open compatibility issues around model defaults and Session prompting
  • provider-driven authenticate: false: current MiMo ACP advertises opencode-login from initialize but its own authenticate implementation throws Authentication not implemented; Harness Remote therefore relies on credentials already configured in MiMo CLI
  • core Session lifecycle is real-machine validated on MiMo Code 0.1.14 against a real workspace
  • models/commands remain disabled until separately validated

Provider Kit / launcher

  • provider discovery and priority are registry-driven
  • launcher help/error text now derives supported backend ids from the registry instead of hardcoded names
  • existing primary order remains unchanged: Codex → Claude → OMP → PI → Copilot → OpenCode 2 → MiMo

Real-machine smoke commands

Both smokes use a temporary workspace by default and run through Harness Remote's real AcpService:

npx --yes --package=github:giuliastro/harness-remote#feature/acp-provider-opencode2-mimo harness-remote-opencode2-smoke
npx --yes --package=github:giuliastro/harness-remote#feature/acp-provider-opencode2-mimo harness-remote-mimo-smoke

The OpenCode 2 smoke also checks runtime commands and model config options. MiMo starts with lifecycle/prompt/Stop/reopen checks only. Its smoke defaults to the caller's current workspace because MiMo 0.1.14 can reject session/new in an empty temporary directory even though the same ACP flow passes in a real workspace.

Stack

Nothing in this stack is merged to main.

Related: #372

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant