Skip to content

fix: review feedback — credentials, portability, smoke test - #14

Closed
antianqi wants to merge 2 commits into
hetaoBackend:mainfrom
antianqi:fix/review-feedback-pr2
Closed

fix: review feedback — credentials, portability, smoke test#14
antianqi wants to merge 2 commits into
hetaoBackend:mainfrom
antianqi:fix/review-feedback-pr2

Conversation

@antianqi

Copy link
Copy Markdown

What

Addresses the 3 review comments on PR #2 (Add antianqi/openclaw-acp-bridge v0.1.0):

  1. Credentials disclosure contradictionacp-task-dispatch/SKILL.md Failure handling
    used to say "the server is likely down or the auth token is invalid". Reworded to
    "the server is likely down or rejected the request", and explicitly notes this
    Plugin does not embed or manage credentials$ACP_TOKEN lives in the user's
    environment. The PR's "no credentials" claim is now consistent.

  2. Portability (ACP_HOME override was fictional) — both SKILL.md files used to
    contain sys.path.insert(0, r'D:/openclaw-acp/openclaw-skill') (literal hardcoded
    path). Now they read $ACP_HOME first and raise a clear RuntimeError with setup
    instructions if it is unset. macOS / Linux / non-D: Windows installs now work.

  3. External server/SDK is a runtime dependency — needs version pin + smoke test

    • README Requirements pinned to OpenClaw-mcode-ACP v7-bidir or later.
    • Added scripts/smoke.py (PR-reproducible, no MiniMax Code required, ~10s):
      validates $ACP_HOME resolves, SDK imports, /acp/health returns 200, inbox
      write/read roundtrip works, and that no SKILL.md still references hardcoded
      D:/openclaw-acp.
    • Plugin version bumped 0.1.0 → 0.1.1.

Reply to each review point

① 凭据披露互相矛盾

  • Plugin 不持有、不生成、不读取任何 token。
  • SKILL.md 中"auth token is invalid"措辞已替换为"server rejected the request",明确说明 token 在用户环境($ACP_TOKEN)里,Plugin 只发起请求、不知道也不关心凭据本身。
  • PR 的"No tokens, credentials, or paid services"声明与代码现在一致。

② 可移植性不成立

  • 两个 Skill 的代码示例里 sys.path.insert(0, r'D:/openclaw-acp/openclaw-skill') 已替换为:
    import os, sys
    _acr_root = os.environ.get('ACP_HOME')
    if not _acr_root:
        raise RuntimeError('ACP_HOME env var is not set. Install OpenClaw-mcode-ACP and set ACP_HOME ...')
    sys.path.insert(0, os.path.join(_acr_root, 'openclaw-skill'))
  • macOS / Linux / 任意 Windows 盘符都可用;ACP_HOME 不设就明确报错而不是默默失败。
  • scripts/smoke.py Check 6 静态扫描所有 SKILL.md 文件,确认没有 hardcoded 路径漏网。

③ 外部 server/SDK 是运行时依赖

  • README Requirements 显式声明需要 OpenClaw-mcode-ACP v7-bidir+(之前的 PR 没写最低版本契约)。
  • 新增 scripts/smoke.py:在 PR 内可复现,6 项 check:ACP_HOME 解析 / SDK 可导入 / acp_paths 跨平台 / /acp/health 200 / inbox 读写 roundtrip / SKILL.md 无 hardcoded 路径。
  • 不依赖 MiniMax Code 本身,可独立运行。

Files changed

 plugins/antianqi/openclaw-acp-bridge/README.md                        |  18 +-
 plugins/antianqi/openclaw-acp-bridge/plugin.json                      |   2 +-
 plugins/antianqi/openclaw-acp-bridge/scripts/smoke.py                 | 187 + (new)
 plugins/.../skills/acp-collab/SKILL.md                                |  11 +-
 plugins/.../skills/acp-task-dispatch/SKILL.md                         |  12 +-

5 files changed, +222 / -8

…(v0.1.0)

Bridge MiniMax Code to the OpenClaw-mcode-ACP server for true
peer-to-peer collaboration via the inbox protocol.

Skills:
  - acp-collab        : read inbox, push progress, ask/answer blocking Q
  - acp-task-dispatch : fire-and-forget task dispatch with persistence

Includes:
  - plugin.json with schema URL, license (Apache-2.0), author, repo
  - README.md with problem statement, example prompt, requirements,
    test evidence
  - LICENSE (Apache-2.0, copied from repo root)
  - 2 SKILL.md files (no TODO placeholders, valid frontmatter)

Validated locally: OK plugin antianqi/openclaw-acp-bridge
(5/5 inbox endpoint tests + stub-mavis end-to-end demo on the server side)
Addresses 3 review comments on PR hetaoBackend#2 (openclaw-acp-bridge v0.1.0):

1. Credentials disclosure: removed 'auth token is invalid' wording in
   acp-task-dispatch SKILL.md failure handling. The Plugin does not own
   credentials — user is now told to verify server reachability and
   their own environment configuration.

2. Portability: replaced hardcoded 'sys.path.insert(0, r''D:/openclaw-acp/openclaw-skill'')'
   in BOTH skills with ACP_HOME-driven import. Missing env var now
   raises a clear RuntimeError with setup instructions, instead of
   silently failing on macOS / Linux / non-D: Windows installs.

3. Runtime deps + smoke test:
   - README Requirements pinned to OpenClaw-mcode-ACP v7-bidir+
   - Added scripts/smoke.py (PR-reproducible, no MiniMax Code required):
     validates ACP_HOME resolution, SDK import, /acp/health 200,
     inbox write/read roundtrip, and that no SKILL.md still references
     hardcoded D:/openclaw-acp paths.
   - Version bumped to 0.1.1

Files:
  README.md                                     |  18 +-
  plugin.json                                   |   2 +-
  scripts/smoke.py                              | 187 + (new)
  skills/acp-collab/SKILL.md                    |  11 +-
  skills/acp-task-dispatch/SKILL.md             |  12 +-
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