{"_id":"@conreo/pi-zenmux","_rev":"3-f44484e3ded84f0bead18b15915c0877","name":"@conreo/pi-zenmux","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.2":{"name":"@conreo/pi-zenmux","version":"1.0.2","keywords":["pi-package","pi-extension","zenmux","llm","ai","provider","gateway"],"license":"MIT","_id":"@conreo/pi-zenmux@1.0.2","maintainers":[{"name":"conreo","email":"conreo@gmail.com"}],"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"30f5d745dbbb65bb75b9b21e4a8579dbe25cdd0c","tarball":"https://registry.npmjs.org/@conreo/pi-zenmux/-/pi-zenmux-1.0.2.tgz","fileCount":3,"integrity":"sha512-jsyvtEO+1XDtMf31y7ZYp8wCgvVtXocB448LgtKai6W5jqPJ7h/R1e91jMFWZ46kPj9y2fOM7KgPazu4mmQBuw==","signatures":[{"sig":"MEUCIQC6rLLXQGiQn9Rbd2pPwJfVffFady2DAP/Jw+RPGv2mgAIgTaPjMR0EBLpqJFfgCKdQeTKFgodx4EgZHfShjB+tOn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9018},"gitHead":"9daec650421bbd5a3250cb72e8cf788965c1e84d","_npmUser":{"name":"conreo","email":"conreo@gmail.com"},"_npmVersion":"10.9.4","description":"ZenMux provider extension for Pi — dynamic model discovery with caching","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-zenmux_1.0.2_1778324940905_0.722589884869743","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@conreo/pi-zenmux","version":"1.0.3","keywords":["pi","pi-extension","zenmux","llm","ai","provider","gateway"],"author":{"name":"conreo"},"license":"MIT","_id":"@conreo/pi-zenmux@1.0.3","maintainers":[{"name":"conreo","email":"conreo@gmail.com"}],"homepage":"https://github.com/conreo/pi-zenmux#readme","bugs":{"url":"https://github.com/conreo/pi-zenmux/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"6d45adf5cc41df58d5a8ac56d4f588eed7ef9330","tarball":"https://registry.npmjs.org/@conreo/pi-zenmux/-/pi-zenmux-1.0.3.tgz","fileCount":4,"integrity":"sha512-vU6SdJOdt28tlkIFJ9W74ZwCHLwOozxKfZps2jAQaLuT20N6M4Y69704WXuKFavEv/A75uo3qqm4Ob/UHOcoBw==","signatures":[{"sig":"MEUCIQCCtI3Bnbq9XuQpcP/sEm/JnHfHpgbyBAA39Fpiy28RYQIgDul9NsCAkg3S1nMlxIbJQxVPKhfP47Ho6Qfq7ww4uW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12565},"gitHead":"29a66c393ef442ef5c6bd65272c0b0507a151095","_npmUser":{"name":"conreo","email":"conreo@gmail.com"},"repository":{"url":"git+https://github.com/conreo/pi-zenmux.git","type":"git"},"_npmVersion":"10.9.4","description":"ZenMux provider extension for Pi — dynamic model discovery with caching","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-zenmux_1.0.3_1778333850605_0.0326338301008573","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@conreo/pi-zenmux","version":"1.0.4","description":"ZenMux provider extension for Pi — dynamic model discovery with caching","author":{"name":"conreo"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/conreo/pi-zenmux.git"},"keywords":["pi","pi-extension","zenmux","llm","ai","provider","gateway"],"pi":{"extensions":["./extensions/index.ts"]},"peerDependencies":{"@mariozechner/pi-coding-agent":"*","@earendil-works/pi-coding-agent":"*"},"_id":"@conreo/pi-zenmux@1.0.4","gitHead":"2384ba6b73a8db5ba40ca543915eaaf2b3bf0094","bugs":{"url":"https://github.com/conreo/pi-zenmux/issues"},"homepage":"https://github.com/conreo/pi-zenmux#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-NgF1fUNXSiyP3dUBcpSqyMZRWr+H6kHbLmc1mVPPdQaAP2TpOMhXw6MNB0OvvmauRywqypbRCEoAuBfpekOGMA==","shasum":"ae6ea680e47a1b3336cc943a98812429b350fba9","tarball":"https://registry.npmjs.org/@conreo/pi-zenmux/-/pi-zenmux-1.0.4.tgz","fileCount":4,"unpackedSize":12422,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCoMem83atGBeFXsTdX1YAI37TehNVCX/hHLR3KK6/F1QIgTV4LIFphGaJS8KeNDIJ6rh4c1gEuQcNF+POS7q0jxmg="}]},"_npmUser":{"name":"conreo","email":"conreo@gmail.com"},"directories":{},"maintainers":[{"name":"conreo","email":"conreo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-zenmux_1.0.4_1778335994759_0.12296030148883874"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-09T11:09:00.843Z","modified":"2026-05-09T14:13:15.045Z","1.0.2":"2026-05-09T11:09:01.047Z","1.0.3":"2026-05-09T13:37:30.753Z","1.0.4":"2026-05-09T14:13:14.925Z"},"bugs":{"url":"https://github.com/conreo/pi-zenmux/issues"},"author":{"name":"conreo"},"license":"MIT","homepage":"https://github.com/conreo/pi-zenmux#readme","keywords":["pi","pi-extension","zenmux","llm","ai","provider","gateway"],"repository":{"type":"git","url":"git+https://github.com/conreo/pi-zenmux.git"},"description":"ZenMux provider extension for Pi — dynamic model discovery with caching","maintainers":[{"name":"conreo","email":"conreo@gmail.com"}],"readme":"# pi-zenmux\n\nZenMux provider extension for [Pi](https://github.com/mariozechner/pi-coding-agent). Auto-discovers and registers all available models from the [ZenMux](https://zenmux.ai) API gateway, with proper DeepSeek thinking-mode compat.\n\n## Install\n\n```bash\npi install npm:@conreo/pi-zenmux\n```\n\n## Setup\n\nSet your ZenMux API key:\n\n```bash\nexport ZENMUX_API_KEY=\"sk-...\"\n```\n\n## Usage\n\nStart pi — ZenMux models appear under the `zenmux` provider:\n\n```bash\npi\n```\n\nSelect a model with `/model` or use `zenmux/<model-id>` directly:\n\n```\n/model zenmux/deepseek/deepseek-v4-pro\n/model zenmux/openai/gpt-4o\n```\n\n## Commands\n\n- `/zenmux-refresh` — Force refresh the model list from the ZenMux API\n\n## Supported Models\n\nAll models available through the ZenMux gateway are automatically discovered. This includes:\n\n- **DeepSeek** — v4-pro, v4-flash, v3.2, chat, reasoner, r1 (with proper thinking-mode compat)\n- **OpenAI** — gpt-4o, gpt-4o-mini, o3-mini, o4-mini, etc.\n- **Anthropic** — claude-sonnet-4-20250514, claude-opus-4-20250514, etc.\n- **Google** — gemini-2.5-pro, gemini-2.5-flash, etc.\n- **And more** — all models registered at [zenmux.ai](https://zenmux.ai)\n\n## DeepSeek Thinking Mode\n\nThis extension registers DeepSeek models with the proper `compat` flags so Pi natively manages `reasoning_content` across multi-turn conversations with tool calls. No fetch-intercept hacks — Pi's built-in handling activates automatically.\n\n## How It Works\n\n1. **Startup**: Reads cached model list from `~/.cache/pi-zenmux/models.json` (24h TTL)\n2. **Cache hit**: Registers models synchronously (zero latency)\n3. **Cache miss**: Registers an empty provider, fetches models in the background, writes cache\n4. **Model registration**: DeepSeek models get `compat.requiresReasoningContentOnAssistantMessages` and `thinkingFormat: \"deepseek\"` so Pi handles reasoning properly\n\n## Development\n\nTest locally without publishing:\n\n```bash\nZENMUX_API_KEY=\"sk-...\" pi -e ./extensions/index.ts\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}