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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@nielpattin/oh-my-opencode

v1.0.15

Published

OpenCode plugin - custom agents (librarian) and enhanced features

Readme

Ah yeah my Polaris pls guide me

Preview

  • It's a minimal fork from oh-my-opencode. Stripped down, no bloat.
  • Polaris orchestrator (Fast & Smart) with background agents. Minimal and aggressive.
  • Not Certified, Not Verified, Not Tested. Just works (probably).
  • Just BYOK or SUBSCRIPTIONS to opencode itself bruh. I don't cover anything.

Contents

For Those Who Want to Read

Polaris is the orchestrator. Everything is enabled by default because I'm too lazy to make it opt-in. Bruh.

  • Agents
    • Polaris-Smart: Primary orchestrator (Opus 4.5, extended thinking)
    • Polaris-Fast: Speed-optimized orchestrator (Gemini 3 Flash)
    • librarian: Docs and GitHub search (opencode/big-pickle)
    • explore: Codebase patterns (opencode/grok-code)
  • Background Agents: background_task, background_output, background_cancel tools (explore/librarian only)
  • Hooks
    • rules-injector: Conditional rules from .claude/rules/
    • directory-agents-injector: Auto-injects AGENTS.md
    • directory-readme-injector: Auto-injects README.md
    • keyword-detector: Injects context based on keywords
    • background-notification: Notifies on background task completion
    • agent-usage-reminder: Reminds about available agents
    • update-checker: Checks for plugin updates
    • session-notification: Session lifecycle notifications
    • non-interactive-env: Handles non-interactive environments

Installation

Look, I'm tired and I won't find your right model. Just go to models.dev, find your provider/model_name, and paste it in the config.

Step 1: Configure Your Models

Create and paste this ~/.config/opencode/oh-my-opencode.jsonc:

{
  "agents": {
    "Polaris-Smart": { "model": "anthropic/claude-opus-4-5" },
    "Polaris-Fast": { "model": "google/gemini-3-flash" },
    "librarian": { "model": "opencode/big-pickle" },
    "explore": { "model": "opencode/big-pickle" }
  }
}

Step 2: Add the Plugin

Add oh-my-opencode to your plugin array in ~/.config/opencode/opencode.jsonc:

{
  "plugin": ["@nielpattin/[email protected]"]
}

You're done. Type opencode and stop bothering me.

Uninstallation

To remove oh-my-opencode:

  1. Remove the plugin from your OpenCode config

    • Remove "@nielpattin/oh-my-opencode" from the plugin array:
  2. Remove configuration files (optional)

    # Remove user config
    rm -f ~/.config/opencode/oh-my-opencode.json
    
    # Remove project config (if exists)
    rm -f .opencode/oh-my-opencode.json

Features

Agents: Your Colleagues

  • Polaris-Smart (anthropic/claude-opus-4-5): Primary high-intelligence orchestrator. Uses extended thinking for complex architectural decisions, deep implementation, and multi-subsystem refactors. Executes immediately without a separate planning phase.
  • Polaris-Fast (google/gemini-3-flash): Speed-optimized orchestrator. Blazing fast execution for straightforward tasks, single-file changes, and well-defined bug fixes. Focuses on rapid iteration.
  • librarian (opencode/big-pickle): Multi-repo analysis, doc lookup, implementation examples.
  • explore (opencode/big-pickle): Fast codebase exploration and pattern matching.

The main agent invokes these automatically, but you can call them explicitly:

Ask @librarian how this is implemented—why does the behavior keep changing?
Ask @explore for the policy on this feature

Background Agents: Work Like a Team

Stop letting your agents idle.

  • Have GPT debug while Claude tries different approaches.
  • One agent writes the frontend while another handles the backend.
  • Kick off parallel searches, then finish using the results.

Run subagents in the background. The main agent gets notified on completion.

Make your agents work like your team works.

The Tools: Your Colleagues Deserve Better

Context Is All You Need

  • Directory AGENTS.md / README.md Injector: Auto-injects AGENTS.md and README.md when reading files. Walks from file directory to project root, collecting all AGENTS.md files along the path.
  • Conditional Rules Injector: Not all rules apply all the time. Injects rules from .claude/rules/ when conditions match.
    • Walks upward from file directory to project root, plus ~/.claude/rules/ (user).
    • Supports .md and .mdc files.
  • Online: Project rules aren't everything. Use external tools and web search as needed for extended capabilities.

Goodbye Claude Code. Hello Oh My OpenCode.

Oh My OpenCode has partial Claude Code compatibility.

The Conditional Rules Injector loads rules from .claude/rules/ - see Context Is All You Need for details.

Configuration

Highly opinionated, but adjustable to taste.

Config file locations (priority order):

  1. .opencode/oh-my-opencode.json (project)
  2. ~/.config/opencode/oh-my-opencode.json (user)

Schema autocomplete supported:

{
  "$schema": "./assets/oh-my-opencode.schema.json"
}

Agents

Override built-in agent settings:

{
  "agents": {
    "explore": {
      "model": "anthropic/claude-haiku-4-5",
      "temperature": 0.5
    },
    "Polaris-Fast": {
      "disable": true
    }
  }
}

Each agent supports: model, temperature, top_p, prompt, tools, disable, description, mode, color, permission.

You can also override settings for Polaris-Smart and Polaris-Fast using the same options.

Permission Options

Fine-grained control over what agents can do:

{
  "agents": {
    "explore": {
      "permission": {
        "edit": "deny",
        "bash": "ask",
        "webfetch": "allow"
      }
    }
  }
}

| Permission | Description | Values | | -------------------- | -------------------------------------- | --------------------------------------------------------------------------- | | edit | File editing permission | ask / allow / deny | | bash | Bash command execution | ask / allow / deny or per-command: { "git": "allow", "rm": "deny" } | | webfetch | Web request permission | ask / allow / deny | | doom_loop | Allow infinite loop detection override | ask / allow / deny | | external_directory | Access files outside project root | ask / allow / deny |

Or disable via disabled_agents in ~/.config/opencode/oh-my-opencode.json or .opencode/oh-my-opencode.json:

{
  "disabled_agents": ["Polaris-Fast"]
}

Available agents: librarian, explore, Polaris-Smart, Polaris-Fast

Polaris Agents

When enabled (default), oh-my-opencode adds two primary orchestrators:

  • Polaris-Smart: Primary high-intelligence orchestrator (Claude Opus 4.5)
  • Polaris-Fast: Speed-optimized orchestrator (Gemini 3 Flash)

They both operate in "YOLO Build Mode" - they analyze, plan, and execute immediately without stopping for permission.

| Feature | Polaris-Smart | Polaris-Fast | |---------|---------------|--------------| | Core Prompt | Full orchestrator logic (Restored/Updated) | Speed-optimized orchestrator | | Optimization | Intelligence & Extended Thinking | Speed & Efficiency | | Best For | Complex refactors, architecture | Clear, focused tasks | | Parallelization | Full assessment & batch spawns | Minimal (1-2 agents max) |

You can customize them like other agents:

{
  "agents": {
    "Polaris-Smart": {
      "model": "anthropic/claude-sonnet-4.5",
      "temperature": 0.3
    },
    "Polaris-Fast": {
      "model": "google/gemini-3-flash"
    }
  }
}

Hooks

Disable specific built-in hooks via disabled_hooks in ~/.config/opencode/oh-my-opencode.json or .opencode/oh-my-opencode.json:

{
  "disabled_hooks": ["agent-usage-reminder"]
}

Session Notification

Get notified when your agent finishes working. Supports native OS notifications and Discord webhooks.

{
  "hooks": {
    "session-notification": {
      "showNativeNotification": true,
      "playSound": false,
      "idleConfirmationDelay": 1500,
      "skipIfIncompleteTodos": true,
      "discord": {
        "enabled": true,
        "webhookUrl": "https://discord.com/api/webhooks/...",
        "color": 65280
      }
    }
  }
}

| Option | Default | Description | |--------|---------|-------------| | showNativeNotification | true | Show OS toast notification | | playSound | false | Play sound on completion | | soundPath | Platform default | Custom sound file path | | idleConfirmationDelay | 1500 | Ms to wait before confirming idle state | | skipIfIncompleteTodos | true | Skip notification if todos remain | | discord.enabled | false | Enable Discord webhook notifications | | discord.webhookUrl | - | Discord webhook URL (or set DISCORD_WEBHOOK_URL env var) | | discord.envVar | DISCORD_WEBHOOK_URL | Custom env var name for webhook URL | | discord.color | 0x00ff00 | Embed color (green) |

Smart behavior:

  • Skips notification if user aborts the response mid-stream
  • Uses latest user message as notification title
  • Waits for idle confirmation to avoid spam during rapid interactions