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

@verboo/opencode-auth

v0.1.3

Published

Verboo OAuth authentication plugin for OpenCode

Readme

@verboo/opencode-auth

Plugin de autenticação OAuth para o opencode que permite logar com sua conta Verboo e usar os modelos servidos pelo router do Verboo dentro do opencode (CLI e TUI).


Pré-requisitos

  • opencode instalado (1.4+). Se ainda não tem:
    curl -fsSL https://opencode.ai/install | bash
  • Uma conta no code.verboo.ai

Tutorial passo a passo

1. Setup + login (um comando)

npx @verboo/opencode-auth

O comando:

  • Adiciona @verboo/opencode-auth ao seu ~/.config/opencode/opencode.json (preserva o resto da config; idempotente)
  • Roda opencode auth login automaticamente

Você só interage com o passo do navegador:

  • Digita verboo no buscador → Verboo (plugin)Enter
  • Escolhe Login with Verboo (browser)
  • Navegador abre em code.verboo.ai/oauth/authorize → autoriza
  • Volta pro terminal: "Logged in to verboo"

Quer fazer só o setup sem login (pra automação)?

npx @verboo/opencode-auth --no-login

1.b Setup manual (se preferir)

Edita ~/.config/opencode/opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["@verboo/opencode-auth"]
}

Depois opencode auth login e segue o fluxo de browser.

2. Verifica

opencode auth list
# deve mostrar: ● verboo  oauth

3. Lista os modelos disponíveis

opencode models verboo

Mostra todos os modelos que sua conta tem acesso no router. Por exemplo:

verboo/verboo/gemma-4-31b
verboo/verboo/qwen3.6-27b
verboo/verboo/qwen3.6-a35b
verboo/verboo/minimax-m2.7
verboo/early-adopters/qwen3.6-27b

A lista é puxada dinamicamente de code.verboo.ai/router/v1/models na hora do start. Se o admin adicionar modelos novos pro seu tenant, reinicia o opencode pra ver.

4. Usa

Modo TUI (interativo):

opencode

Dentro da TUI:

  • /model → seleciona um verboo/...
  • Manda uma mensagem

Modo one-shot (terminal):

opencode run -m verboo/verboo/gemma-4-31b "explica essa função em 3 linhas: $(cat util.js)"

Definir como modelo padrão: adiciona ao seu opencode.json:

{
  "model": "verboo/verboo/gemma-4-31b",
  "plugin": ["@verboo/opencode-auth"]
}

5. Logout

opencode auth logout
# escolhe verboo

Remove as credenciais de ~/.local/share/opencode/auth.json. Pra logar de novo, repete o passo 2.


Como funciona

  • OAuth 2.1 Authorization Code com PKCE (S256): o plugin sobe um servidor HTTP em http://localhost:11451/callback, abre o navegador em code.verboo.ai/oauth/authorize e captura o código de autorização sem precisar copiar/colar.
  • Token storage: o access_token + refresh_token ficam em ~/.local/share/opencode/auth.json com permissão 0600.
  • Refresh automático: quando o expires passa, o plugin troca o refresh_token por um novo access_token antes da próxima request — sem ação do usuário.
  • Roteamento de chamadas: o opencode usa o AI SDK @ai-sdk/openai-compatible apontando pra https://code.verboo.ai/router/v1, com Authorization: Bearer <access> em cada call.

Configurações opcionais

Variáveis de ambiente:

| Variável | Default | Uso | |---|---|---| | VERBOO_BASE_URL | https://code.verboo.ai | Aponta pra staging ou outra instância | | VERBOO_OAUTH_CLIENT_ID | verboo-code-cli | Override do client OAuth (raro) |

Exemplo (staging):

export VERBOO_BASE_URL=https://staging.code.verboo.ai
opencode auth login

FAQ / problemas comuns

"Provider not found: verboo" Você não tem "plugin": ["@verboo/opencode-auth"] no opencode.json ativo. Confere com:

cat ~/.config/opencode/opencode.json
# OU, se for por projeto:
cat ./opencode.json

"redirect_uri not registered for this client" Sua instância do verboo-code-back está numa versão antiga sem a migration 0006_cli_oauth_client. Atualize o back ou cadastre http://localhost/callback (qualquer porta — RFC 8252 loopback) como redirect_uri válido pro client verboo-code-cli.

"redirect_uri timeout" / página de sucesso não fecha Porta 11451 ocupada por outro processo. Mata o processo que está usando ou aguarde alguns segundos e tente de novo.

Modelos não aparecem em opencode models verboo

  • Você não está logado (verifica com opencode auth list).
  • O token expirou e o refresh falhou. Faz opencode auth logout + opencode auth login de novo.
  • A instância retornou 0 modelos pro seu user (problema de permissão no back, fale com o admin).

Quero ver o que o plugin está fazendo

opencode --print-logs --log-level DEBUG auth login 2>&1 | grep -iE "verboo|plugin|oauth"

Atualizar pra versão nova do plugin O opencode resolve o npm na inicialização e cacheia. Pra forçar update:

rm -rf ~/.local/share/opencode/plugins
opencode  # baixa de novo

Versão / changelog

  • 0.1.1 — adiciona npx @verboo/opencode-auth que faz setup + login em um comando.
  • 0.1.0 — release inicial: OAuth com PKCE, refresh automático, descoberta dinâmica de modelos via /v1/models.

Licença

MIT.