npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

openclaw-quick-setup

v0.5.2

Published

Detect & fix setup-time silent failures in OpenClaw via /quick-setup slash command. 5 detect rules + 4 apply targets + rollback.

Readme

openclaw-quick-setup

A runtime-slash plugin for OpenClaw that detects — and where safe, auto-fixes — silent failures in your gateway configuration.

If your bindings, accounts, or memorySearch are subtly misconfigured, OpenClaw often keeps running but ignores them, fails open, or silently degrades. openclaw doctor and openclaw plugins doctor don't catch most of these. This plugin does.

Install

openclaw plugins install openclaw-quick-setup

Then restart your gateway. The plugin registers a single slash command, /quick-setup, available on every channel that supports slash commands (Discord, Telegram, Slack, Feishu, …).

Usage

/quick-setup            # Run all 5 detect rules, full output with fix hints.
/quick-setup brief      # One line per WARN, no hints. For large multi-agent setups.
/quick-setup help       # Full usage, examples, notes.

/quick-setup apply <rule> <args>   # Auto-fix (writes config; saves a backup first).
/quick-setup rollback              # Undo the most recent apply.

What it detects (5 rules)

| Rule | Catches | |---|---| | binding-missing-account-id | bindings[].match.accountId missing in a multi-account channel → silent fallback to default agent | | binding-unregistered-agent | bindings[].agentId not in agents.list → binding silently no-ops | | ghost-default-account | channels.<ch>.accounts.default coexists with named accounts (residue from top-level policy normalization) | | embedding-provider-credentials | memorySearch.provider has no usable credentials → auto-pick crashes indexing or silently degrades to FTS-only | | plugin-install-path-issue | plugins.installs.<id> path missing or custom → broken on next openclaw upgrade |

Each WARN line includes a copy-pasteable Fix: /quick-setup apply ... syntax.

What it can auto-fix (4 of 5)

| Apply target | Action | |---|---| | apply ghost-default-account <channel> | Deletes channels.<channel>.accounts.default. | | apply binding-missing-account-id <bindingIndex> <accountId> | Sets bindings[i].match.accountId. Use * to match any account on that channel. | | apply binding-unregistered-agent <bindingIndex> <agentId> | Sets bindings[i].agentId to a registered agent. | | apply embedding-provider-credentials <target> <provider> [<modelPath>] | Sets memorySearch provider. <target> = defaults or an agent ID. Validates env credentials for remote providers. Never accepts API keys via slash — set them as env vars on the gateway, then run apply. |

plugin-install-path-issue is intentionally not auto-fixed — it would require shell exec (outside the config-write surface). Run openclaw plugins install <package> manually.

Rollback

/quick-setup rollback restores the previous config from a single-slot backup at ~/.openclaw-quick-setup-backup.json (mode 0600). Each apply overwrites the previous backup, so only the most recent change can be undone.

Why this exists

Two real silent-failure classes that motivated the plugin:

  1. Embedding auto-pick crash (gap 1). When memorySearch.provider="auto" (default) and no credentials are detectable, OpenClaw's auto-pick may settle on Bedrock and fail with CredentialsProviderError, or silently degrade memory search to FTS-only. The user never sees a configuration error — just gradually missing memory hits. Tracked upstream as openclaw#71143; the proposed fix (PR openclaw#71245) was rejected by maintainers, so external solutions are needed.

  2. Multi-account binding traps (gap 2). In a multi-account channel (e.g., two Discord bots in one guild), omitting match.accountId causes binding to silently route to the default agent. Reported across channels — Discord (#56051), Feishu (#39382), QQBot (#69546) — but no automated detector exists, only docs.

This plugin is a slash-command detector, designed to surface these traps in the place users will actually notice them: in chat. It complements rather than replaces watchdog daemons like openclaw-cli (Sobranier) and clawtool (tunanet), which focus on runtime/uptime monitoring.

Compatibility

  • OpenClaw: ≥ 2026.4.21 (the release that introduced the memory module and the plugin-sdk/config-runtime write API used here).
  • Node: ≥ 20.
  • Channels: any channel with slash-command support. Live-verified on Discord. Other channels (Telegram, Slack, Feishu, …) should work but are unverified.

License

MIT — see LICENSE.