@folotoy/folotoy-openclaw-plugin
v0.9.1
Published
Interactive installer + preset CLI for the FoloToy OpenClaw plugin.
Readme
@folotoy/folotoy-openclaw-plugin
Interactive installer for @folotoy/folotoy-openclaw-core — generates a pairing QR code, writes the OpenClaw config, restarts the gateway.
npx -y @folotoy/folotoy-openclaw-plugin install [--preset <name>]Why a separate package
OpenClaw's plugin security scanner (2026.4.x+) rejects packages that contain child_process execution or process.env access combined with fetch() — patterns that any interactive installer legitimately needs. Splitting the installer out keeps the runtime channel package (@folotoy/folotoy-openclaw-core) clean and scanner-passing, while this CLI package is only ever fetched via npx (never via openclaw plugins install).
The installer's installPlugin() step internally runs openclaw plugins install @folotoy/folotoy-openclaw-core@<version> to register the runtime channel plugin.
Presets
Use --preset <name> to bake customer-specific defaults into channels.folotoy.* after pairing. Currently shipped:
| Preset | Effect |
|--------|--------|
| single-soothing | Sets soothing_loop_enabled = false so only the initial order=1 soothing reply is sent; no further soothing replies are emitted while waiting for the LLM. |
Preset JSON files live in src/presets/. Whitelist is restricted to soothing_loop_enabled (boolean only) — unknown keys cause a fail-fast exit before the QR pairing step.
Pairing API
The installer talks to pair.folotoy.cn to create a pairing session and poll for completion. Override the base URL with PAIR_API_BASE for local testing:
PAIR_API_BASE=http://localhost:18888 node bin/folotoy.mjs installDevelopment
npm install # at the repo root
npm test # runs both runtime + installer tests
cd installer && npx tsc # builds installer/dist/The installer's runtime version is read from its own package.json version field; the runtime plugin npm name is read from package.json folotoy.runtimePackage. Both packages release in lockstep with matching versions.
License
MIT
