Manually runs the live LobeHub official-provider compatibility matrix across Claude Code, Codex, Grok Build, Kimi Code, Pi, and TRAE when explicitly invoked by
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-testing-heterogeneous-agents-cce27f9ba2dd ,按照其中的说明把「testing-heterogeneous-agents」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
This project skill extends acceptance with one scenario: proving that every
server-advertised official model completes through each supported external CLI
agent and LobeHub's server-default provider binding.
It does not replace Acceptance. Use Acceptance for the plan, approval gate,
evidence contract, immutable rounds, publishing, and teardown. Use
.agents/acceptance/PROJECT.md for LobeHub's Electron launch, auth, CDP, and
multi-instance commands. This skill owns only the compatibility-matrix semantics
and its executable harness.
The user invokes this skill with /testing-heterogeneous-agents in Claude Code
or $testing-heterogeneous-agents in Codex. Do not automatically load or execute
it as part of development, debugging, acceptance, or release tasks, and do not
schedule it. A reference from another skill is not permission to invoke it.
Manual invocation still requires scope and cost approval before live requests.
The matrix covers:
getServerDefaultHeterogeneousCapability response;anthropic-messages or
openai-responses);It does not cover user-defined providers, user-managed API keys, general model quality, tool-use quality, or ordinary chat-agent execution. Add a separate scenario instead of silently widening this matrix.
HARNESS=.agents/skills/testing-heterogeneous-agents/scripts/official-smoke.mjs
# Discover the live matrix and installed CLI versions. Makes no model calls.
node "$HARNESS" list --json
# Narrow discovery when validating one change.
node "$HARNESS" list --agent claude-code,codex --model MODEL_ID --json
# Execute selected or all cells through the real official provider.
node "$HARNESS" run --confirm-live --topic-id TOPIC_ID --cdp 9222
Filters, topic id, and non-default CDP port are optional when the attached Electron window already supplies the intended scope.
Exit codes:
| Code | Meaning |
|---|---|
0 | Every selected cell passed |
1 | At least one selected cell failed |
2 | No failures, but at least one cell was blocked |
3 | Electron, authentication, topic, or capability preflight failed |
Read the acceptance skill, .agents/acceptance/PROCESS.md, and
.agents/acceptance/PROJECT.md. Follow their approval and teardown rules. This
scenario makes billable requests and creates server operation records, so never
infer permission to run it from a request to inspect or list the matrix.
Run list --json first. It reads the live capability response and probes only
already-installed CLI binaries with version/help flags. Use its exact cells as
the plan; do not maintain a second hard-coded model list.
Report missing CLIs as blocked. Do not install, update, or sign in to an external CLI during this workflow. To suppress Claude Code's background update paths even during detection, start or restart the Electron instance with:
DISABLE_AUTOUPDATER=1 DISABLE_UPDATES=1 \
.agents/acceptance/scripts/electron-dev.sh start
Use the Electron section of .agents/acceptance/PROJECT.md to attach to an
already-running signed-in instance or start one for this run. Confirm an active
personal topic or pass --topic-id. Never trigger an interactive OAuth flow.
For each live run, present the discovered agents/models and obtain the
Acceptance plan approval before passing --confirm-live. Run sequentially; do
not parallelize cells because the CLIs share profiles and provider quota.
For repeated manual runs of the same compatibility scope, reuse one stable Acceptance subject so every execution becomes another immutable round in the same history. Previous runs do not authorize another live run.
Run the selected matrix with --confirm-live. By default each CLI receives an
isolated workspace inside the report directory. Pass --cwd only when a real
project workspace is part of the compatibility claim.
The harness starts each cell idempotently in the renderer and polls it with short
host-side evaluations. Do not replace this with one long agent-browser eval:
long evaluations can be retried by the driver and duplicate live requests.
The harness writes an Acceptance-compatible result.json, one text evidence
artifact per cell, and a structured matrix table under:
.records/reports/<timestamp>-heterogeneous-official-provider-smoke/
Unless --report-dir selects another location. Inspect the report and evidence;
do not infer success from the process exit code alone. Publish it with the clean
production lh acceptance run ingest environment required by
.agents/acceptance/PROCESS.md. Confirm that every matrix cell has its required
text evidence and return only the stable Acceptance URL.
Use each failed cell's evidence to identify the first broken boundary:
Load the heterogeneous-agent skill for raw trace, adapter, IPC, persistence, or
terminal-event diagnosis. A model refusing one ingress but passing another is a
request-compatibility signal, not proof of an adapter bug.
run requires --confirm-live; never bypass this gate.The self-test uses a fully stubbed agent-browser; it launches no browser,
external CLI, or model request:
bash .agents/skills/testing-heterogeneous-agents/scripts/official-smoke.test.sh