Spaces:
Paused
Paused
opencode commited on
Commit ·
38b9550
1
Parent(s): 645251f
pi 可用性修正:bootstrap 狀態回報 pi 版本與 Node 版本(pi 1.x 需 Node>=22.19,build.sh 已依 Node 版本選擇 legacy-node20)
Browse files
app.py
CHANGED
|
@@ -1272,11 +1272,26 @@ async def api_bootstrap_status():
|
|
| 1272 |
llama_ok = r.status_code == 200
|
| 1273 |
except Exception:
|
| 1274 |
llama_ok = False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1275 |
return {
|
| 1276 |
"s5p_dir": s5p_dir,
|
| 1277 |
"s5p_installed": os.path.isfile(os.path.join(s5p_dir, "oshopencode.py")),
|
| 1278 |
"oshopencode_wrapper": shutil.which("oshopencode.py"),
|
| 1279 |
"pi_config": os.path.isfile(pi_cfg),
|
|
|
|
|
|
|
| 1280 |
"llama_server_20000": llama_ok,
|
| 1281 |
"disk_free_gib": disk_free_gib,
|
| 1282 |
"bootstrap_log": BOOTSTRAP_LOG,
|
|
|
|
| 1272 |
llama_ok = r.status_code == 200
|
| 1273 |
except Exception:
|
| 1274 |
llama_ok = False
|
| 1275 |
+
# pi 是否真的能執行(不只是檔案存在);舊版 Node 20 裝到 pi 1.x 會啟動即崩潰。
|
| 1276 |
+
pi_bin = shutil.which("pi") or os.path.join(HOME, ".local", "bin", "pi")
|
| 1277 |
+
pi_version = None
|
| 1278 |
+
try:
|
| 1279 |
+
proc = await asyncio.create_subprocess_exec(
|
| 1280 |
+
pi_bin, "--version",
|
| 1281 |
+
stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.STDOUT,
|
| 1282 |
+
)
|
| 1283 |
+
out, _ = await asyncio.wait_for(proc.communicate(), timeout=20)
|
| 1284 |
+
if proc.returncode == 0:
|
| 1285 |
+
pi_version = out.decode(errors="replace").strip().splitlines()[0]
|
| 1286 |
+
except Exception:
|
| 1287 |
+
pi_version = None
|
| 1288 |
return {
|
| 1289 |
"s5p_dir": s5p_dir,
|
| 1290 |
"s5p_installed": os.path.isfile(os.path.join(s5p_dir, "oshopencode.py")),
|
| 1291 |
"oshopencode_wrapper": shutil.which("oshopencode.py"),
|
| 1292 |
"pi_config": os.path.isfile(pi_cfg),
|
| 1293 |
+
"pi_version": pi_version,
|
| 1294 |
+
"node_version": (await _run("node -v"))[1].strip() or None,
|
| 1295 |
"llama_server_20000": llama_ok,
|
| 1296 |
"disk_free_gib": disk_free_gib,
|
| 1297 |
"bootstrap_log": BOOTSTRAP_LOG,
|