pi: capture the cursorapi provider and reformat models.json

Local drift that was never added: a cursorapi provider pointing at
http://127.0.0.1:8788/v1, plus the formatting pi itself writes. No key
material -- the apiKey fields hold env var names or the local
placeholder.
This commit is contained in:
Anton Volnuhin 2026-08-06 01:59:18 +03:00
parent f7baca7b3b
commit 74b7f27c06

View File

@ -9,80 +9,20 @@
}, },
"models" : [ "models" : [
{ {
"contextWindow" : 1000000,
"cost" : {
"cacheRead" : 0,
"cacheWrite" : 0,
"input" : 0,
"output" : 0
},
"id" : "qwen3.8-max-preview", "id" : "qwen3.8-max-preview",
"name": "Qwen 3.8 Max",
"reasoning": true,
"input" : [ "input" : [
"text" "text"
], ],
"contextWindow": 1000000,
"maxTokens" : 131072, "maxTokens" : 131072,
"cost": { "name" : "Qwen 3.8 Max",
"input": 0, "reasoning" : true
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
}
}
]
},
"kimi-coding": {
"apiKey": "!. /Users/anton/dev/librenew/.env 2>/dev/null; printf %s \"$KIMI_CODE_API_KEY\"",
"compat": {
"supportsDeveloperRole": false
},
"models": [
{
"id": "k3",
"name": "Kimi K3",
"api": "openai-completions",
"baseUrl": "https://api.kimi.com/coding/v1",
"reasoning": true,
"input": [
"text",
"image"
],
"contextWindow": 1048576,
"maxTokens": 32000,
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
}
}
]
},
"zenmux": {
"api": "openai-completions",
"apiKey": "!. /Users/anton/dev/librenew/.env 2>/dev/null; printf %s \"$ZENMUX_PAYG_KEY\"",
"baseUrl": "https://zenmux.ai/api/v1",
"models": [
{
"id": "openai/gpt-5.6-sol",
"name": "GPT 5.6 Sol",
"reasoning": true,
"input": [
"text",
"image"
],
"contextWindow": 1050000,
"maxTokens": 128000,
"cost": {
"input": 5,
"output": 30,
"cacheRead": 0.5,
"cacheWrite": 6.25,
"tiers": [
{
"inputTokensAbove": 272000,
"input": 10,
"output": 45,
"cacheRead": 1,
"cacheWrite": 12.5
}
]
}
} }
] ]
}, },
@ -108,6 +48,145 @@
} }
] ]
}, },
"cursorapi" : {
"api" : "openai-completions",
"apiKey" : "cursor-local",
"authHeader" : true,
"baseUrl" : "http://127.0.0.1:8788/v1",
"models" : [
{
"api" : "openai-completions",
"compat" : {
"maxTokensField" : "max_tokens",
"requiresAssistantAfterToolResult" : false,
"supportsUsageInStreaming" : true
},
"contextWindow" : 200000,
"cost" : {
"cacheRead" : 0,
"cacheWrite" : 0,
"input" : 0.5,
"output" : 2.5
},
"id" : "composer-2.5",
"input" : [
"text"
],
"limit" : {
"context" : 200000,
"output" : 65536
},
"maxTokens" : 65536,
"name" : "Composer 2.5",
"reasoning" : false
},
{
"api" : "openai-completions",
"compat" : {
"maxTokensField" : "max_tokens",
"requiresAssistantAfterToolResult" : false,
"supportsUsageInStreaming" : true
},
"contextWindow" : 200000,
"cost" : {
"cacheRead" : 0,
"cacheWrite" : 0,
"input" : 3,
"output" : 15
},
"id" : "composer-2.5-fast",
"input" : [
"text"
],
"limit" : {
"context" : 200000,
"output" : 65536
},
"maxTokens" : 65536,
"name" : "Composer 2.5 Fast",
"reasoning" : false
},
{
"api" : "openai-completions",
"compat" : {
"maxTokensField" : "max_tokens",
"requiresAssistantAfterToolResult" : false,
"supportsUsageInStreaming" : true
},
"contextWindow" : 200000,
"cost" : {
"cacheRead" : 0,
"cacheWrite" : 0,
"input" : 2,
"output" : 6
},
"id" : "grok-4.5",
"input" : [
"text"
],
"limit" : {
"context" : 200000,
"output" : 65536
},
"maxTokens" : 65536,
"name" : "Grok 4.5",
"reasoning" : false
},
{
"api" : "openai-completions",
"compat" : {
"maxTokensField" : "max_tokens",
"requiresAssistantAfterToolResult" : false,
"supportsUsageInStreaming" : true
},
"contextWindow" : 200000,
"cost" : {
"cacheRead" : 0,
"cacheWrite" : 0,
"input" : 4,
"output" : 18
},
"id" : "grok-4.5-fast",
"input" : [
"text"
],
"limit" : {
"context" : 200000,
"output" : 65536
},
"maxTokens" : 65536,
"name" : "Grok 4.5 Fast",
"reasoning" : false
}
]
},
"kimi-coding" : {
"apiKey" : "!. /Users/anton/dev/librenew/.env 2>/dev/null; printf %s \"$KIMI_CODE_API_KEY\"",
"compat" : {
"supportsDeveloperRole" : false
},
"models" : [
{
"api" : "openai-completions",
"baseUrl" : "https://api.kimi.com/coding/v1",
"contextWindow" : 1048576,
"cost" : {
"cacheRead" : 0,
"cacheWrite" : 0,
"input" : 0,
"output" : 0
},
"id" : "k3",
"input" : [
"text",
"image"
],
"maxTokens" : 32000,
"name" : "Kimi K3",
"reasoning" : true
}
]
},
"screenpipe" : { "screenpipe" : {
"api" : "openai-completions", "api" : "openai-completions",
"apiKey" : "SCREENPIPE_API_KEY", "apiKey" : "SCREENPIPE_API_KEY",
@ -250,8 +329,8 @@
"cost" : { "cost" : {
"cacheRead" : 0, "cacheRead" : 0,
"cacheWrite" : 0, "cacheWrite" : 0,
"input": 0.1, "input" : 0.10000000000000001,
"output": 0.4 "output" : 0.40000000000000002
}, },
"id" : "gemini-3-flash", "id" : "gemini-3-flash",
"input" : [ "input" : [
@ -267,8 +346,8 @@
"cost" : { "cost" : {
"cacheRead" : 0, "cacheRead" : 0,
"cacheWrite" : 0, "cacheWrite" : 0,
"input": 0.075, "input" : 0.074999999999999997,
"output": 0.3 "output" : 0.29999999999999999
}, },
"id" : "gemini-2.5-flash", "id" : "gemini-2.5-flash",
"input" : [ "input" : [
@ -299,7 +378,7 @@
{ {
"contextWindow" : 200000, "contextWindow" : 200000,
"cost" : { "cost" : {
"cacheRead": 0.3, "cacheRead" : 0.29999999999999999,
"cacheWrite" : 3.75, "cacheWrite" : 3.75,
"input" : 3, "input" : 3,
"output" : 15 "output" : 15
@ -316,9 +395,9 @@
{ {
"contextWindow" : 200000, "contextWindow" : 200000,
"cost" : { "cost" : {
"cacheRead": 0.08, "cacheRead" : 0.080000000000000002,
"cacheWrite" : 1, "cacheWrite" : 1,
"input": 0.8, "input" : 0.80000000000000004,
"output" : 4 "output" : 4
}, },
"id" : "claude-haiku-4-5", "id" : "claude-haiku-4-5",
@ -335,8 +414,8 @@
"cost" : { "cost" : {
"cacheRead" : 0, "cacheRead" : 0,
"cacheWrite" : 0, "cacheWrite" : 0,
"input": 0.065, "input" : 0.065000000000000002,
"output": 0.26 "output" : 0.26000000000000001
}, },
"id" : "qwen/qwen3.5-flash-02-23", "id" : "qwen/qwen3.5-flash-02-23",
"input" : [ "input" : [
@ -351,7 +430,7 @@
"cost" : { "cost" : {
"cacheRead" : 0, "cacheRead" : 0,
"cacheWrite" : 0, "cacheWrite" : 0,
"input": 0.26, "input" : 0.26000000000000001,
"output" : 0.38 "output" : 0.38
}, },
"id" : "deepseek/deepseek-chat", "id" : "deepseek/deepseek-chat",
@ -367,8 +446,8 @@
"cost" : { "cost" : {
"cacheRead" : 0, "cacheRead" : 0,
"cacheWrite" : 0, "cacheWrite" : 0,
"input": 2.19, "input" : 2.1899999999999999,
"output": 8.76 "output" : 8.7599999999999998
}, },
"id" : "deepseek/deepseek-v3.2-speciale", "id" : "deepseek/deepseek-v3.2-speciale",
"input" : [ "input" : [
@ -384,7 +463,7 @@
"cacheRead" : 0, "cacheRead" : 0,
"cacheWrite" : 0, "cacheWrite" : 0,
"input" : 1.5, "input" : 1.5,
"output": 3.0 "output" : 3
}, },
"id" : "qwen/qwen3.5-397b-a17b", "id" : "qwen/qwen3.5-397b-a17b",
"input" : [ "input" : [
@ -401,7 +480,7 @@
"cacheRead" : 0, "cacheRead" : 0,
"cacheWrite" : 0, "cacheWrite" : 0,
"input" : 0.11, "input" : 0.11,
"output": 0.34 "output" : 0.34000000000000002
}, },
"id" : "meta-llama/llama-4-scout", "id" : "meta-llama/llama-4-scout",
"input" : [ "input" : [
@ -417,7 +496,7 @@
"cacheRead" : 0, "cacheRead" : 0,
"cacheWrite" : 0, "cacheWrite" : 0,
"input" : 0.5, "input" : 0.5,
"output": 0.77 "output" : 0.77000000000000002
}, },
"id" : "meta-llama/llama-4-maverick", "id" : "meta-llama/llama-4-maverick",
"input" : [ "input" : [
@ -433,7 +512,7 @@
"cacheRead" : 0, "cacheRead" : 0,
"cacheWrite" : 0, "cacheWrite" : 0,
"input" : 1.25, "input" : 1.25,
"output": 10.0 "output" : 10
}, },
"id" : "gemini-3.1-pro", "id" : "gemini-3.1-pro",
"input" : [ "input" : [
@ -445,6 +524,39 @@
"reasoning" : true "reasoning" : true
} }
] ]
},
"zenmux" : {
"api" : "openai-completions",
"apiKey" : "!. /Users/anton/dev/librenew/.env 2>/dev/null; printf %s \"$ZENMUX_PAYG_KEY\"",
"baseUrl" : "https://zenmux.ai/api/v1",
"models" : [
{
"contextWindow" : 1050000,
"cost" : {
"cacheRead" : 0.5,
"cacheWrite" : 6.25,
"input" : 5,
"output" : 30,
"tiers" : [
{
"cacheRead" : 1,
"cacheWrite" : 12.5,
"input" : 10,
"inputTokensAbove" : 272000,
"output" : 45
}
]
},
"id" : "openai/gpt-5.6-sol",
"input" : [
"text",
"image"
],
"maxTokens" : 128000,
"name" : "GPT 5.6 Sol",
"reasoning" : true
}
]
} }
} }
} }