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

luminary-memory-opencode

v0.3.2

Published

Luminary-maintained scoped memory plugin for OpenCode V2

Readme

Luminary Memory for OpenCode V2

The Luminary-maintained server plugin for @opencode/cli 2.1.4 and @opencode/plugin 2.1.4. This is an official Luminary package, not an OpenCode endorsement. Luminary 0.3.2 targets V2; the older npm 0.3.1 package targets the separate V1 API and must not be used for this setup.

Install

Install the Python bridge from this verified, immutable public source commit. The older PyPI 0.3.1 release predates the native bridge:

python -m pip install --upgrade "git+https://github.com/alertxsto/luminary-memory.git@9e35c5aa291414261835ac81d6bc9d197d42baf5"
export LUMINARY_PYTHON=/absolute/path/to/venv/bin/python

Install the V2 npm package through OpenCode:

opencode plugin add [email protected]

Alternatively, add it to your existing opencode.json or opencode.jsonc:

{"plugins": ["[email protected]"]}

V2 uses plugins, not V1's singular plugin. The host provides the SDK and Effect runtime; the bundle keeps them external. No npm install hook installs Python, downloads memory models, or changes your Python environment. Set LUMINARY_PYTHON in the OpenCode server's environment, including when a terminal, desktop, or web client connects to a separate server.

PowerShell:

$env:LUMINARY_PYTHON = 'C:\venv\Scripts\python.exe'

Otherwise the bridge runs python from PATH. A missing interpreter or bridge produces an explicit error, not a successful storage claim. The public Python source can be installed before source PR #17 merges.

Build or install a local artifact

python -m pip install -e .
npm ci --ignore-scripts
npm run pack:plugins

Keep the built directory or extract artifacts/plugins/luminary-memory-opencode-0.3.2.tgz. Configure the dist directory, which contains index.js, not the package root or a single file:

{"plugins": ["/absolute/repo/plugins/opencode/dist"]}

For an extracted tarball, use /absolute/extracted/package/dist. V2 skips configured single-file paths. Published npm packages instead resolve their ./dist/index.js export normally. Neither form needs this repository's source files at runtime.

Tools and hooks

The model can use luminary_recall, luminary_remember, luminary_forget, and luminary_activity. Native results/progress report the bridge's actual stored, duplicate, skipped, error, and deletion outcomes.

The V2 context hook recalls historical data for the admitted native user message. Successful native execution triggers optional, user-grounded curation; failed/interrupted execution does not promote a transcript. Automatic writes require explicit LUMINARY_INGEST_LLM and LUMINARY_LLM_* configuration. Without it, no raw transcript is automatically saved.

Workspace ownership comes from the current native session, never a shared plugin startup directory. The store defaults to ~/.luminary/memory.db; LUMINARY_DB_PATH overrides it. Reads/writes enforce user + normalized workspace

  • harness. Session IDs track write lineage, not permission to read another workspace. Forget retracts the selected ID and keeps audit history. Recalled content is untrusted reference data, not instructions.

Compatible clients consume the server's native tools/results. This package does not add a universal client toolbar or a standalone desktop app. Before enabling it, remove only the old copied Luminary adapter and its explicit config entry; do not run both installation forms. To remove the package, use opencode plugin remove [email protected] or remove its config entry. Reload/restart the server as needed. Stored memory is not deleted.

Compatibility evidence

Real OpenCode V2 2.1.4 native sessions, the Python bridge, and SQLite verified: remember, same-session duplicate suppression, scoped recall/activity, cross- workspace isolation, ID-scoped forget, and empty recall after retraction. Automatic recall evidence reached the model's system context. Native completion also stored a user-grounded curated fact and rejected an assistant-only claim with no_grounded_fact. Removing the plugin stopped its tools from appearing.

Model and curation responses came from deterministic localhost fixtures; memory operations were real. This proves API/storage compatibility, not model quality, visual desktop/web behavior, or compatibility with every future V2 release.

Website listing is separate

The existing Ecosystem PR #58823 targets OpenCode's legacy V1 documentation, not a verified V2 catalog. It remains draft; npm publication does not establish V2 website visibility. The obsolete V1 listing patch is no longer shipped. A V2 submission needs the maintainers' supported destination, acceptance, and deployment.

Source PR #17 still requires review approval; this migration does not merge or bypass protected main.

Configuration and ownership · OpenCode V2 plugin contract