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-pi

v1.1.2

Published

Bridge OpenCode CLI free models into Pi without OpenCode login

Readme

opencode-pi

opencode-pi registers an opencode-cli provider in Pi and delegates model calls to the local opencode CLI.

opencode-pi screenshot

opencode-cli models in Pi model picker

DeepSeek v4 flash free via opencode-cli

It is intended for the free OpenCode models that work without opencode auth login, such as:

  • opencode/deepseek-v4-flash-free
  • opencode/mimo-v2.5-free
  • opencode/nemotron-3-super-free
  • opencode/big-pickle

Requirements

  • Pi Coding Agent
  • OpenCode installed and available on the same machine:
opencode --version
opencode models opencode

No OpenCode login is required for the bundled free OpenCode models.

Install

Published on npm: opencode-pi. Use Pi's package manager (pi install), not npm install alone.

pi install npm:opencode-pi
pi install npm:[email protected]   # pin version
pi install -l npm:opencode-pi      # project-local (.pi/settings.json)
pi -e npm:opencode-pi                # one session, no install

Then run /reload in Pi (or restart).

pi list
pi update npm:opencode-pi
pi remove npm:opencode-pi

From pi-extensions (git):

cp -r extensions/opencode-pi ~/.pi/agent/extensions/
# or from repo root: npm run install-extensions

Usage

Pick the provider from /model, or start Pi directly:

pi --provider opencode-cli --model opencode/deepseek-v4-flash-free

Print-mode smoke test:

pi -p --provider opencode-cli --model opencode/deepseek-v4-flash-free "Reply with exactly OK"

Commands:

/opencode-pi status
/opencode-pi models
/opencode-pi test
/opencode-pi update
/opencode-pi help

Refreshing the model list

OpenCode changes its free model roster frequently. Refresh the registered models at runtime:

/opencode-pi update

This queries opencode models opencode, updates the provider's model list, and shows how many new models were added. The status command also displays the timestamp of the last discovery.

Configuration

| Environment variable | Description | | -------------------- | --------------------------------------------------------------------------------------------------- | | OPENCODE_PI_BIN | Override the OpenCode executable path. Defaults to opencode. | | OPENCODE_PI_MODELS | Comma- or space-separated model list to register. Values without / are prefixed with opencode/. |

Example:

OPENCODE_PI_MODELS="opencode/deepseek-v4-flash-free,opencode/mimo-v2.5-free" pi

How it works

For each Pi model call, the extension:

  1. Creates a temporary OpenCode project with a locked-down pi-model agent.
  2. Denies OpenCode's own tools (bash, edit, read, web tools, subagents, etc.).
  3. Sends Pi's current prompt/context to opencode run --format json over stdin.
  4. Streams the final OpenCode text back into Pi.
  5. Converts <pi_tool_call>{...}</pi_tool_call> markers into real Pi tool calls, so Pi executes tools rather than OpenCode.

This keeps file access and edits under Pi's normal tool pipeline.

Notes and limitations

  • This is a CLI bridge, not a native provider API. It is slower than direct HTTP providers because it starts opencode run for each model turn.
  • Tool calling is prompt-bridged. It works for common cases, but native tool-call providers will be more reliable.
  • Image input is not registered; these models are exposed as text-only in Pi.
  • If OpenCode ever attempts to use its own tools, the extension fails the turn instead of hiding it.