pi-provider-umans
Umans.ai provider for pi — Anthropic Messages-compatible endpoint with dynamic model discovery
Package details
Install pi-provider-umans from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-provider-umans- Package
pi-provider-umans- Version
1.4.0- Published
- Jun 25, 2026
- Downloads
- 200/mo · 32/wk
- Author
- karutoil
- License
- MIT
- Types
- extension
- Size
- 45.7 KB
- Dependencies
- 0 dependencies · 0 peers
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-provider-umans
Umans.ai provider for pi — speaks the Anthropic Messages API against the Umans Code gateway (https://api.code.umans.ai), with dynamic model discovery and client-side vision handoff for text-only models.
Install
# From npm (once published)
pi install npm:pi-provider-umans
# From git
pi install git:github.com/user/pi-provider-umans
# From local path (for development)
pi install ./pi-provider-umans
# Or try without installing
pi -e ./pi-provider-umans
Setup
Option 1: /login (recommended — persists in auth.json)
In pi, run:
/login umans
Paste your API key when prompted. It's stored securely in ~/.pi/agent/auth.json — no env vars needed.
Option 2: Environment variable
export UMANS_API_KEY="sk-your-key-here"
Anthropic Messages endpoint
This provider talks to Umans through its Anthropic-compatible /v1/messages endpoint and registers with pi as api: "anthropic-messages". Requests use the standard Anthropic wire format — the anthropic-version: 2023-06-01 header, message-block content, and Anthropic adaptive thinking (thinking.type: "adaptive", surfaced as effort levels) — rather than the OpenAI Chat Completions format the extension used previously. That makes it a drop-in for pi's Anthropic provider stack.
The gateway base URL defaults to https://api.code.umans.ai; override it with UMANS_BASE_URL to point at a different environment.
Dynamic model discovery
Models and capabilities are fetched live from /v1/models/info at load time, so new Umans models appear automatically — no extension update needed. If the gateway is unreachable, a built-in fallback catalog still lets the provider register.
Current catalog:
| ID | Name | Vision | Reasoning | Context |
|---|---|---|---|---|
umans-kimi-k2.6 |
Umans Kimi K2.6 | native | ✅ | 256K |
umans-kimi-k2.7 |
Umans Kimi K2.7 Code | native | ✅ (always on) | 256K |
umans-glm-5.2 |
Umans GLM 5.2 | via-handoff | ✅ | 406K |
umans-coder |
Umans Coder | native | ✅ (always on) | 256K |
umans-flash |
Umans Flash | native | ✅ | 256K |
umans-qwen3.6-35b-a3b |
Umans Qwen3.6 35B A3B | native | ✅ | 256K |
New models added by Umans appear automatically — no extension update needed.
Vision handoff
Text-only Umans models — currently the GLM 5.1 / 5.2 models, marked supports_vision: "via-handoff" — can't see images at the gateway. When you attach an image to a message headed for one of them, this extension intercepts it client-side: the image is analyzed by a native-vision Umans model and replaced in the message with an [Image analysis (image:ID)]: … text block before the text model is called.
- The analysis persists in the conversation (KV-cache friendly — it isn't re-analyzed on every turn).
- The text model can call the
umans_visiontool to ask targeted follow-up questions about an analyzed image — pass the image ID from the[Image analysis (image:ID)]block. - Native-vision models (Kimi K2.6 / K2.7, Coder, Flash, Qwen) see images directly — no handoff.
Vision model & toggle
The handoff model defaults to umans-kimi-k2.7 (or the first available native-vision model). Control it live with /umans-vision:
/umans-vision # show status
/umans-vision on | off # enable / disable handoff (off falls back to the gateway)
/umans-vision model <id> # pick the vision model
Or seed at startup:
export UMANS_VISION_MODEL="umans-kimi-k2.7" # vision model id
export UMANS_VISION_DISABLE="1" # start with handoff off
Getting an API Key
- Log in to app.umans.ai/billing
- Go to Dashboard → API Keys
- Generate a new key (shown only once — copy it immediately)