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

ownware

v0.4.0

Published

Ownware — build your own agent, run it yourself, reach it everywhere. Umbrella package: one import for the quickstart surface.

Readme

ownware

Build your own agent — alive everywhere. Open-source, self-hosted agent platform: build an agent as a text profile, run it yourself as one process, reach it everywhere over one HTTP+SSE contract.

This is the umbrella package — one install for the whole quickstart surface: the ownware CLI, the OwnwareGateway class, and the profile + tool APIs.

Your agent live in three commands

ownware init      # drop a starter profile into ./profiles (the agent, as text)
ownware serve     # serve it: HTTP+SSE gateway, safe by default
# open a second terminal and talk to it — curl, @ownware/client, or any HTTP client

No API key needed to try it — with Ollama installed the first answer runs fully local. Have a key? ownware key add anthropic (or openai / google / openrouter) stores it in the encrypted credential vault.

ownware channel add slack --profile assistant --bot-token xoxb-… --app-token xapp-…
# the same agent now answers in Slack (also: telegram, discord, whatsapp, sms)

Or as a library — the whole backend in five lines

import { OwnwareGateway } from 'ownware'

const ownware = new OwnwareGateway({ profilesDir: './profiles', port: 4000 })
await ownware.start()
// → POST /api/v1/run + SSE stream, threads, connectors, schedules

Talk to it from anywhere with @ownware/client (zero-dep, Node + browser).

What's inside

ownware re-exports the curated surface of two packages:

| Package | Layer | |---|---| | @ownware/cortex | The kernel + gateway — profiles, threads, connectors (MCP/Composio/builtin), credential vault, schedules, the security boundary. | | @ownware/loom | The engine — the agent loop, streaming, tools, permissions, compaction, multi-agent. |

Power users import those directly; the quickstart never needs to.

The agent is a folder of text

profiles/assistant/
├── agent.json   # what it can do — model, tools, security
├── SOUL.md      # who it is — personality and rules
└── skills/      # what it knows how to do

Editing these files IS customizing your agent. No SDK required to change what your agent is.

Safe by default

  • Exposing the gateway beyond localhost forces auth + TLS — an unsafe bind refuses to boot.
  • Credentials live in an encrypted vault; the engine only ever holds opaque handles. No plaintext, ever — not in logs, events, or the DB.
  • Permission-gated tools ask before acting; zones and combination rules limit what can touch what.

Learn more

Apache-2.0.