feat: Pi-Starter-Skripte und models.json ins Repo — maschinenübergreifend deploybar

GlmPi, MiniPi, FlashPi, OrchestratorPi, DeepSeekFlashPi und models.json
hinzugefügt. install.sh: alle bin/-Skripte gehen nach /usr/local/bin/
(nicht nur Sub*), agent/-Dateien werden vollständig deployt.
This commit is contained in:
Raimund Bauer 2026-06-02 12:24:58 +02:00
parent 5057f500a0
commit c2056599e6
7 changed files with 253 additions and 6 deletions

181
agent/models.json Normal file
View file

@ -0,0 +1,181 @@
{
"providers": {
"ollama-cloud": {
"api": "openai-completions",
"apiKey": "$OLLAMA_API_KEY",
"authHeader": true,
"baseUrl": "https://ollama.com/v1",
"models": [
{
"contextWindow": 1000000,
"id": "gemini-3-flash-preview",
"input": [
"text",
"image"
],
"name": "Gemini 3 Flash Preview"
},
{
"id": "kimi-k2.6",
"input": [
"text",
"image"
],
"name": "Kimi K2.6"
},
{
"id": "qwen3.5:397b",
"input": [
"text",
"image"
],
"name": "Qwen 3.5 397B"
},
{
"id": "qwen3-vl:235b",
"input": [
"text",
"image"
],
"name": "Qwen 3 VL 235B"
},
{
"contextWindow": 1000000,
"id": "deepseek-v4-flash",
"input": [
"text"
],
"name": "DeepSeek V4 Flash"
},
{
"contextWindow": 1000000,
"id": "deepseek-v4-pro",
"input": [
"text"
],
"name": "DeepSeek V4 Pro"
},
{
"id": "mistral-large-3:675b",
"input": [
"text",
"image"
],
"name": "Mistral Large 3"
},
{
"contextWindow": 1000000,
"id": "minimax-m3:cloud",
"input": [
"text",
"image"
],
"name": "MiniMax M3 (Ollama Cloud)"
}
]
},
"novita": {
"api": "openai-completions",
"apiKey": "$NOVITA_API_KEY",
"baseUrl": "https://api.novita.ai/v3/openai",
"models": [
{
"id": "deepseek/deepseek-v4-flash",
"name": "DeepSeek V4 Flash (Novita)",
"contextWindow": 1000000,
"input": [
"text"
],
"maxTokens": 393216
}
]
},
"openrouter": {
"api": "openai-completions",
"apiKey": "$OPENROUTER_API_KEY",
"baseUrl": "https://openrouter.ai/api/v1",
"models": [
{
"contextWindow": 1000000,
"id": "deepseek/deepseek-v4-flash",
"input": [
"text"
],
"name": "DeepSeek V4 Flash",
"compat": {
"openRouterRouting": {
"order": [
"siliconflow",
"novita",
"atlas-cloud"
],
"quantizations": [
"fp8"
],
"allow_fallbacks": true
}
}
},
{
"contextWindow": 1000000,
"id": "deepseek/deepseek-r1",
"input": [
"text"
],
"name": "DeepSeek R1 (OpenRouter)"
},
{
"contextWindow": 262144,
"id": "qwen/qwen3-vl-32b-instruct",
"input": [
"text",
"image"
],
"name": "Qwen3 VL 32B Instruct (OpenRouter)"
}
]
},
"z-ai": {
"api": "anthropic-messages",
"apiKey": "$GLM5_API_KEY",
"authHeader": true,
"baseUrl": "https://api.z.ai/api/anthropic",
"models": [
{
"id": "glm-5.1",
"input": [
"text",
"image"
],
"name": "GLM 5.1 (Z.AI)",
"reasoning": true
}
]
},
"together": {
"api": "openai-completions",
"apiKey": "$TOGETHER_API_KEY",
"baseUrl": "https://api.together.xyz/v1",
"models": [
{
"id": "openai/gpt-oss-120b",
"input": [
"text",
"image"
],
"name": "GPT-OSS 120B",
"contextWindow": 131072
},
{
"id": "MiniMaxAI/MiniMax-M2.7",
"input": [
"text",
"image"
],
"name": "MiniMax M2.7",
"contextWindow": 196608
}
]
}
}
}

3
bin/DeepSeekFlashPi Normal file
View file

@ -0,0 +1,3 @@
#!/bin/bash
# DeepSeekFlashPi — Startet den Pi KI-Editor mit DeepSeek V4 Flash (OpenRouter)
exec pi --provider openrouter --model deepseek/deepseek-v4-flash "$@"

19
bin/FlashPi Normal file
View file

@ -0,0 +1,19 @@
#!/bin/bash
# FlashPi — Startet Pi mit DeepSeek V4 Flash über Novita
# Holt den API-Key dynamisch aus Infisical
# Novita API-Key aus Infisical holen
NOVITA_API_KEY=$(INFISICAL_API_URL="https://infisical.ccpn.cc" \
infisical secrets get NOVITA_API_KEY \
--domain https://infisical.ccpn.cc \
--projectId 9e8562f2-8ec8-49f5-a551-db13d265b3cc \
--env dev --plain 2>/dev/null)
if [ -z "$NOVITA_API_KEY" ]; then
echo "FEHLER: Konnte NOVITA_API_KEY nicht aus Infisical holen."
echo "Prüfe: infisical login --domain https://infisical.ccpn.cc"
exit 1
fi
export NOVITA_API_KEY
exec pi --provider novita --model "deepseek/deepseek-v4-flash" "$@"

3
bin/GlmPi Normal file
View file

@ -0,0 +1,3 @@
#!/bin/bash
# GlmPi — Startet den Pi KI-Editor mit GLM 5.1 (Z.AI)
exec pi --provider z-ai --model glm-5.1 "$@"

19
bin/MiniPi Normal file
View file

@ -0,0 +1,19 @@
#!/bin/bash
# MiniPi — Startet Pi mit MiniMax M3 ueber Ollama Cloud
# MiniMax M3: 1M Tokens Kontext, Multi-Modal, Sparse Attention (MSA)
# Modell: minimax-m3:cloud (Ollama Cloud, US-Hosting, Zero Data Retention)
OLLAMA_API_KEY=$(INFISICAL_API_URL="https://infisical.ccpn.cc" \
infisical secrets get OLLAMA_API_KEY \
--domain https://infisical.ccpn.cc \
--projectId 9e8562f2-8ec8-49f5-a551-db13d265b3cc \
--env dev --plain 2>/dev/null)
if [ -z "$OLLAMA_API_KEY" ]; then
echo "FEHLER: Konnte OLLAMA_API_KEY nicht aus Infisical holen."
echo "Pruefe: infisical login --domain https://infisical.ccpn.cc"
exit 1
fi
export OLLAMA_API_KEY
exec pi --provider ollama-cloud --model "minimax-m3:cloud" "$@"

20
bin/OrchestratorPi Normal file
View file

@ -0,0 +1,20 @@
#!/bin/bash
# OrchestratorPi — Startet Pi als Orchestrator mit DeepSeek V4 Flash ueber Novita
# Setzt PI_ORCHESTRATOR=1, damit Extensions und Skills wissen: diese Session ist der Orchestrator.
NOVITA_API_KEY=$(INFISICAL_API_URL="https://infisical.ccpn.cc" \
infisical secrets get NOVITA_API_KEY \
--domain https://infisical.ccpn.cc \
--projectId 9e8562f2-8ec8-49f5-a551-db13d265b3cc \
--env dev --plain 2>/dev/null)
if [ -z "$NOVITA_API_KEY" ]; then
echo "FEHLER: Konnte NOVITA_API_KEY nicht aus Infisical holen."
echo "Pruefe: infisical login --domain https://infisical.ccpn.cc"
exit 1
fi
export NOVITA_API_KEY
export PI_ORCHESTRATOR=1
exec pi --provider novita --model "deepseek/deepseek-v4-flash" "$@"

View file

@ -106,9 +106,9 @@ for f in "$REPO_DIR"/bin/*; do
done
echo ""
# ─── bin/ → /usr/local/bin/ (nur Sub* Skripte) ──────────────
echo "── bin/Sub* → /usr/local/bin/ ─────────────────────────"
for f in "$REPO_DIR"/bin/Sub*; do
# ─── bin/ → /usr/local/bin/ (alle Skripte) ──────────────────
echo "── bin/ → /usr/local/bin/ ──────────────────────────────"
for f in "$REPO_DIR"/bin/*; do
[ -f "$f" ] || continue
DST="/usr/local/bin/$(basename "$f")"
if $DRY_RUN; then
@ -141,10 +141,12 @@ for f in "$REPO_DIR"/memory/*; do
done
echo ""
# ─── AGENTS.md ──────────────────────────────────────────────
# ─── agent/ → ~/.pi/agent/ ──────────────────────────────────
echo "── agent/ → ~/.pi/agent/ ───────────────────────────────"
install_file "$REPO_DIR/agent/AGENTS.md" "$HOME/.pi/agent/AGENTS.md"
install_file "$REPO_DIR/agent/settings.json" "$HOME/.pi/agent/settings.json"
for f in "$REPO_DIR"/agent/*; do
[ -f "$f" ] || continue
install_file "$f" "$HOME/.pi/agent/$(basename "$f")"
done
echo ""
# ─── PATH prüfen ────────────────────────────────────────────