omp packages

@qmahyar/pi-9router1.2.10

Connect pi to 9Router — multi-provider chat models plus image, speech, search, and fetch tools

GitHub Actions Published 1 month ago MIT ~231 downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

9Router  ×  pi

@qmahyar/pi-9router

One gateway. Many providers. Full tool suite for pi.
Sync chat models from 9Router into pi, then turn on image, speech, search, and fetch tools when you need them.

npm pi-package license


Install

pi install npm:@qmahyar/pi-9router

Or from git:

pi install git:github.com/QMahyar/pi-9router

Requires a running 9Router instance (npm i -g 9router → default http://localhost:20128).

What you get

Command Role
/9router Connect · full/quick sync · diagnose · register chat models as provider 9router
/9router-tools Enable tools · set default models · output folder
Tool On by default Does
nr_image_generate Yes Text (or reference images) → image file
nr_tts Yes Text → speech file
nr_video_generate Yes Text/image → MP4 (Grok Imagine, async)
nr_web_search Yes Live web search
nr_web_fetch Yes URL → markdown
nr_embed No Text → embeddings
nr_stt No Audio file → transcript

Off tools leave the model context. Only enabled tools expose schema + usage guidelines to the agent.

Model names

Sync uses smart enrich: when a list row already has name + capabilities (common for chat), it skips /v1/models/info. Thin rows still get a lookup so display names are real — openrouter/openai/tts-1-hd shows as TTS-1 HD, not "Openai/Tts 1 Hd".

  • Full sync — all tool catalogs + voice TTS probes
  • Quick sync — chat only (keeps previous image/tts/web catalog)
  • Diagnose — health, per-kind latency, sample info, voice probes

Tool descriptions stay compact: they name the configured default model, not the whole catalog. A model argument is resolved locally first — nano-banana maps to a real id or fails with candidates listed, instead of No credentials for provider: nano. Browse the full catalog via /9router-tools.

edge-tts / google-tts are free and absent from /v1/models/tts. Full sync probes them and only adds live ones.

60-second start

1. 9router                          # start the gateway
2. /9router  →  Sync models (full catalog)
3. /model    →  provider 9router
4. /9router-tools  →  pick defaults

Optional: Quick sync when you only need chat models refreshed; Diagnose when something is slow or voice TTS is missing.

Pair with Exa (optional)

For dedicated Exa neural search with multi-key rotation (separate from 9Router’s web tools):

pi install npm:@qmahyar/pi-exa-search

→ @qmahyar/pi-exa-search · npm

Use one search stack at a time if you want to avoid overlapping tools.

Docs

Doc
Setup Install, first run, env vars
Usage Menus, tools, on/off behavior
Dev Layout for contributors
Changelog Unreleased WIP + version history

Links

License

MIT