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-multi-accounts

v1.0.0

Published

OpenCode API key manager with multi-account rotation

Readme

OpenCode Multi-Accounts

Features

  • OpenCode API key management with multi-account rotation
  • Interactive CLI with select-based flows
  • Local dashboard with account management
  • OpenCode plugin support
  • AES-256-GCM encrypted store support
  • 4 rotation strategies: round-robin, least-used, random, weighted-round-robin
  • 83 passing tests

Install

Global install

pnpm add -g opencode-multi-accounts

From source

git clone https://github.com/devcomfort/opencode-multi-accounts.git
cd opencode-multi-accounts
pnpm install
pnpm run build
pnpm link --global

Quick start

# Install and register as OpenCode plugin
ocma install

# Add an OpenCode API-key account
ocma add work --api-key oc-xxxxx

# Add another OpenCode account
ocma add personal --api-key oc-yyyyy

# See current accounts
ocma

# Switch accounts
ocma use work

# Rotate
ocma next

# Start the dashboard
ocma web

OpenCode Plugin Registration

ocma install automatically registers the package as an OpenCode plugin by adding "opencode-multi-accounts" to ~/.config/opencode/opencode.json.

If OpenCode is not installed, ocma install fails with an error message.

After registration, restart OpenCode. The plugin intercepts API calls and rotates through configured accounts automatically — no manual switching needed.

CLI overview

ocma add [alias]        Add account
ocma remove [alias]     Remove account
ocma list               List accounts
ocma use [alias]        Switch active account
ocma status             Show current status
ocma next               Test next account rotation
ocma strategy [name]    Set rotation strategy
ocma weight [a] [w]     Set account weight
ocma install            Register as OpenCode plugin
ocma doctor             Diagnose installation issues
ocma web                Start web dashboard

The CLI is interactive when arguments are omitted:

  • add prompts for alias, provider, and credential input
  • use, remove, strategy, and weight all support select prompts
  • running ocma with no subcommand shows the current account summary

Architecture

┌─────────────────────────────────────────────────────────────┐
│               OpenCode Multi-Accounts                      │
├─────────────────────────────────────────────────────────────┤
│ CLI Layer      │ Web Layer         │ Plugin Layer          │
│ src/cli.ts     │ src/web.ts        │ src/opencode-plugin.ts│
├─────────────────────────────────────────────────────────────┤
│ Core Services                                              │
│ src/services/account-service.ts                           │
│ src/services/store-service.ts                             │
├─────────────────────────────────────────────────────────────┤
│ Core Domain                                                │
│ src/store.ts       encrypted account store                 │
│ src/rotation.ts    account rotation engine                 │
│ src/types.ts       shared domain types                     │
│ src/adapters.ts    external tool adapters                  │
└─────────────────────────────────────────────────────────────┘

Layer responsibilities

  • CLI Layer: interactive prompts, command routing, local UX
  • Web Layer: REST API, dashboard serving, static dashboard serving
  • Plugin Layer: OpenCode integration and API key management
  • Core Layer: persistence, account state, rotation, account typing

Dashboard

ocma web --port 3434 --host 127.0.0.1

Dashboard capabilities:

  • account list and active-state view
  • switch / enable / delete actions
  • add-account modal
  • strategy selector and next-account test button

Development

git clone https://github.com/devcomfort/opencode-multi-accounts.git
cd opencode-multi-accounts
pnpm install
pnpm run build
pnpm test
pnpm link --global

License

MIT