Skip to content

Add antianqi/openclaw-acp-bridge v0.1.3 - peer collaboration Bridge for MiniMax Code - #3

Open
antianqi wants to merge 1 commit into
MiniMax-AI:mainfrom
antianqi:add-openclaw-acp-bridge
Open

Add antianqi/openclaw-acp-bridge v0.1.3 - peer collaboration Bridge for MiniMax Code#3
antianqi wants to merge 1 commit into
MiniMax-AI:mainfrom
antianqi:add-openclaw-acp-bridge

Conversation

@antianqi

@antianqi antianqi commented Aug 17, 2026

Copy link
Copy Markdown

Summary

Adds plugins/antianqi/openclaw-acp-bridge — a Bridge that lets MiniMax Code sessions collaborate peer-to-peer with the OpenClaw-mcode-ACP inbox protocol instead of one-shot master/slave task calls.

MiniMax Code can now:

  • Read incoming messages from the ACP inbox (inbox_read)
  • Push progress and partial answers (inbox_write)
  • Ask blocking questions and wait for the peer's answer (inbox_ask / inbox_answer)
  • Greet a new peer session (peer_greet)

Two Skills ship in the Plugin:

  • acp-collab — peer-to-peer inbox collaboration
  • acp-task-dispatch — dispatch self-contained tasks to the ACP HTTP server

What's inside

  • plugin.json$schema=agent-plugins.org/schemas/1.0.0/plugin.schema.json, name=openclaw-acp-bridge, version=0.1.3, license=Apache-2.0
  • README.md — overview, Supported platforms table, Authentication, SDK compatibility contract, smoke test, Data and network, Test evidence
  • LICENSE — Apache-2.0 (full text)
  • scripts/smoke.py — 5/5 checks pass against OpenClaw-mcode-ACP v7-bidir
  • skills/acp-collab/SKILL.md — peer inbox protocol (frontmatter present, YAML valid)
  • skills/acp-task-dispatch/SKILL.md — task dispatch Skill (frontmatter present, YAML valid)

Validation

Ran npm run validate from this fork's main. The new hosted Plugin passes:

OK   plugin antianqi/openclaw-acp-bridge

(Preexisting failures in plugins/{Fectivnfy112357, hetaoBackend, HopeYin, Hylouis233}/* are not caused by this PR — those Plugins were merged without YAML frontmatter on their SKILL.md. Flagging them here so the maintainer can triage.)

SDK / runtime contract

This Plugin assumes acp_tools.py server v7-bidir+ with these functions:
create_task, get_task, list_history, inbox_read, inbox_write, inbox_ask, inbox_answer, peer_greet.

The token is read at call time from $ACP_TOKEN or <ACP_HOME>/.acp_token. It is sent only to http://localhost:9999/acp/* (HTTP loopback). Never logged, never echoed.

Test evidence

$ python scripts/smoke.py
[1/5] ACP_HOME resolves ... OK
[2/5] SDK imports ... OK
[3/5] server /acp/health ... OK
[4/5] inbox write/read roundtrip ... OK
[5/5] no hardcoded absolute paths ... OK

(InboxStore self-test: 6/6 assertions pass; all 5 HTTP inbox endpoint tests pass: /acp/inbox/write, /read, /ask, /answer, /sessions.)

Compatibility

Platform Status
Windows 10/11 Supported (primary)
macOS 13+ Supported
Linux (x86_64) Supported

No hardcoded absolute paths anywhere. The Plugin uses forward slashes internally (posixpath) and only resolves paths through $ACP_HOME.

Replaces v0.1.3 in hetaoBackend/MiniMax-Code-Plugins

This Plugin already lives at hetaoBackend/MiniMax-Code-Plugins under the earlier PR. With the move of the community registry to this organization, this PR re-hosts the same v0.1.3 content under the new namespace. The earlier PR can be closed once this one merges.

…0.1.3

Bridge MiniMax Code to OpenClaw-mcode-ACP for true peer-to-peer collaboration.

Includes:
- plugin.json (name=openclaw-acp-bridge, version=0.1.3, license=Apache-2.0)
- README.md (overview + smoke test + authentication + SDK contract)
- LICENSE (Apache-2.0)
- scripts/smoke.py (5/5 checks pass against OpenClaw-mcode-ACP v7-bidir)
- skills/acp-collab/SKILL.md (peer inbox: read/push/ask/answer)
- skills/acp-task-dispatch/SKILL.md (dispatch tasks to ACP HTTP server)

Tested with validator at scripts/lib/validation.mjs:
- YAML frontmatter present and valid
- plugin.json has \ + name + license
- skill name matches directory name
- README.md and LICENSE non-empty
- no TODO placeholders, no symlinks

Replaces v0.1.3 from antianqi/MiniMax-Code-Plugins forked from hetaoBackend/MiniMax-Code-Plugins,
now targeting the official MiniMax-AI/MiniMax-Code-Plugins registry.
@antianqi

Copy link
Copy Markdown
Author

@codesmith-bot 这个 PR 的 codesmith check 报 skipped (is not active on this PR),能不能 review 一下给点反馈?plugin 是 openclaw-acp-bridge v0.1.3,validator 本地过了 (OK plugin antianqi/openclaw-acp-bridge)。

@blacksmith-sh

blacksmith-sh Bot commented Aug 18, 2026

Copy link
Copy Markdown

Hi @antianqi! [code]smith requires write access to this repository. You currently have read-only access to MiniMax-AI/MiniMax-Code-Plugins.

@hetaoBackend hetaoBackend left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review result: do not approve / do not merge yet.

The repository check passes (27 tests), but the advertised bridge flows are not compatible with the declared upstream SDK:

  • skills/acp-task-dispatch/SKILL.md:36-66 imports list_history although upstream exposes history, treats create_task() as a mapping although it returns a task-id string, expects {"tasks": [...]} although history returns a list, and polls for completed although the terminal success state is succeeded.
  • skills/acp-collab/SKILL.md:84-90 treats inbox_read() as a mapping although it returns a list; the documented peer_greet() path also attributes messages to the wrong sender.
  • The README says ACP_TOKEN or <ACP_HOME>/.acp_token configures authentication (README.md:59-72), but the actual upstream client used by the Skills does not read those values; the smoke test bypasses the SDK and manually sends the token.
  • scripts/smoke.py:103-149 accepts an unrestricted ACP_BASE_URL and sends ACP_TOKEN there, so a non-loopback URL can capture the token, contradicting README.md:61-66.
  • README.md:128-130 claims a pinned CI workflow, but .github/workflows/openclaw-acp-bridge-smoke.yml is absent from the PR/tree.

Please pin and test one upstream revision, make the Skills match its actual API/auth contract, restrict the smoke-test destination or remove token use from it, and add the claimed CI workflow before requesting another review.

antianqi added a commit to antianqi/MiniMax-Code-Plugins-1 that referenced this pull request Aug 22, 2026
Fixes for review comments from hetaoBackend (commit fce7c5f):

  MiniMax-AI#1 detector hard-coded path: resolve the [userprofile]/.minimax-code
     directory at runtime via the mcode node process cmdline (regex on
     @minimax-ai/code/cli.js), with fallbacks to $env:USERPROFILE/.minimax-code,
     $env:APPDATA/minimax-code, and the current working directory.
     Override with -Root [path].

  MiniMax-AI#2 idle fallback unreachable: mtime cache now returns the last inferred
     message instead of null, so the 60s stale -> idle branch fires every
     poll. Verified locally: idle :: already idle 195s after 65s of inactivity.

  #2b session log: prefer ledger.jsonl (mcode v2 event stream) and fall
     back to messages.jsonl when ledger is missing. Both formats are handled
     in Infer-State (kind/phase for ledger, message.role for messages).

  MiniMax-AI#3 PID reuse safety: start/stop-{island,detect-island}.ps1 now verify
     the target PID command line contains the expected script path before
     acting. Stale PIDs and PID-reused processes are refused with a
     REFUSED log line instead of being killed.

  MiniMax-AI#4 wrap-tool.ps1 shell-injection: removed Invoke-Expression entirely.
     The wrapper is now status-only; the agent runs the command via mcode's
     own bash tool and passes -ExitCode to publish the outcome.
     Documented in README + SKILL.md.

  MiniMax-AI#5 README: -Enable -> -Action Enable to match autostart.ps1 parameter set.

  MiniMax-AI#6 start-island.ps1 readiness: dropped the 'about to ShowDialog' log wait
     (which was never emitted). Now polls MainWindowHandle != 0 every 500ms
     for up to 8s.

Tests: validator reports OK plugin antianqi/mcode-island. wrap-tool
6-state matrix verified locally (working / done / waiting / error).
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.

2 participants