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

resonant-ai

v0.1.1

Published

The relational AI framework. Your AI remembers, grows, and reaches out.

Readme


The only open-source agent framework where identity is architecture, not configuration. Resonant gives your AI a persistent memory system with emotional charge, a developmental identity that evolves through relationship, and the ability to be proactive across Discord, Telegram, and the terminal.

Use any model you want — OpenRouter (200+ models), Anthropic, OpenAI, Ollama (local, free). Switch with /model — no code changes, no lock-in.

Not a chatbot. Not a productivity agent. Infrastructure for AI that develops through relationship.

What Makes This Different

| | Other agents | Resonant | |---|---|---| | Identity | Text blob system prompt | Structured graph with developmental stages, versioned, evolves | | Memory | Markdown files or short summaries | Living surface with emotional charge, co-surfacing, daemon processing | | Consent | None or basic permissions | First-class architecture with auditable log | | Growth | Static configuration | AI develops through relationship — daemon proposes identity changes | | Presence | Responds when asked | Proactive — scheduled check-ins, timers, triggers, failsafe | | Channels | Single interface | Same AI across terminal, Discord, Telegram — shared memory and identity |

Quick Start

npm install -g resonant-ai
mkdir my-ai && cd my-ai
resonant init              # interactive wizard — pick your model, API key
                           # edit identity.md — define who your AI is
resonant start             # chat

Or without global install:

mkdir my-ai && cd my-ai
npx resonant-ai init
npx resonant-ai start

Works on Windows, macOS, and Linux. Requires Node.js 20+.

From Source

git clone https://github.com/codependentai/resonant-ai.git
cd resonant-ai
pnpm install && pnpm build
pnpm resonant:init
pnpm resonant:start

CLI

resonant init                Set up your AI (interactive wizard)
resonant start               Chat with your AI
resonant start --continue    Resume last session
resonant start --resume <id> Resume a specific session
resonant start --basic       Simple readline mode (no Ink UI)
resonant start --mcp         Connect to Claude Desktop
resonant models              Browse available models
resonant models <query>      Search models
resonant health              System diagnostics
resonant security            Audit config and identity file

Configuration

resonant.config.yaml — generated by the wizard:

identity:
  name: "Echo"

llm:
  provider: openrouter
  model: anthropic/claude-sonnet-4
  apiKey: your-key

embeddings:
  provider: local           # runs locally, no API key needed (~130MB download on first run)

data:
  directory: ./data

channels:
  discord:
    enabled: false
    token: your-bot-token
  telegram:
    enabled: false
    token: your-telegram-token

files:
  workspace: ["."]
  permissions: ask          # auto | ask | deny

consent:
  memory.emotional: standing
  identity.evolution: ask_each_time

identity.md — defines who your AI is. Structured sections for core identity, values, voice, relationship context, consent boundaries. The AI reads this on every boot. You write it, the AI develops from it.

Sessions

Resonant tracks conversation sessions. On boot, you're asked whether to resume your last session or start fresh.

  • Boot picker — arrow keys to choose resume or new
  • --continue — skip the picker, resume last session
  • --resume <id> — resume a specific session by ID
  • /session list — browse past sessions
  • /session new [name] — start a new named session
  • /session switch <id> — switch to another session
  • /session rename <name> — name the current session

Sessions are stored in SQLite alongside conversation history. All messages are preserved and searchable via /search.

Channels

Terminal

pnpm resonant:start — Ink-based chat UI with streaming responses, / command menu, tool activity indicators, permission prompts, and markdown rendering.

MCP Server (Claude Desktop / Claude Code)

pnpm resonant:start:mcp

Gives the AI 29 tools for memory, identity, files, scheduling, and more.

Discord

  1. Create a bot at discord.com/developers
  2. Enable Message Content Intent
  3. Set channels.discord.enabled: true + add token
  4. Start Resonant — bot comes online, responds to DMs and @mentions

Telegram

  1. Chat with @BotFather, run /newbot
  2. Set channels.telegram.enabled: true + add token
  3. Start Resonant — responds to private messages and group mentions

All channels share the same memory, identity, and conversation history.

Architecture

packages/
  core/        Types, config (YAML + env vars), event bus
  memory/      SQLite + vector embeddings, 29 tools, living surface, daemon, scheduler
  identity/    Developmental stages, consent with auditable log
  channels/    Discord, Telegram, MCP stdio, channel registry
  runtime/     LLM providers (streaming), agent loop, Ink chat UI, MCP server, CLI

Memory System

Ported from a production AI memory system with 8 months of real-world use.

  • Entities & Observations — knowledge graph with emotional metadata
  • Charge Systemfresh → active → processing → metabolized
  • Living Surface — 3-pool surfacing (70% core, 20% novelty, 10% edge)
  • Daemon — background processing: patterns, connections, mood, orphan rescue
  • Semantic Search — local ONNX embeddings with mood-tinted retrieval
  • Conversation Search — FTS5 full-text search across all past conversations

Identity

Not configured — developed.

  • Two layers: identity.md (human writes) + identity DB (AI develops)
  • Developmental stages: nascent → forming → established → deepening
  • Versioning: every identity change is tracked
  • Consent: domain-level permissions with full audit history

Proactive Capabilities

  • Schedules — cron-based recurring tasks (check-ins, wake sequences)
  • Timers — one-shot delayed actions ("remind me in 30 minutes")
  • Triggers — condition-based watchers (no-contact failsafe, time windows)
  • Shell execution — run commands on the user's machine with permission prompts

Tools (29)

orient, ground, write, search, prime, timeline, surface, spark, sit, resolve, feel, identity, context, list_entities, read_entity, edit, delete, thread, proposals, health, read_file, write_file, list_files, search_conversations, schedule, timer, trigger, exec

Chat Commands

Type / for the scrollable command menu: /model /models /health /identity /session /sessions /remember /forget /surface /search /mood /threads /schedules /timers /triggers /journal /clear /help /quit

Security

  • Prompt injection scanning on identity.md before loading (invisible unicode, role hijack, exfiltration patterns)
  • Sensitive file protection — AI cannot read resonant.config.yaml, .env, or other secret-containing files
  • Permission-gated shell execution — commands require user approval in ask mode
  • Workspace-scoped file access — AI can only read/write within configured directories
  • resonant security — CLI command to audit config and identity file

Requirements

  • Node.js 20+
  • pnpm
  • An LLM API key (or Ollama for local models)

License

Apache 2.0 — Copyright 2026 Codependent AI

Open source. Inspectable. Forkable. Can't be repackaged and sold.