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

moltbootee

v0.1.0

Published

Standalone multi-provider coder CLI for Qwen and Gemini.

Readme

Moltbootee

Moltbootee is a standalone Node.js CLI for authenticating with Qwen or Gemini and sending coding prompts from the same terminal UX.

Why it differs from Qwen-portal-OAUTH.md

The markdown spec in this workspace describes an older OAuth authorization-code flow with a localhost callback such as http://127.0.0.1:7777/oauth/callback.

When I verified the current live implementation on March 7, 2026, Qwen Code was using a different flow:

  • Device-code OAuth at https://chat.qwen.ai/api/v1/oauth2/device/code
  • Token polling at https://chat.qwen.ai/api/v1/oauth2/token
  • Browser authorization at https://chat.qwen.ai/authorize?...
  • Model access through an OpenAI-compatible endpoint, typically https://dashscope.aliyuncs.com/compatible-mode/v1

Moltbootee follows the current live flow so the CLI is actually usable.

Fast start

node ./bin/molty.js

If molty is linked onto your PATH, typing just molty starts the interactive chat shell immediately.

molty also supports multiple stored accounts. In the interactive shell, Tab then A cycles to the next stored account.

If Gemini gemini-3-pro-preview is temporarily out of capacity, Moltbootee automatically retries with the next built-in Gemini model instead of dropping the whole shell.

Providers

  • qwen: Qwen OAuth device-code login plus coder-model
  • gemini: Google OAuth localhost callback plus Gemini CLI-style Code Assist models such as gemini-3-pro-preview

Examples:

moltbootee login
moltbootee login gemini
moltbootee login qwen
moltbootee login --provider gemini
moltbootee chat --model gemini-3-pro-preview "Explain this stack trace"
moltbootee models --provider gemini

Commands

node ./bin/moltbootee.js help
node ./bin/moltbootee.js login
node ./bin/moltbootee.js login gemini
node ./bin/moltbootee.js login --provider gemini
node ./bin/moltbootee.js login --account work
node ./bin/moltbootee.js accounts
node ./bin/moltbootee.js account use work
node ./bin/molty.js
node ./bin/moltbootee.js models
node ./bin/moltbootee.js chat "Explain this bug"
node ./bin/moltbootee.js skill debug "Find the bug in this stack trace"
node ./bin/moltbootee.js agent reviewer "Review this function"
node ./bin/moltbootee.js skills
node ./bin/moltbootee.js agents
node ./bin/moltbootee.js doctor
node ./bin/moltbootee.js logout

If you want the command on your PATH, run:

npm.cmd link

Then use:

moltbootee login
moltbootee login gemini
moltbootee login --provider gemini
molty

npm.cmd link now exposes both commands:

  • moltbootee: full command surface
  • moltybootee: alias for moltbootee
  • molty: chat-first shortcut

Multiple accounts

Accounts are stored in the same OAuth file and one account is marked active.

Examples:

moltbootee login --account personal
moltbootee login --provider gemini --account google
moltbootee login --account work
moltbootee accounts
moltbootee account use work
moltbootee chat --account personal "review this script"

Inside molty:

  • /login gemini logs into Gemini and switches the session
  • /login qwen logs into Qwen and switches the session
  • /logout removes the current account session
  • /accounts lists stored accounts
  • /account shows the current one
  • /account use work switches directly
  • /provider gemini switches the session provider
  • Tab then A cycles to the next stored account

Built-in skills

Moltbootee now ships with built-in reusable task skills:

  • build
  • debug
  • review
  • refactor
  • test
  • docs
  • shell
  • security
  • performance
  • api
  • ui
  • git
  • sql
  • explain

Use them like:

moltbootee skill debug "Why is this promise never resolving?"
moltbootee chat --skill review "Review this Express middleware"

Built-in agents

Moltbootee also includes agent personas:

  • coder
  • architect
  • reviewer
  • debugger
  • test-engineer
  • devops
  • security
  • frontend
  • backend
  • data
  • teacher
  • product

Use them like:

moltbootee agent architect "Design a plugin system"
moltbootee chat --agent security "Threat model this OAuth callback flow"

Interactive shell

Inside molty, use slash commands:

  • /help
  • /accounts
  • /account [id]
  • /login [provider]
  • /logout [id]
  • /provider [id]
  • /skills
  • /agents
  • /use-skill <id>
  • /use-agent <id>
  • /model <id>
  • /model qwen
  • /model gemini
  • /model flash
  • /stream on|off
  • /system <text>
  • /status
  • /doctor
  • /history
  • /save [file.md]
  • /clear
  • /retry
  • /models
  • /exit

Storage

OAuth credentials are stored at:

~/.moltbootee/oauth.json

Example structure:

{
  "version": 3,
  "active_account_id": "work",
  "accounts": {
    "work": {
      "account_id": "work",
      "label": "work",
      "provider": "qwen",
      "access_token": "....",
      "refresh_token": "....",
      "token_type": "Bearer",
      "expires_at": 1772861575000,
      "resource_url": "https://dashscope.aliyuncs.com/compatible-mode",
      "created_at": "2026-03-07T10:00:00.000Z",
      "updated_at": "2026-03-07T10:00:00.000Z"
    }
  }
}

Request format

Qwen uses the OpenAI-compatible POST /chat/completions shape:

{
  "model": "coder-model",
  "messages": [
    {
      "role": "user",
      "content": "Write a tokenizer in Rust"
    }
  ],
  "stream": true,
  "temperature": 0.2
}

The CLI sends:

  • Authorization: Bearer <access_token>
  • Content-Type: application/json

Gemini uses the same Google OAuth and Code Assist backend shape as the official Gemini CLI, including generateContent and streamGenerateContent against https://cloudcode-pa.googleapis.com/v1internal.

Notes

  • The model alias qwen-portal/coder-model is accepted and normalized to coder-model.
  • gemini-3-pro-preview, gemini-3-flash-preview, gemini-2.5-pro, gemini-2.5-flash, and gemini-2.5-flash-lite are built in as official Gemini CLI model ids.
  • moltbootee login gemini and moltbootee login qwen are shorthand for provider-specific login.
  • In molty, /model qwen and /model gemini switch provider and default model together.
  • If the access token is near expiry, Moltbootee refreshes it automatically.
  • If refresh fails with an invalid refresh token, the CLI clears the local token file and requires a new login.
  • molty with no arguments drops directly into the prettier interactive shell.