CommunityCodierung & Entwicklunggithub.com

OpenClaw Vorab-Release Plugin-Testing

Planen und Ausführen von OpenClaw Plugin-Validierung vor der Veröffentlichung über gebündelte Plugins, Paketartefakte, Lebenszyklusbefehle, Doctor/Fix, Konfigurationszyklus, Gateway-Start, SDK-Kompatibilität, Docker-E2E, Paketabnahme und Testbox-Nachweis.

Was ist OpenClaw Vorab-Release Plugin-Testing?

Diese Fähigkeit ermöglicht es Entwicklern und QA-Teams, OpenClaw-Plugins vor einer Veröffentlichung systematisch auf verschiedenen Ebenen zu validieren. Sie deckt die gesamte Plugin-Produktoberfläche ab: von der Installation und Konfiguration gebündelter Plugins über die Überprüfung von Paketartefakten in einer sauberen Umgebung bis hin zu Doctor/Fix-Prüfungen, Konfigurationsrundgängen, Gateway-Start mit Plugin-Metadaten und SDK-Kompatibilität für externe Plugins. Die Fähigkeit priorisiert die Ausführungsumgebung: zuerst GitHub Package Acceptance für installierbare Pakete, dann Blacksmith Testbox für Docker- und Paket-Lanes, gefolgt von Ci-Checks für Quellcode-Prüfungen und lokalen Befehlen für schnelle, kleine Tests. Sie bietet detaillierte Matrizen für Plugin-Lebenszyklen, Doctor/Fix-Zyklen, Gateway-Bootstrap und Konfigurationsrundgänge mit repräsentativen Plugin-Familien (z. B. Anbieter wie OpenAI/Anthropic, Kanäle wie Telegram/Discord, Speicher wie memory-lancedb). Die Berichterstattung erfolgt strukturiert mit Paket-Referenz, Testbox-IDs, Erfolgs-/Fehlermatrix und nächsten Lücken, wobei Testbox-Synchronisationsschäden klar von Produktfehlern unterschieden werden. Die Fähigkeit unterstützt OpenClaw in Docker-Umgebungen und CI/CD-Workflows auf GitHub Actions.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/openclaw-pre-release-plugin-testing

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht OpenClaw Vorab-Release Plugin-Testing?

Verwenden Sie diese Fähigkeit, wenn der Benutzer nach Plugin-Release-Sicherheit, Plugin-Lebenszyklus-Sweeps, Paketartefakt-Plugin-Nachweisen oder „Was sollten wir noch vor dem Release testen?“ fragt. Sie ergänzt openclaw-testing; nutzen Sie auch diese Fähigkeit, wenn Sie den günstigsten sicheren Runner auswählen oder eine fehlschlagende Lane debuggen.

Ziel

Nachweisen, dass das Plugin-System als Produktoberfläche funktioniert, nicht nur als Quellcode-Tests:

  • Lebenszyklus gebündelter Plugins: installieren, inspizieren, aktivieren, deaktivieren, deinstallieren
  • Paketartefakt-Verhalten in einem sauberen HOME
  • Doctor/Fix/Konfigurationsvalidierung und Idempotenz
  • Konfigurationserkennung und Konfigurationsrundgang
  • Status-/Log-Sichtbarkeit und Diagnostik
  • Gateway-Start/Bootstrap mit Plugin-Metadaten-Snapshots
  • Öffentliche SDK-Kompatibilität für echte externe Plugins
  • Live-ähnliche Provider-/Kanal-Abfragen nur, wenn sichere Anmeldeinformationen vorhanden sind

Erste Prüfungen

Aus dem OpenClaw-Repository-Stammverzeichnis:

pnpm docs:list
git status --short --branch
readlink node_modules
pnpm changed:lanes --json

In Codex-Worktrees unter .codex/worktrees muss node_modules ein Symlink zum Haupt-OpenClaw-Checkout sein. Führen Sie dort nicht pnpm install aus. Für breite oder paketlastige Nachweise verwenden Sie Blacksmith Testbox oder GitHub Actions.

Runner-Auswahl

Bevorzugen Sie diese Reihenfolge:

  1. GitHub Package Acceptance für produktnahen Installationsnachweis von installierbaren Paketen.
  2. ci-build-artifacts-testbox.yml Testbox, wenn Docker-/Paket-Lanes mit dist, dist-runtime und Paket-Caches gefüllt werden müssen.
  3. ci-check-testbox.yml Testbox für Quellcode-Prüfungen, gezielte Vitest-Tests, Paketgrenzen-Prüfungen oder fokussierte Docker-Lanes.
  4. Lokale gezielte Befehle nur für kleine Format-/Static-/Unit-Abfragen.

Vermeiden Sie lange Paket-Docker-Ausführungen aus einem veralteten spärlichen Worktree. Wenn die Testbox-Synchronisation Hunderte von geänderten Dateien meldet oder beginnt, Paket-Eingaben zu löschen, stoppen Sie und holen Sie eine frische Box vom aktuellen main, oder wechseln Sie zu Package Acceptance.

Vorhandene Basislinie

Führen Sie diese aus oder überprüfen Sie sie, bevor Sie neue Abdeckung erfinden:

OPENCLAW_TESTBOX=1 pnpm check:changed
pnpm run test:extensions:package-boundary:canary
pnpm run test:extensions:package-boundary:compile
pnpm test:docker:plugins
OPENCLAW_PLUGINS_E2E_CLAWHUB=0 pnpm test:docker:plugins
pnpm test:docker:plugin-update
pnpm test:docker:bundled-channel-deps:fast

Für den vollständigen Installations-/Deinstallationsnachweis gebündelter Plugins verteilen Sie den Sweep:

OPENCLAW_BUNDLED_PLUGIN_SWEEP_TOTAL=8 \
OPENCLAW_BUNDLED_PLUGIN_SWEEP_INDEX=<0-7> \
pnpm test:docker:bundled-plugin-install-uninstall

Erwartete aktuelle Paketabdeckung: 116 öffentliche gebündelte Plugins über Shards 0–7. Private QA-Plugins sind nur im Quellmodus, es sei denn, ein Paket schließt sie explizit ein.

Vertrauensmatrix

Verwenden Sie diese Matrix für die Vorab-Freigabe. Erfassen Sie Erfolg/Fehlschlag, Run-URL/Testbox-ID, Paket-SHA/Version und Grund für ausgelassene Live-Tests.

OberflächeNachweisBevorzugter Runner
PaketartefaktPackage Acceptance suite_profile=package oder benutzerdefinierte LanesGitHub Actions
Gebündelter Lebenszyklus8-Shard test:docker:bundled-plugin-install-uninstallTestbox oder Release Docker
Externe Pluginstest:docker:plugins und plugins-offlineTestbox/Package Acceptance
Update ohne Änderungtest:docker:plugin-updateTestbox/Package Acceptance
Channel-Laufzeitabhängigkeitentest:docker:bundled-channel-deps:fast plus wichtige ChannelsTestbox/Package Acceptance
Doctor/FixGesäte fehlerhafte Konfigurationen + doctor --fix --non-interactiveNeue Docker/Testbox-Harness
Konfigurationsrundgangconfig set/get, inspect, doctor, reload, diff hashNeue Docker/Testbox-Harness
Gateway-BootstrapSauberes HOME, Plugin-Gruppen aktiviert/deaktiviert, Status-JSONNeue Docker/Testbox-Harness
SDK-KompatibilitätVerzeichnis-, tgz- und file:-externe Plugins mit SDK-Unterpfadentest:docker:plugins plus neuer Smoke
Live-ähnlichGeschwärzte Provider-/Kanal-Abfragen nur für vorhandene UmgebungTestbox Live-Lanes

Plan für Package Acceptance

Verwenden Sie dies, wenn Sie einen Release-Branch, eine Beta oder ein Kandidatenpaket validieren:

gh workflow run package-acceptance.yml \
  --repo openclaw/openclaw \
  --ref main \
  -f workflow_ref=main \
  -f source=ref \
  -f package_ref=<branch-oder-sha> \
  -f suite_profile=custom \
  -f docker_lanes='plugins-offline plugin-update bundled-channel-deps-compat doctor-switch update-channel-switch config-reload mcp-channels npm-onboard-channel-agent' \
  -f telegram_mode=mock-openai

Verwenden Sie source=npm -f package_spec=openclaw@beta für einen Nachweis der veröffentlichten Beta. Behalten Sie workflow_ref als vertrauenswürdigen aktuellen Harness-Code bei, es sei denn, der Release-Prozess sagt etwas anderes.

Plan für neue Testbox-Harness

Falls mehr Sicherheit erforderlich ist, fügen Sie eine Docker-Lane plugin-lifecycle-matrix hinzu oder führen Sie sie aus, die ein Paket-Tarball und verteilte Plugin-Listen verwendet. Pro Plugin:

  1. Starten Sie mit einem sauberen HOME.
  2. Erfassen Sie plugins list --json.
  3. plugins install <id>.
  4. plugins inspect <id> --json.
  5. plugins disable <id>, dann bestätigen Sie die deaktivierte Sichtbarkeit.
  6. plugins enable <id>, außer bei konfigurationserfordernden Plugins ohne Konfiguration.
  7. plugins registry --refresh.
  8. doctor --non-interactive.
  9. plugins uninstall <id> --force.
  10. Bestätigen Sie, dass kein Konfigurationseintrag, allow/deny-Rückstand, Installationsdatensatz, verwaltetes Verzeichnis oder gebündelter dist/extensions/...-Ladepfad übrig bleibt.
  11. Bestätigen Sie, dass die Diagnostik kein level: "error" enthält und die Ausgabe geheimnisaussehende Werte schwärzt.

Behandeln Sie memory-lancedb speziell: es ist konfigurationserfordernd. Bestätigen Sie zuerst, dass die Installation es ohne eingebettete Konfiguration nicht aktiviert, führen Sie dann einen zweiten konfigurierten Fall aus.

Doctor/Fix-Matrix

Säen Sie fehlerhafte Zustände und verlangen Sie, dass doctor --fix --non-interactive sie repariert, führen Sie dann doctor erneut aus und verlangen Sie Idempotenz:

  • veraltete plugins.allow
  • veraltete plugins.entries
  • veraltete Channel-Konfiguration für fehlendes Channel-Plugin
  • ungültige plugins.entries.<id>.config
  • gepackter gebündelter Pfad in plugins.load.paths
  • Legacy plugins.installs
  • deaktivierte Channel-/Plugin-Konfiguration, die keine Laufzeitabhängigkeiten bereitstellen darf
  • root-eigener globaler Paketbaum, der unverändert bleiben muss

Gateway-Bootstrap-Matrix

Starten Sie gepacktes OpenClaw in Docker mit sauberem Zustand:

  • Provider-Plugins aktiviert, keine Anmeldeinformationen: bereit mit Warnungen, kein Absturz
  • Channel-Plugins als deaktiviert konfiguriert: keine Laufzeitabhängigkeiten bereitgestellt
  • Startaktivierungs-Plugins aktiviert: bereit und im Status reflektiert
  • Ungültige einzelne Plugin-Konfiguration: fehlerhaftes Plugin übersprungen/in Quarantäne, andere bleiben erhalten

Bestätigen Sie:

  • Gateway erreicht den Zustand „bereit“
  • openclaw status --json enthält Plugin-Diagnostik
  • openclaw plugins inspect --all --json ist parsebar
  • Paketbaum wird nicht verändert
  • Logs enthalten keine rohen Tokens

Repräsentanten für Konfigurationsrundgang

Verwenden Sie repräsentative Plugin-Familien statt jedes Plugins für tiefe Konfigurationsrundgänge:

  • Provider: openai, anthropic, mistral, openrouter
  • Channels: telegram, discord, slack, whatsapp
  • Speicher: memory-lancedb
  • Feature/Laufzeit: browser, acpx, tokenjuice

Für jeden Repräsentanten:

  1. Schreiben Sie Konfiguration über die CLI, wenn möglich.
  2. Lesen Sie sie über config get oder JSON zurück.
  3. Führen Sie plugins inspect aus.
  4. Führen Sie doctor --non-interactive aus.
  5. Lösen Sie gegebenenfalls einen Gateway-Konfigurationsneulad aus.
  6. Vergleichen Sie den Konfigurations-Hash vor und nach No-Op-Befehlen.

Externer SDK-Smoke

Erstellen Sie in einer Paket-Docker-Lane winzige externe Plugins und installieren Sie sie von:

  • lokalem Verzeichnis
  • .tgz
  • file: npm-Spezifikation

Decken Sie CJS- und ESM-Formen ab, sowie mindestens ein Plugin, das fokussierte openclaw/plugin-sdk/*-Unterpfade importiert. Bestätigen Sie, dass plugins inspect dessen Tool, Gateway-Methode, CLI-Befehl oder Dienst sieht.

Regeln für Live-ähnliche Abfragen

Bevor Sie live-ähnliche Arbeit durchführen, quellen Sie erlaubte Umgebung in Testbox und generieren Sie eine geschwärzte Verfügbarkeitsmatrix: nur vorhanden/fehlend, niemals Werte.

Führen Sie Abfragen nur für Anmeldeinformationen aus, die existieren. Bevorzugen Sie Auth-/Katalog-/Status-Abfragen gegenüber dem Senden von benutzersichtbaren Nachrichten. Wenn eine Abfrage einen externen Benutzer, Channel oder Arbeitsbereich kontaktieren könnte, stoppen Sie und fragen Sie den Benutzer.

Berichterstattung

Berichten Sie in dieser Form:

package/ref:
tbx ids / run urls:
matrix:
  gebündelter Lebenszyklus:
  Paketakzeptanz:
  doctor/fix:
  gateway-bootstrap:
  konfigurationsrundgang:
  sdk-extern:
  live-ähnlich:
fehlschläge:
auslassungen:
nächste lücke mit höchstem Wert:

Sagen Sie klar, wenn ein Fehlschlag auf Testbox-Synchronisations-/Umgebungsschäden und nicht auf Produktverhalten zurückzuführen ist, und beweisen Sie dies mit einem sauberen erneuten Lauf oder einem Vergleich mit aktuellen main.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills and agent Templates when requested; add Templates; install, verify, update, uninstall, publish, or sync skills.

Verwandte Skills