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

@bybrawe/opencode-queue-manager

v0.3.5

Published

OpenCode v2 Desktop and TUI prompt queue manager: batch tasks, reorder drafts by drag-and-drop, 20-language Desktop interface and safe plugin installer.

Readme

OpenCode Queue Manager — Batch prompts for Desktop & TUI

Build a queue of 100–200 (or custom-count) prompts, edit and reorder them before sending, then manage OpenCode's native message queue. Open-source, MIT-licensed extension for OpenCode v2 Desktop and TUI.

npm CI License: MIT

Türkçe rehber · 20-language guide · Installation · Examples · FAQ · Roadmap

Experimental: OpenCode v2's Desktop GUI plugin SDK changes between releases. Automated mock tests pass, but actual OpenCode Desktop/TUI compatibility still requires testing. The install/update helper is already available on npm; future package updates are published automatically after tests pass. Published versions are listed at npm.

Highlights

| Feature | Desktop GUI | TUI | | --- | --- | --- | | Repeat a prompt 10 / 25 / 50 / 100 / 200 / custom (1–500) times | Yes | Yes | | Paste a newline-separated task list or import .txt | Yes | Yes | | Save drafts per session before submitting | Yes | Yes (separate store) | | Edit, delete, duplicate, reorder and sort drafts | Yes | Yes | | Search and multi-select drafts | Yes | Via terminal menus (limited) | | Send to native OpenCode queue | Yes | Yes | | Inspect/remove queued pending prompts | Yes | Yes | | Install/uninstall CLI helper (Windows/macOS/Linux) | Terminal helper | Terminal helper | | 20-language interface, automatic host locale, manual language picker, RTL | Yes | No (English TUI) |

Publishing drafts to OpenCode starts real model work and may incur usage charges. The word “publish” in the UI means send to the OpenCode message queue, not publish this package to npm. Editing/reordering applies to drafts, not already queued messages.

Installation

Fastest: official OpenCode v2 CLI

OpenCode v2 has a built-in plugin manager. You can install the current published package directly:

opencode plugin add @bybrawe/opencode-queue-manager
opencode plugin list

Restart OpenCode Desktop or TUI and open a session; use /qm or search the command palette for Queue Manager. A GUI plugin is loaded in Desktop only if the current OpenCode v2 Desktop app supports its experimental ./gui-experimental export. Official plugin reference.

One-command installer (current npm release)

Our installer recognizes the OpenCode CLI. If it's missing, it can edit only the user's Desktop/server opencode.jsonc as a fallback. It preserves unrelated settings and creates a timestamped backup for changes.

npx @bybrawe/opencode-queue-manager install
npx @bybrawe/opencode-queue-manager doctor
npx @bybrawe/opencode-queue-manager update
npx @bybrawe/opencode-queue-manager uninstall

Note: npm install @bybrawe/opencode-queue-manager downloads the npm package into the current folder but does not register it with OpenCode. Run npx @bybrawe/opencode-queue-manager@latest install (or opencode plugin add @bybrawe/opencode-queue-manager), then doctor. Windows OpenCode CLI versions such as opencode v2.0.22 are recognized. The installer does not require globally installing the package.

For Desktop-only installations with no opencode command on PATH:

npx @bybrawe/opencode-queue-manager install --method config
npx @bybrawe/opencode-queue-manager uninstall --method config

For a dry run before writing anything:

npx @bybrawe/opencode-queue-manager install --dry-run
npx @bybrawe/opencode-queue-manager doctor --json

The CLI helper can also install the official OpenCode v2 CLI via npm; these operations require a separate explicit --yes flag and do not install/uninstall the Desktop app:

npx @bybrawe/opencode-queue-manager install-opencode --yes
npx @bybrawe/opencode-queue-manager uninstall-opencode --yes

uninstall-opencode refuses to remove an OpenCode CLI installed by a different package manager. To install the Desktop application, use OpenCode's official download page. Full install, upgrade, uninstall, backup and troubleshooting guide.

Configure manually

Add the package to your global ~/.config/opencode/opencode.jsonc (Windows: %USERPROFILE%\.config\opencode\opencode.jsonc) without overwriting existing options:

{
  "$schema": "https://opencode.ai/config.json",
  "plugins": ["@bybrawe/opencode-queue-manager"]
}

OpenCode Desktop reads the global opencode.json(c). TUI also loads active packages from the server; use cli.json only for TUI-local plugins. Avoid configuring both unnecessarily. See OpenCode plugin docs.

Quick start

  1. Install the plugin and restart OpenCode v2.
  2. Open a session and choose Queue Manager (/qm).
  3. Enter devam et (or any custom prompt), select 100, 200 or a custom count.
  4. Review the numbered draft list. Search, sort, move, edit or delete unwanted entries.
  5. Confirm Send to native queue. Start with 2–3 messages to verify the host integration.
  6. Review native pending queue to cancel entries that have not started yet.

Examples

Repeat an instruction 100 times

Prompt: devam et
Count: 100
Drafts: 100 numbered entries
Action: Review -> Send to native queue

Work from a task list — save the following as tasks.txt, then paste or import it:

Check all failing tests and summarize root causes.
Fix TypeScript errors without changing public APIs.
Run lint, formatting and unit tests.
Document the remaining blockers and stop when complete.

Recover from a wrong working directory — fix the root path first; repeating an error 200 times will not solve it.

Edit a staged task — select an entry, update its text and move it before other entries; only then submit the queue.

Examples: examples/messages.txt, examples/tasks.txt, examples/desktop-opencode.jsonc. More usage scenarios: English examples and Turkish guide.

Other platforms and model providers

OpenCode v2 is the only implemented host adapter. The installer and host registry are separated in src/platforms/registry.mjs so community contributors can add other supported coding-agent applications later. The adapter contract and acceptance tests are documented in platform adapters. Cursor, Claude Code, Codex and other clients are not claimed to be supported.

DeepSeek, Anthropic, OpenAI, OpenRouter and similar names identify model providers, not additional host applications. The queue manager sends text to OpenCode's session and uses whichever model is selected there. DeepSeek works through OpenCode's provider integration; Queue Manager does not collect or manage API keys. OpenCode: /connect → choose provider → /models → choose a model. Provider docs.

A reference to “harmless” has not been mapped to a verified coding-agent host; no support is claimed. If a specific host tool is requested, an adapter must be built and integration-tested against its APIs.

Limits and safety

  • Desktop GUI: experimental SDK; host installation and UI integration are not yet tested in a real Desktop app in this repository's current automated suite.
  • Queue Manager drafts in Desktop and TUI are not synchronized. Native queue items use the same session/server inbox.
  • Sorting, editing and reordering cannot atomically modify already queued native items; these actions happen before sending.
  • Canceling a pending item does not stop a model request that is already running.
  • A crash between successful native queue admission and a local draft checkpoint could duplicate a prompt when retried.
  • The installer alters only the selected user's OpenCode global config (or calls the official OpenCode v2 plugin manager). Timestamped backups may contain your other OpenCode settings, including credentials if you placed them there: keep them private.
  • The OpenCode CLI is optional for Desktop users; Node.js 20+ is required for the installer (via npx), not for OpenCode Desktop itself.

Development

npm install
npm run verify
npm pack --dry-run
node bin/opencode-queue-manager.mjs doctor

The prepack hook builds and tests the bundle. The npm package contains the two OpenCode plugin entries and the standalone installer binary. Read CONTRIBUTING and platform adapters before contributing.

npm publishing is automatic. A merge to main runs the release workflow: build/tests, npm registry version check, automatic patch version increase when needed, then tokenless npm Trusted Publishing (OIDC). No local npm login, npm version, or npm publish command is required. Keep GitHub Environment npm and the npm Trusted Publisher configured for publish-npm.yml with npm publish permission. A rerun of the same Git commit is skipped. See release details.

FAQ

Does 200 messages automatically cost 200 model calls? The app may begin processing each queued message; the number and cost of provider calls depend on the host, model and session behavior. Do not flood the queue without reviewing it.

Can I reorder a message after sending it? Not directly using the public native queue API. Cancel outstanding pending messages and stage a corrected list instead.

Does this work with DeepSeek? As an OpenCode-selected model provider, yes in principle. It is not an independent DeepSeek app integration, and real model/provider combinations must be tested on the host.

Can I remove the plugin later? Yes: opencode plugin remove @bybrawe/opencode-queue-manager or the installer uninstall command. This will not remove OpenCode or your projects.

How do I get the project indexed in Google? Enable GitHub Pages from /docs, register the URL in Google Search Console, and submit its sitemap; discovery and ranking are not guaranteed. See SEO checklist.

Links

License

MIT — see LICENSE. Independent community project; not an official OpenCode product.

Windows diagnostic / npm audit notes

If doctor shows cliFound: true and cliV2: true but configured: false, the OpenCode plugin is not registered. Running npm i in C:\\Users\\...\\ does not activate it; use npx @bybrawe/opencode-queue-manager@latest install or opencode plugin add @bybrawe/opencode-queue-manager. doctor inspects both the fallback config file and the OpenCode CLI's plugin list when available.

npm audit reports vulnerabilities in the current working directory's entire dependency tree, including transitive packages. Do not assume every warning is a defect in Queue Manager, and avoid npm audit fix --force in your Windows user home directory. Inspect the report before changing dependencies. @opencode/plugin is a documented runtime dependency for OpenCode v2 plugins.

OpenCode v2 default server export

Queue Manager ships the three standard host exports: . (minimal, no-op server definition), ./tui and ./gui-experimental. The server definition is needed for OpenCode to resolve npm packages as plugins; a missing root export previously caused Plugin entrypoint not found in the OpenCode log. An installer doctor result of configured: true means the package is registered, not that its GUI has successfully loaded. The GUI remains experimental and host-dependent.

OpenCode Desktop: why /qm may not appear

The experimental Desktop UI must be loaded by the Desktop app's own background server. It is not installed or registered by running npm i in Windows CMD. The package now builds ./gui-experimental with the official OpenCode GUI Vite preset. The /qm palette/slash command is always registered if GUI setup succeeds; the Queue Manager launcher is also available in the session panel's + menu. Without an active chat session the command shows a notice.

  1. Run opencode plugin update @bybrawe/opencode-queue-manager to install the newest npm package. Exact version pins need explicit config edits.
  2. Restart Desktop and go to Settings → Extensions → Plugins. Make sure the current Desktop server's @bybrawe/opencode-queue-manager row is loaded, its GUI switch is on, and use Reload after failures.
  3. Open a chat session; type /qm or search the command palette for Queue Manager, or use the session panel's + launcher.
  4. If Desktop reports SQLiteError: disk I/O error, fix the OpenCode background service before debugging the GUI. A running server with a failing database cannot load a GUI plugin.

OpenCode's GUI SDK is experimental. Passing our plugin contract tests does not prove compatibility with every Desktop version; inspect the live plugin status if it is missing. Official Desktop GUI plugin reference.

Drag-and-drop and bulk queue ordering (Desktop)

Within the draft list (before sending to OpenCode):

  • Drag the ⠿ handle and drop on a message to move it before or after that row. Select multiple checkboxes first to drag those rows as one group, keeping their relative order.
  • Use ↑ Seçilileri yukarı / ↓ Seçilileri aşağı to move multiple selected rows one step, or ⇡ Başa / ⇣ Sona to move them to the beginning or end. All changes operate on the underlying full draft list, including when filtered or paginated.
  • Bu sayfayı seç selects the current page, Eşleşenleri seç selects filtered matches across pages, and Tümünü seç selects all drafts. Selections persist across pages. Seçimi kaldır clears them.
  • The drag handle supports Alt+ArrowUp / Alt+ArrowDown / Alt+Home / Alt+End for accessible keyboard reordering. Each row still offers single-message move buttons.
  • Reordering changes only local drafts and doesn't invoke a model or alter already accepted native inbox messages. Sort and review drafts, then explicitly confirm Tümünü kuyruğa aktar. Already running/admitted queue items cannot safely be reordered with OpenCode's published Inbox API; queued items can be listed or canceled separately.

Localization: 20 languages (Desktop)

Open Queue Manager with /qm. Select a language from the panel's Language / Dil / 🌐 dropdown. The Auto option follows OpenCode Desktop's interface language; picking a language overrides it. Your selection is remembered globally, including after restarting Desktop. It does not translate or modify user-authored prompts, queued messages, or saved drafts.

Supported languages: Turkish, English, German, French, Spanish, Italian, Portuguese (Brazil), Russian, Ukrainian, Polish, Dutch, Swedish, Japanese, Korean, Simplified Chinese, Arabic, Hindi, Indonesian, Vietnamese and Persian. Arabic and Persian use right-to-left panel direction.

Localized: menu labels, list controls, batch/drag-and-drop instructions, confirmations and cost/safety warnings, plus the expandable feature overview in the panel. Common uncommon error diagnostics fall back to English for languages other than English/Turkish. The TUI is not yet fully translated; this release's 20-language selector applies to the Desktop GUI.

Read the 20-language feature descriptions and safety notes, or the searchable HTML language page. Community corrections and improvements are welcome.