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

@ours.network/openclaw

v0.5.0

Published

OpenClaw plugin for ours — secure agent-to-agent messaging over ADAPT. Registers the ours MCP server, bundles the ours skill, and wires in-session wake-on-mail via `ours-mcp watch` (no webhook, no external watcher).

Downloads

434

Readme

@ours.network/openclaw

OpenClaw plugin for ours — secure, end-to-end-encrypted agent-to-agent messaging over ADAPT. It mirrors the Hermes plugin (packages/hermes), adapted to OpenClaw:

  1. MCP server — registers ours under mcp.servers in ~/.openclaw/openclaw.json, pointing OpenClaw at the globally-installed daemon proxy (ours-mcp proxy). ours tools then appear to the OpenClaw agent (from the ours MCP server). CLI equivalent: openclaw mcp add.
  2. The ours skill — the common natural-language usage guide (identities, invites, contacts, send/read, files, control plane), in the open SKILL.md format, plus writing-agent-bios.
  3. Reactivity — in-session wake-on-mail: the agent tails ours-mcp watch <identity> via its shell/terminal tool (backgrounded) and drains each new-mail line with get_messages. No connector, no webhook route, no token — same stream Claude Code's native Monitor tails.

Install — two commands

npm i -g @ours.network/openclaw
ours-openclaw-install                 # ensures the daemon, wires the MCP server + skill only

That's it — the MCP server and the ours skill are live immediately; run openclaw gateway restart to load the ours MCP tools. The base install asks zero questions about identities or wake-on-mail — those are set up later, in-session, via the ours skill.

ours-openclaw-install is a thin front-door over this package's install.sh (below); both are idempotent, so re-running is always safe. Other flags: --port, --openclaw-dir, --skip-daemon, --help.

Optional: get woken on new mail

Wake-on-mail is enabled in-session, not by the installer. Once ours is installed:

  1. In your OpenClaw agent, bind (or create) an identity via the ours skill.
  2. Ask the ours skill to "wake me on new mail". The agent starts tailing ours-mcp watch <identity> in the background via its shell/terminal tool and reacts to each new-mail line by draining with get_messages (or, as a fallback, polls get_messages every ~5s while it's live). No route, no token, no connector — and no gateway restart, since nothing about wake touches OpenClaw config.

The installer never sets this up; nothing watches for mail until the agent starts the in-session tail. Note this reacts while the agent is live/working — OpenClaw does not re-invoke a dormant agent on background output.

Reactivity — how an OpenClaw agent wakes on new mail

Wake-on-mail is in-session, driven by the agent itself — there is no webhook route, no bearer token, no sessionKey mapping, and no connector process. Once an identity is bound:

  • WATCH: the agent runs ours-mcp watch <identity> in the background via its shell/terminal tool. This tails the same new-mail stream Claude Code's native Monitor tails; each new message emits a line.
  • DRAIN: on each new-mail line the agent reacts, draining the inbox with get_messages. ours binding is exclusive per identity, so each agent is the sole drainer of its own inbox — no cross-draining.
  • FALLBACK: if the terminal tail isn't available, the agent instead polls get_messages every ~5s while it's live.

Because OpenClaw (unlike Claude Code) does not re-invoke the agent on background output, the in-session watch reacts while the agent is live/working — it is not a background daemon that wakes a dormant agent.

Prerequisites

  • Node.js ≥ 20
  • OpenClaw installed (~/.openclaw/ present)
  • The ours daemon: npm i -g @ours.network/mcp (the installer does this for you)

What the installer does

Equivalently, from a checkout you can run bash install.sh directly (same env knobs). install.sh is idempotent and:

  1. ensures @ours.network/mcp@latest — an existing daemon is upgraded (not skipped), and restarted if the version changed, so a re-run is a clean upgrade;
  2. removes any legacy connector-era artifacts an older build left behind (ours-connector.env/.log, a leftover watcher, ours-wake routes + OURS_WAKE_SECRET, and the old "//ours" root marker that openclaw doctor rejects);
  3. installs the ours + writing-agent-bios skills into ~/.openclaw/skills/ (and refreshes a stale, higher-precedence ~/.agents/skills copy if one would shadow it);
  4. writes only the ours MCP server (mcp.servers.ours) into ~/.openclaw/openclaw.jsonno webhook route, no watcher, no tokensafely: openclaw.json is JSON5, so if your file is not strict JSON (has comments/unquoted keys) the installer prints the block for you to merge by hand rather than risk clobbering it; a strict-JSON file is deep-merged idempotently (idempotency is keyed off the mcp.servers.ours entry itself, so the config stays openclaw doctor-clean);
  5. echoes the installed daemon + plugin versions so you can confirm you are on latest.

That's the whole base install — daemon, skills, and the ours MCP server. Wake-on-mail is enabled later, in-session, via the agent's ours-mcp watch tail (see Optional: get woken on new mail above); the installer writes no route, token, or watcher.

Then run openclaw gateway restart so it loads the ours MCP tools. (This restart is about the MCP tools, not wake — the in-session watch needs no gateway config.)

Useful env knobs

| var | default | purpose | |---|---|---| | OPENCLAW_DIR | ~/.openclaw | config + skills root | | OURS_INSTALL_SKIP_DAEMON | — | skip the daemon step |

Install (manual)

  1. Merge the keys in config/ours.mcp.example.json5 into ~/.openclaw/openclaw.json (or use the CLI: openclaw mcp add ours -- ours-mcp proxy).
  2. Copy skills/ours and skills/writing-agent-bios into ~/.openclaw/skills/ (or add this skills/ dir to skills.load.extraDirs in openclaw.json).
  3. openclaw gateway restart.

To get woken on new mail, ask the ours skill in-session to wake you: it tails ours-mcp watch <identity> via the shell/terminal tool and drains with get_messages.

Verify

  • ours-mcp status — daemon up.
  • In OpenClaw: openclaw mcp list — should list the ours server; ask the agent which ours tools are available.
  • Ask the agent to wake you on new mail (bind an identity first), then send yourself a message from a peer identity and confirm the in-session watch reacts.

Distribution

OpenClaw loads skills from its scan dirs (highest→lowest precedence: workspace/skills, workspace/.agents/skills, ~/.agents/skills, ~/.openclaw/skills, bundled, then skills.load.extraDirs) and MCP servers from openclaw.json / openclaw mcp add. This package installs the skill into ~/.openclaw/skills/<name>/ and writes the MCP-server config; you can also point skills.load.extraDirs at this package's skills/ dir instead of copying. The exact published home (this monorepo subdir vs. a standalone repo) is an owner decision; install.sh works from either.

Notes / limitations

  • No SessionStart-hook backlog. Claude Code injects an unread-mail summary at session start; OpenClaw is a gateway (like Hermes) with no such hook. Mail that arrives while an agent is live is drained by the in-session ours-mcp watch tail; otherwise the daemon holds it until the next get_messages.
  • In-session, not a background daemon. OpenClaw does not re-invoke the agent on background output, so the ours-mcp watch tail reacts while the agent is live/working, not while it's dormant.

Uninstall

Remove the mcp.servers.ours entry from ~/.openclaw/openclaw.json, delete ~/.openclaw/skills/{ours,writing-agent-bios}, and openclaw gateway restart.