v0.7.12: Custom models/providers support via models.json

- Add ~/.pi/agent/models.json config for custom providers (Ollama, vLLM, etc.)
- Support all 4 API types (openai-completions, openai-responses, anthropic-messages, google-generative-ai)
- Live reload models.json on /model selector open
- Smart model defaults per provider (claude-sonnet-4-5, gpt-5.1-codex, etc.)
- Graceful session fallback when saved model missing or no API key
- Validation errors show precise file/field info in CLI and TUI
- Agent knows its own README.md path for self-documentation
- Added gpt-5.1-codex (400k context, 128k output, reasoning)

Fixes #21
This commit is contained in:
Mario Zechner 2025-11-16 22:56:24 +01:00
parent 112ce6e5d1
commit 0c5cbd0068
15 changed files with 793 additions and 114 deletions

28
package-lock.json generated
View file

@ -3193,11 +3193,11 @@
},
"packages/agent": {
"name": "@mariozechner/pi-agent",
"version": "0.7.11",
"version": "0.7.12",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-ai": "^0.7.10",
"@mariozechner/pi-tui": "^0.7.10"
"@mariozechner/pi-ai": "^0.7.11",
"@mariozechner/pi-tui": "^0.7.11"
},
"devDependencies": {
"@types/node": "^24.3.0",
@ -3223,7 +3223,7 @@
},
"packages/ai": {
"name": "@mariozechner/pi-ai",
"version": "0.7.11",
"version": "0.7.12",
"license": "MIT",
"dependencies": {
"@anthropic-ai/sdk": "^0.61.0",
@ -3270,11 +3270,11 @@
},
"packages/coding-agent": {
"name": "@mariozechner/pi-coding-agent",
"version": "0.7.11",
"version": "0.7.12",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-agent": "^0.7.10",
"@mariozechner/pi-ai": "^0.7.10",
"@mariozechner/pi-agent": "^0.7.11",
"@mariozechner/pi-ai": "^0.7.11",
"chalk": "^5.5.0",
"diff": "^8.0.2",
"glob": "^11.0.3"
@ -3317,10 +3317,10 @@
},
"packages/pods": {
"name": "@mariozechner/pi",
"version": "0.7.11",
"version": "0.7.12",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-agent": "^0.7.10",
"@mariozechner/pi-agent": "^0.7.11",
"chalk": "^5.5.0"
},
"bin": {
@ -3343,7 +3343,7 @@
},
"packages/proxy": {
"name": "@mariozechner/pi-proxy",
"version": "0.7.11",
"version": "0.7.12",
"dependencies": {
"@hono/node-server": "^1.14.0",
"hono": "^4.6.16"
@ -3359,7 +3359,7 @@
},
"packages/tui": {
"name": "@mariozechner/pi-tui",
"version": "0.7.11",
"version": "0.7.12",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",
@ -3398,12 +3398,12 @@
},
"packages/web-ui": {
"name": "@mariozechner/pi-web-ui",
"version": "0.7.11",
"version": "0.7.12",
"license": "MIT",
"dependencies": {
"@lmstudio/sdk": "^1.5.0",
"@mariozechner/pi-ai": "^0.7.10",
"@mariozechner/pi-tui": "^0.7.10",
"@mariozechner/pi-ai": "^0.7.11",
"@mariozechner/pi-tui": "^0.7.11",
"docx-preview": "^0.3.7",
"jszip": "^3.10.1",
"lucide": "^0.544.0",