-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Claude summary:
E2E OpenClaw integration test: We want a test that exercises the real claas-feedback plugin
through OpenClaw (chat → plugin caches context → /feedback → proxy cache lookup → CLaaS
distillation), rather than reimplementing the plugin logic in Python, so we can catch regressions
in the actual production code path.
Why it's hard: OpenClaw's HTTP gateway (/v1/chat/completions) doesn't fire the message_received
plugin hook, so the plugin's context cache stays empty and /feedback always returns "No recent
conversation found." The only way to trigger the hooks is through a real Telegram channel, which
means switching OpenClaw to webhook mode and mocking the Telegram Bot API.
What we built and where it broke: We created a mock Telegram API server (Python, self-signed cert,
DNS-redirected via Docker extra_hosts) and a compose test overlay. The full pipeline worked —
both plugin hooks fired, sendMessage was captured by the mock, model responded correctly. Two
blockers remain: (1) the Tinker proxy cold-starts on first inference (tokenizer download >120s),
needing a warm-up step, and (2) OpenClaw's plugin config schema (openclaw.plugin.json) silently
strips unrecognized keys, so feedbackBatchSize: 1 never reaches the plugin — the schema needs all
config fields declared.