fix: deploy-pi-config.sh überschreibt Nutzer-Modellwahl nicht mehr
Statt settings.json vollständig zu ersetzen, wird jetzt nur das 'packages'-Feld per jq aktualisiert. defaultProvider, defaultModel, enabledModels und alle anderen Nutzer-Präferenzen bleiben erhalten. Hintergrund: pi schreibt bei Modellwechsel (z.B. /model oder UI) in settings.json — ein vollständiges Überschreiben löscht diese Einstellungen und zwingt pi bei Start zur Fallback-Suche (die fälschlich Anthropic wählt). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
b1bba172d7
commit
88a0f88f95
1 changed files with 10 additions and 4 deletions
|
|
@ -12,14 +12,20 @@ echo "Kopiert: pi-coding-extension.ts → ~/.pi/agent/extensions/"
|
||||||
cp "$REPO/models.json" ~/.pi/agent/models.json
|
cp "$REPO/models.json" ~/.pi/agent/models.json
|
||||||
echo "Kopiert: models.json → ~/.pi/agent/"
|
echo "Kopiert: models.json → ~/.pi/agent/"
|
||||||
|
|
||||||
# settings.json deployen. pi beschreibt diese Datei zur Laufzeit (z.B. bei /model),
|
# settings.json: nur die 'packages'-Liste aktualisieren, alle anderen Nutzer-Einstellungen
|
||||||
# daher vor dem Überschreiben sichern, damit lokale Einstellungen nicht verloren gehen.
|
# (defaultProvider, defaultModel, enabledModels, …) bleiben unberührt.
|
||||||
|
# Grund: pi schreibt Modell-Auswahl und weitere Präferenzen in diese Datei — ein vollständiges
|
||||||
|
# Überschreiben würde sie bei jedem Deploy löschen.
|
||||||
|
PACKAGES=$(jq '.packages' "$REPO/settings.json")
|
||||||
if [ -f ~/.pi/agent/settings.json ]; then
|
if [ -f ~/.pi/agent/settings.json ]; then
|
||||||
cp ~/.pi/agent/settings.json ~/.pi/agent/settings.json.bak
|
cp ~/.pi/agent/settings.json ~/.pi/agent/settings.json.bak
|
||||||
echo "Backup: settings.json → settings.json.bak"
|
echo "Backup: settings.json → settings.json.bak"
|
||||||
|
jq --argjson p "$PACKAGES" '.packages = $p' ~/.pi/agent/settings.json > /tmp/pi_settings_merge.json \
|
||||||
|
&& mv /tmp/pi_settings_merge.json ~/.pi/agent/settings.json
|
||||||
|
else
|
||||||
|
cp "$REPO/settings.json" ~/.pi/agent/settings.json
|
||||||
fi
|
fi
|
||||||
cp "$REPO/settings.json" ~/.pi/agent/settings.json
|
echo "Aktualisiert: settings.json (nur packages-Feld) → ~/.pi/agent/"
|
||||||
echo "Kopiert: settings.json → ~/.pi/agent/"
|
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Fertig. Bitte /reload in pi agent ausführen."
|
echo "Fertig. Bitte /reload in pi agent ausführen."
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue