VoiceGate / scripts /check_space_env.py
YanTianlong's picture
Use persistent Space model storage
41f27dc
Raw
History Blame Contribute Delete
1.51 kB
"""Check Space secrets and model storage without printing secret values."""
from __future__ import annotations
import os
import shutil
from pathlib import Path
from bootstrap_comfy import MODEL_LINKS, model_root, model_target
def masked_secret(name: str) -> str:
value = os.environ.get(name)
if not value:
return "missing"
return f"present, length={len(value)}"
def disk_summary(path: Path) -> str:
existing = path
while not existing.exists() and existing != existing.parent:
existing = existing.parent
usage = shutil.disk_usage(existing)
total_gb = usage.total / 1024**3
free_gb = usage.free / 1024**3
return f"{existing}: free={free_gb:.1f}GB total={total_gb:.1f}GB"
def main() -> None:
print("Secrets:")
for name in ["DEEPSEEK_API_KEY", "DEEPSEEK_BASE_URL", "DEEPSEEK_MODEL", "HF_TOKEN"]:
print(f" {name}: {masked_secret(name)}")
root = model_root()
print("\nModel storage:")
print(f" VOICEGATE_MODEL_ROOT: {os.environ.get('VOICEGATE_MODEL_ROOT') or '(default)'}")
print(f" resolved model_root: {root}")
print(f" disk: {disk_summary(root)}")
for name, link in MODEL_LINKS.items():
target = model_target(name)
print(f" {name}:")
print(f" ComfyUI path: {link}")
print(f" persistent target: {target}")
print(f" target exists: {target.exists()}")
print(f" link exists: {link.exists() or link.is_symlink()}")
if __name__ == "__main__":
main()