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

opencode-supermemory-max

v2.1.0

Published

Enhanced OpenCode memory plugin — Japanese support, incremental capture, signal extraction, 3-tier scopes, dedup, entity context. Fork of opencode-supermemory with aggressive memory maximization.

Readme

opencode-supermemory-max

🧠 Enhanced fork of opencode-supermemory — maximizing memory quality and coverage for OpenCode coding agents.

License: MIT

Why "max"?

The official opencode-supermemory plugin is maintained by the Supermemory team, but tends to be conservative with API calls and slow to merge fixes. opencode-supermemory-max takes the opposite approach:

  • Aggressive memory utilization — save more, recall more, lose nothing
  • Bug fixes shipped fast — no 2-week PR review waits
  • Feature parity with claude-supermemory — all the good stuff from the Claude Code plugin, ported to OpenCode
  • Japanese language support — keyword detection and signal extraction work in both English and Japanese
  • Upstream tracking — good changes from upstream get merged in

What's different from upstream?

This plugin combines the best features from all three official Supermemory plugins:

| Feature | upstream | claude | openclaw | max | |---------|----------|--------|----------|---------| | Part ID fix (OpenCode v1.2.25+) | ❌ | — | — | ✅ | | Japanese keywords (覚えて, メモして) | ❌ | ❌ | ❌ | ✅ | | Incremental capture (crash-safe) | ❌ | ❌ | ✅ | ✅ | | Every-message recall | ❌ | ❌ | ✅ | ✅ | | Metadata stripping for queries | ❌ | ❌ | ✅ | ✅ | | Pre-compaction full save | ❌ | ❌ | ✅ | ✅ | | Post-compaction memory re-injection | ❌ | ❌ | ❌ | ✅ | | Entity Context (extraction guidance) | ❌ | ✅ | ❌ | ✅ | | Dedup (no duplicate memories) | ❌ | ✅ | ❌ | ✅ | | Relative time display | ❌ | ✅ | ❌ | ✅ | | Repo container tag (team sharing) | ❌ | ✅ | ❌ | ✅ | | Signal extraction (smart filtering) | ❌ | ✅ | ❌ | ✅ | | Context re-injection (periodic) | ❌ | ❌ | ❌ | ✅ | | Recall keywords (思い出して, recall) | ❌ | ❌ | ❌ | ✅ | | Session-end auto-save | ❌ | ✅ | ✅ | ✅ |

Installation

Quick Start

# Clone and build
git clone https://github.com/kandotrun/opencode-supermemory-max.git
cd opencode-supermemory-max
bun install && bun run build

Add to your OpenCode config (~/.config/opencode/opencode.json):

{
  "plugin": ["~/opencode-supermemory-max"]
}

Set your API key:

export SUPERMEMORY_API_KEY="sm_..."

Or create ~/.config/opencode/supermemory.jsonc:

{
  "apiKey": "sm_..."
}

Get your API key from app.supermemory.ai.

Features

🔄 Context Injection

On first message (and periodically), the agent receives memory context:

[SUPERMEMORY]

User Profile:
- Prefers concise responses
- Expert in TypeScript

Repo Knowledge (Shared):
- [2hrs ago] Uses monorepo with turborepo [85%]

Project Knowledge:
- [just now] Build: bun run build [100%]

Relevant Memories:
- [3d ago] Build fails if .env.local missing [82%]

🇯🇵 Japanese + English Keywords

Memory triggers work in both languages:

| English | Japanese | |---------|----------| | remember, save this | 覚えて, メモして, 保存して | | recall, check memory | 思い出して, メモリ確認 |

📦 3-Tier Memory Scopes

| Scope | Purpose | Tag Format | |-------|---------|------------| | User | Cross-project preferences | opencode_user_{hash} | | Project | Directory-specific knowledge | opencode_project_{hash} | | Repo | Team-shared via git remote | repo_{reponame} |

🎯 Signal Extraction

When enabled, only saves session turns containing important keywords — no noise:

{
  "signalExtraction": true,
  "signalTurnsBefore": 3  // context turns before each signal
}

Built-in signal keywords: implementation, architecture, decision, bug, fix, 実装, 設計, 重要, バグ, 修正 ...

🧹 Dedup & Entity Context

  • Dedup: Duplicate memories are automatically filtered out from search results and profile
  • Entity Context: Guides Supermemory on what to extract — user actions & decisions for personal scope, architecture & patterns for repo scope

⏰ Context Re-injection

{
  "reinjectEveryN": 10  // re-inject context every 10 messages
}

Or say "recall" / "思い出して" to trigger immediate context refresh.

Configuration

~/.config/opencode/supermemory.jsonc:

{
  // Memory retrieval
  "similarityThreshold": 0.6,
  "maxMemories": 5,
  "maxProjectMemories": 10,
  "maxRepoMemories": 5,
  "maxProfileItems": 5,

  // Container tags (auto-generated if not set)
  "containerTagPrefix": "opencode",
  "userContainerTag": "my-custom-user-tag",
  "projectContainerTag": "my-project-tag",
  "repoContainerTag": "my-repo-tag",

  // Context re-injection
  "reinjectEveryN": 10,

  // Signal extraction (disabled by default)
  "signalExtraction": false,
  "signalTurnsBefore": 3,

  // Compaction
  "compactionThreshold": 0.8,

  // Extra keyword patterns (regex)
  "keywordPatterns": ["log\\s+this"],
  "recallKeywordPatterns": ["my custom recall"],
  "signalKeywords": ["custom signal"]
}

Tool Usage

The supermemory tool is available to the agent:

| Mode | Args | Description | |------|------|-------------| | add | content, type?, scope? | Store memory | | search | query, scope? | Search memories | | profile | query? | View user profile | | list | scope?, limit? | List memories | | forget | memoryId, scope? | Delete memory |

Scopes: user, project (default), repo

Privacy

Content in <private> tags is never stored:

API key is <private>sk-abc123</private>

Development

bun install
bun run build
bun run typecheck

Upstream Sync

This fork tracks supermemoryai/opencode-supermemory:

git fetch upstream
git merge upstream/main

License

MIT