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:
parent
5057f500a0
commit
c2056599e6
7 changed files with 253 additions and 6 deletions
181
agent/models.json
Normal file
181
agent/models.json
Normal 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
3
bin/DeepSeekFlashPi
Normal 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
19
bin/FlashPi
Normal 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
3
bin/GlmPi
Normal 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
19
bin/MiniPi
Normal 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
20
bin/OrchestratorPi
Normal 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" "$@"
|
||||||
14
install.sh
14
install.sh
|
|
@ -106,9 +106,9 @@ for f in "$REPO_DIR"/bin/*; do
|
||||||
done
|
done
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# ─── bin/ → /usr/local/bin/ (nur Sub* Skripte) ──────────────
|
# ─── bin/ → /usr/local/bin/ (alle Skripte) ──────────────────
|
||||||
echo "── bin/Sub* → /usr/local/bin/ ─────────────────────────"
|
echo "── bin/ → /usr/local/bin/ ──────────────────────────────"
|
||||||
for f in "$REPO_DIR"/bin/Sub*; do
|
for f in "$REPO_DIR"/bin/*; do
|
||||||
[ -f "$f" ] || continue
|
[ -f "$f" ] || continue
|
||||||
DST="/usr/local/bin/$(basename "$f")"
|
DST="/usr/local/bin/$(basename "$f")"
|
||||||
if $DRY_RUN; then
|
if $DRY_RUN; then
|
||||||
|
|
@ -141,10 +141,12 @@ for f in "$REPO_DIR"/memory/*; do
|
||||||
done
|
done
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# ─── AGENTS.md ──────────────────────────────────────────────
|
# ─── agent/ → ~/.pi/agent/ ──────────────────────────────────
|
||||||
echo "── agent/ → ~/.pi/agent/ ───────────────────────────────"
|
echo "── agent/ → ~/.pi/agent/ ───────────────────────────────"
|
||||||
install_file "$REPO_DIR/agent/AGENTS.md" "$HOME/.pi/agent/AGENTS.md"
|
for f in "$REPO_DIR"/agent/*; do
|
||||||
install_file "$REPO_DIR/agent/settings.json" "$HOME/.pi/agent/settings.json"
|
[ -f "$f" ] || continue
|
||||||
|
install_file "$f" "$HOME/.pi/agent/$(basename "$f")"
|
||||||
|
done
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# ─── PATH prüfen ────────────────────────────────────────────
|
# ─── PATH prüfen ────────────────────────────────────────────
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue