Mirrors ~/.pi/agent/ as the authoritative copy. models.json becomes
models.json.template with ${ZENMUX_API_KEY} substituted; the real value stays
in secrets/zenmux.env, which is untracked and enforced by the pre-commit guard.
Excluded with rationale: auth.json, trust.json, models-store.json, sessions/,
herdr-agent-state.ts (installer-managed, overwritten on reinstall) and the
third-party skills under ~/.agents/skills.
Recorded during migration: the configured fallback model zenmux/x-ai/grok-4.6 is
absent from models.json, so pi falls back to an undeclared custom model id with
no context window, cost table or thinkingLevelMap. Fixing that is a behaviour
change and is deferred rather than folded into this zero-change migration.
48 lines
1.1 KiB
Plaintext
48 lines
1.1 KiB
Plaintext
{
|
|
"providers": {
|
|
"zenmux": {
|
|
"name": "ZenMux",
|
|
"baseUrl": "https://zenmux.ai/api/v1",
|
|
"api": "openai-responses",
|
|
"apiKey": "${ZENMUX_API_KEY}",
|
|
"authHeader": true,
|
|
"models": [
|
|
{
|
|
"id": "openai/gpt-5.6-luna",
|
|
"name": "GPT-5.6 Luna (ZenMux)",
|
|
"reasoning": true,
|
|
"thinkingLevelMap": {
|
|
"off": "none",
|
|
"minimal": "low",
|
|
"low": "low",
|
|
"medium": "medium",
|
|
"high": "high",
|
|
"xhigh": "xhigh",
|
|
"max": "xhigh"
|
|
},
|
|
"input": [
|
|
"text",
|
|
"image"
|
|
],
|
|
"cost": {
|
|
"input": 0.2,
|
|
"output": 1.2,
|
|
"cacheRead": 0.02,
|
|
"cacheWrite": 0.25,
|
|
"tiers": [
|
|
{
|
|
"inputTokensAbove": 272000,
|
|
"input": 0.4,
|
|
"output": 1.8,
|
|
"cacheRead": 0.04,
|
|
"cacheWrite": 0.5
|
|
}
|
|
]
|
|
},
|
|
"contextWindow": 1050000
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|