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

@vectorize-io/hindsight-paperclip

v0.2.3

Published

Persistent long-term memory for Paperclip agents via Hindsight — recall before every heartbeat, retain after every run

Readme

@vectorize-io/hindsight-paperclip

Persistent long-term memory for Paperclip agents via Hindsight.

Install once. Every agent in your Paperclip instance gets memory that persists across runs, companies, and restarts.

What It Does

  • Before each run — fetches the run's issue and recalls relevant memories on its title + description, caches them for the agent
  • After each comment — retains the full comment body to Hindsight (durable record of both user and agent output)
  • Agent toolshindsight_recall and hindsight_retain tools for agents to query and store memory mid-run

Installation

pnpm paperclipai plugin install @vectorize-io/hindsight-paperclip

Then configure in Settings → Plugins → Hindsight Memory.

Prerequisites

Recommended: Hindsight Cloud — sign up free, get an API key, and skip the self-hosting setup entirely.

Self-hosting alternative — run Hindsight locally:

pip install hindsight-all
export HINDSIGHT_API_LLM_API_KEY=your-openai-key
hindsight-api

Configuration

| Field | Default | Description | | -------------------- | ------------------------------------ | --------------------------------------------------------------------------------- | | hindsightApiUrl | https://api.hindsight.vectorize.io | Hindsight server URL (Cloud default; use http://localhost:8888 for self-hosted) | | hindsightApiKeyRef | — | Paperclip secret name holding Hindsight Cloud API key | | bankGranularity | ["company", "agent"] | Memory isolation: per company+agent, per company, or per agent | | recallBudget | mid | low = fastest, mid = balanced, high = most thorough | | autoRetain | true | Automatically retain run output after every run |

Bank ID Format

paperclip::{companyId}::{agentId}    ← default (company + agent granularity)
paperclip::{companyId}               ← company granularity (shared across agents)
paperclip::{agentId}                 ← agent granularity (agent memory across companies)

Agent Tools

Agents can call these tools directly during a run:

hindsight_recall(query) — search memory for relevant context. Called automatically at run start; agents can also call it mid-run for targeted queries.

hindsight_retain(content) — store a fact or decision immediately, without waiting for run end.

How It Works

agent.run.started
  └─ fetch issue via ctx.issues.get
       └─ recall(issueTitle + description) → cached in plugin state for the run

agent running…
  ├─ hindsight_recall(query) → returns cached context or live recall
  └─ hindsight_retain(content) → stores immediately

issue.comment.created
  └─ retain(full comment body via ctx.issues.listComments)
       └─ bank attribution: agent comment author when present; otherwise issue assignee

agent.run.finished
  └─ no-op (subscription kept for future use when payload carries output)

The bundled plugin manifest declares the issues.read and issue.comments.read capabilities needed by the new SDK calls, so Paperclip may prompt for these on first install or upgrade.

Memory is keyed to companyId + agentId, never to the Paperclip session or run ID — so it survives across any number of runs.

Development

npm install
npm run build
npm test

Local install into a running Paperclip instance:

curl -X POST http://127.0.0.1:3100/api/plugins/install \
  -H "Content-Type: application/json" \
  -d '{"packageName":"/absolute/path/to/hindsight-integrations/paperclip","isLocalPath":true}'