@clawcollect/clawcollect
v0.2.4
Published
Hosted form collection bridge for OpenClaw
Maintainers
Readme
ClawCollect
ClawCollect adds hosted form collection to OpenClaw.
From any OpenClaw chat, you can open a form, share a public link, check progress, and summarize responses. The plugin is intentionally thin — the main collection system lives in services/online/ (Cloudflare Workers + D1).
Hosting model
ClawCollect should feel directly usable for end users.
The recommended product shape is hosted by default, with self-hosted available as an advanced option.
Hosted mode
- Users connect the plugin to a managed ClawCollect-compatible service
- Public form pages (
/f/:token) and collector results pages (/r/:token) are hosted for them - The plugin only needs an
apiUrlandapiToken - Example hosted service URL:
https://collect.dorapush.com - Self-serve signup is available at
https://collect.dorapush.com/signup - Fastest chat flow:
/collect connect hosted <workspace name> | <owner email>->/restart->/collect connect check
Self-hosted mode
- Advanced users can deploy the online service in
services/online/to their own Cloudflare account - Public form pages, collector results pages, and response data then belong to that deployment
- The plugin still connects over the same HTTP API
Install
OpenClaw plugin
openclaw plugins install @clawcollect/clawcollect
openclaw plugins enable clawcollect
openclaw daemon restartFor local development from a checkout:
openclaw plugins install -l .
openclaw plugins enable clawcollect
openclaw daemon restartOnline service
For a hosted deployment, users only need a reachable service URL and API token.
For self-hosting, deploy the backend separately from services/online/.
Config
{
plugins: {
entries: {
clawcollect: {
enabled: true,
config: {
online: {
enabled: true,
apiUrl: "https://collect.dorapush.com",
apiToken: "cc_tok_xxxxx"
}
}
}
}
}
}In hosted mode, the service operator provides the API token.
In self-hosted mode, start the online service and run POST /api/tokens.
Commands
/collect — show status and quick actions
/collect help — show available commands
/collect connect — show hosted setup steps or parse a pasted config block
/collect connect hosted <workspace name> | <owner email> | [owner name] | [signup code] — create hosted access from chat
/collect connect token <cc_tok_...> — connect with a hosted token directly from chat
/collect connect check — verify hosted/self-hosted connectivity
/collect status — show active form collections
/collect doctor — show diagnostics
/collect form open <title> — create a form and get a shareable link
/collect form status — check response count
/collect form summary — list all accepted responses
/collect form close — close the formUsage flow
/collect connect— shows the hosted signup link and the shortest connection path./collect connect hosted Acme Events | [email protected]— provisions a hosted workspace and writes the plugin config automatically./restart— reload OpenClaw so the new config becomes active./collect connect check— verifies the plugin can reach your hosted workspace./collect form open BBQ March 30— creates a form on your configured online service, publishes it, and returns a public link plus a collector results page link.- Share the link with participants. They submit responses via the web form (no auth required).
/collect form status— check how many responses have come in and reopen the results page./collect form summary— see accepted responses as a text summary in chat./collect form close— close the form so no more responses are accepted.
You can still use the browser signup page at https://collect.dorapush.com/signup; the copied config block can be pasted back into /collect connect.
Online service
The backend implementation lives at services/online/. See services/online/README.md for API reference, self-hosting setup, and architecture details.
The plugin communicates with a ClawCollect-compatible online service via a REST API using Bearer token authentication. The plugin bridge interface is documented in services/online/src/lib/plugin-bridge.ts.
What is supported
- Open / status / summary / close workflow
- Default schema: name (optional text) + response (required textarea)
- Public link generation
- Deterministic text summary (no AI)
What is NOT supported yet
- Custom form schema from the chat command
- Password-protected or expiring links
- File upload fields
- Dashboard or web management UI
- AI-powered summary
Upgrading from LifeHub (v0.1.x)
Breaking change in v0.2.0: The plugin has been renamed from
lifehubtoclawcollect.
See MIGRATION.md for the full upgrade guide.
Current limitations
- Storage uses a local JSON file for caching remote form state
- One active form collection per scope at a time
Testing
- Local command harness:
npm run command:harness -- '/collect help'— invoke the plugin slash-command handler directly without going through the LLM - Command smoke:
npm run smoke:commands— non-destructive slash-command smoke for/collect help,/collect connect, and/collect form help - Online service smoke test:
cd services/online && npm run smoke— see services/online/README.md - Role & isolation smoke:
cd services/online && npm run smoke:roles— multi-workspace isolation + owner permissions - Browser E2E smoke:
cd services/online && npm run smoke:e2e— public form browser flow (requires Playwright) - Plugin bridge smoke test: docs/PLUGIN-SMOKE.md
- Form UI checklist: docs/FORM-UI-CHECKLIST.md — visual/interaction QA for public form pages
- Release checklist: docs/RELEASE-CHECKLIST.md
See docs/MVP.md for the product design.
