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
|
||||
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 ────────────────────────────────────────────
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue