pi-provider-vancine
Pi extension that registers Vancine in /login and loads OpenAI-compatible chat models into /model from Vancine's dynamic catalog.
Package details
Install pi-provider-vancine from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-provider-vancine- Package
pi-provider-vancine- Version
0.1.4- Published
- Sep 15, 2026
- Downloads
- 445/mo · 150/wk
- Author
- vancine_xin
- License
- MIT
- Types
- extension
- Size
- 53.3 KB
- Dependencies
- 0 dependencies · 2 peers
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-provider-vancine
Use Vancine from Pi through /login and a dynamic /model list, without writing ~/.pi/agent/models.json.
Install
pi install npm:pi-provider-vancine
Then start Pi.
Log in
- In Pi, run
/login. - Choose Vancine.
- Paste your Vancine API key into the secret prompt.
- Pi stores the key in its credential store. This extension does not write its own credential file.
Choose a model
- Run
/model. - Select a model under the Vancine provider.
- You do not need to create or edit
models.jsonfor this basic path.
/model loads Vancine's current compatible Chat Completions models from the production catalog at https://vancine.com/api/pi/catalog. The list is not a hardcoded whitelist.
Catalog refresh and fallback
The live source is GET https://vancine.com/api/pi/catalog. See docs/catalog-endpoint.md.
- While Pi has this extension loaded, the provider refreshes the catalog at most every 4 hours, and sends
If-None-Match/If-Modified-Sincewhen it already has validators. - Pi 0.85.1's standalone
pi update --modelscreates a ModelRuntime from built-in providers only. It does not load third-party extensions, so it cannot refresh Vancine immediately. This package does not add a separate refresh command and does not claim that Pi upstream can force-refresh third-party catalogs on its own. - A cached
deepseek-flashentry is treated as retired. On the next catalog refresh while this extension is loaded, the provider bypasses the four-hour window, fetches the current catalog without the old validators, and drops that ID. It does not alias or rewrite the old ID. Do not edit or delete~/.pi/agent/models-store.jsonby hand. - When a catalog request succeeds,
/modelshows the compatible Chat Completions models from that response, including a legitimate empty list. - If a later catalog request fails, Pi keeps the last successful cached catalog, including a cached empty list. This extension does not overwrite a valid cache with fallback models.
- The four-model fallback is used only when there is no cache at all, network refresh is allowed, and that first catalog request fails:
hy4-previewdeepseek-v4.1-flashglm-5.3-flashqwen3.8-flash
- Offline startup without a cache shows no Vancine models until a network refresh is attempted.
- After a successful catalog refresh, delisted models disappear and are not revived by fallback.
The catalog is not guaranteed to be realtime and can fail. Fallback models are a static first-run snapshot, not live model sync.
Vancine API
| Base URL | https://vancine.com/v1 |
| Protocol | OpenAI-compatible Chat Completions |
| Register | https://vancine.com |
| API keys | https://vancine.com/console |
| Models and pricing | https://vancine.com/docs/models |
| Public pricing JSON | https://vancine.com/api/pricing |
| Agent notes | https://vancine.com/docs/agents |
Security
- The API key is stored by Pi's credential store after
/login. - This extension does not keep its own copy of the key, does not put the key in the model cache, and does not send the key to catalog, npm, GitHub, Models.dev, or other third-party hosts.
- Authorization is only used for Vancine API requests that Pi itself sends to
https://vancine.com. - This package has no telemetry, analytics, install scripts, or automatic edits to your Pi settings.
Troubleshooting
Provider does not appear in /login
- Confirm the package is installed:
pi list. - Restart Pi after install.
- Check that the extension was not disabled in
pi config.
No models after /login
- Run
/modelafter login. Models are listed only when Vancine auth is configured. - If this is a first run, network refresh is allowed, and the catalog request fails, you should see the four offline fallback models.
- If a previous successful refresh stored an empty compatible catalog,
/modelstays empty.
Model catalog is temporarily unavailable
- Pi keeps the last successful catalog when one exists, including an empty catalog.
- First run without a cache, after a failed network refresh, uses the four offline snapshot models. That is not live sync.
- The catalog can fail; it is not claimed to be always live.
Model list still shows a retired ID, or a renamed model is missing
deepseek-flashis a retired Vancine ID. This provider migrates a cache that still contains it the next time Pi loads the extension and runs a catalog refresh: it fetches the live catalog without the old ETag, then keeps the server list. It does not map the old ID to a new one.- Pi 0.85.1
pi update --modelsdoes not load this extension, so it will not perform that migration. Starting Pi (or otherwise loading the extension so it can refresh) is what applies the cache migration. - Do not hand-edit or delete
~/.pi/agent/models-store.json. - Updating the npm package does not by itself invent a model. If production
/api/pi/catalogdoes not list the model, a package update cannot add it.
API key is invalid
- Create or copy a key from the Vancine console.
- Run
/loginagain and choose Vancine. - This extension never prints the full key in errors.
Compatibility errors
- Vancine Chat Completions is OpenAI-compatible. This provider sets
supportsDeveloperRole: falseso Pi sendssysteminstead ofdeveloper. supportsReasoningEffortis not force-disabled. In the offline fallback onlydeepseek-v4.1-flashdeclares it astrue(a verified Vancine Chat Completions fact); every other model leaves it unset so Pi's own default still applies. The live catalog carries the same per-model value.- If a specific model rejects a reasoning parameter, report it with the model id and error text (redact the key).
Update
pi update npm:pi-provider-vancine
Remove
pi remove npm:pi-provider-vancine
Independence
Vancine is an independent OpenAI-compatible API service.
This package is a community extension published and maintained by Vancine. It is not a built-in Pi provider.
It is not an official extension, partnership, certification, or endorsement by Pi, Earendil Works, or their maintainers.
Listing on Models.dev or any other directory is not an official partnership, endorsement, or approval by Pi or Earendil Works.
This package does not claim that Vancine is built into Pi, that Pi has officially endorsed it, or that every dynamic model was paid-tested in this release.