HelloSun commited on
Commit
7a0f53f
·
verified ·
1 Parent(s): d2cda59

build.sh: 設定 pi 預設 provider/model 使用本地 llama-server

Browse files
Files changed (1) hide show
  1. build.sh +26 -0
build.sh CHANGED
@@ -127,6 +127,32 @@ with open(path, "w") as f:
127
  print(f"[build.sh] 已寫入 {path}")
128
  PY
129
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  WRAPPER="$HOME/.local/bin/pi-local"
131
  cat > "$WRAPPER" <<EOS
132
  #!/usr/bin/env bash
 
127
  print(f"[build.sh] 已寫入 {path}")
128
  PY
129
 
130
+ # 讓 pi 預設就用這個 llama-server(不只知道 provider,還要設成啟動預設)
131
+ PI_SETTINGS_JSON="$HOME/.pi/agent/settings.json"
132
+ info "設定 pi 預設模型:$PI_PROVIDER_ID/$PI_MODEL_ID"
133
+ python3 - "$PI_SETTINGS_JSON" "$PI_PROVIDER_ID" "$PI_MODEL_ID" <<'PY'
134
+ import json, os, sys
135
+ path, provider, model = sys.argv[1:4]
136
+ os.makedirs(os.path.dirname(path), exist_ok=True)
137
+ settings = {}
138
+ if os.path.exists(path):
139
+ try:
140
+ with open(path) as f:
141
+ loaded = json.load(f)
142
+ if isinstance(loaded, dict):
143
+ settings = loaded
144
+ except Exception as exc:
145
+ print(f"[WARN] 無法解析舊 settings.json,將覆蓋:{exc}")
146
+ settings["defaultProvider"] = provider
147
+ settings["defaultModel"] = model
148
+ enabled = settings.get("enabledModels")
149
+ if not isinstance(enabled, list) or not enabled:
150
+ settings["enabledModels"] = [f"{provider}/{model}"]
151
+ with open(path, "w") as f:
152
+ json.dump(settings, f, indent=2)
153
+ print(f"[build.sh] 已寫入 {path}")
154
+ PY
155
+
156
  WRAPPER="$HOME/.local/bin/pi-local"
157
  cat > "$WRAPPER" <<EOS
158
  #!/usr/bin/env bash