Download deploy_hf_space.py from bg5/zai2api3: direct link, hf CLI and curl.
- Browser
- Download file 2.57 kB
-
https://huggingface.co/spaces/bg5/zai2api3/resolve/main/deploy_hf_space.py
- Command line
-
hf download hf://spaces/bg5/zai2api3/deploy_hf_space.py
-
curl -L -o deploy_hf_space.py https://huggingface.co/spaces/bg5/zai2api3/resolve/main/deploy_hf_space.py
2.57 kB
| #!/usr/bin/env python3 | |
| """Create/update the Hugging Face Docker Space for this fresh checkout.""" | |
| from __future__ import annotations | |
| import os | |
| from pathlib import Path | |
| from huggingface_hub import HfApi | |
| ROOT = Path(__file__).resolve().parent | |
| DEFAULT_SPACE_ID = "bg5/zai2api3" | |
| def main() -> None: | |
| space_id = os.getenv("HF_SPACE_ID", DEFAULT_SPACE_ID).strip() or DEFAULT_SPACE_ID | |
| auth_token = os.getenv("AUTH_TOKEN", "123").strip() or "123" | |
| backup_token = os.getenv("BACKUP_TOKEN", "").strip() | |
| api = HfApi(token=os.getenv("HF_TOKEN") or None) | |
| api.create_repo( | |
| repo_id=space_id, | |
| repo_type="space", | |
| space_sdk="docker", | |
| exist_ok=True, | |
| ) | |
| api.upload_folder( | |
| repo_id=space_id, | |
| repo_type="space", | |
| folder_path=str(ROOT), | |
| path_in_repo=".", | |
| ignore_patterns=[ | |
| ".git/*", | |
| ".local/*", | |
| "__pycache__/*", | |
| "node_modules/*", | |
| "captcha-provider/node_modules/*", | |
| "data/*", | |
| "*.log", | |
| ".generated-auth-token.txt", | |
| "proxy-3000.js", | |
| ], | |
| delete_patterns=[ | |
| "proxy-3000.js", | |
| ], | |
| commit_message="部署 zai2api3 到 HF Space", | |
| ) | |
| api.add_space_secret( | |
| repo_id=space_id, | |
| key="AUTH_TOKEN", | |
| value=auth_token, | |
| description="API/admin key for zai2api", | |
| ) | |
| if backup_token: | |
| api.add_space_secret( | |
| repo_id=space_id, | |
| key="BACKUP_TOKEN", | |
| value=backup_token, | |
| description="Z.AI JWT token", | |
| ) | |
| api.add_space_variable(repo_id=space_id, key="PORT", value="7860") | |
| api.add_space_variable(repo_id=space_id, key="CAPTCHA_PROVIDER_URL", value="http://127.0.0.1:9876") | |
| api.add_space_variable(repo_id=space_id, key="BROWSER_BACKEND", value="cloak") | |
| api.add_space_variable(repo_id=space_id, key="POOL_SIZE", value="0") | |
| api.add_space_variable(repo_id=space_id, key="CHROMIUM_PATH", value="/usr/bin/chromium") | |
| api.add_space_variable(repo_id=space_id, key="LOG_LEVEL", value="info") | |
| api.add_space_variable(repo_id=space_id, key="DEBUG_LOGGING", value="false") | |
| for stale_key in ("TOKEN_BOUND_CAPTCHA", "FALLBACK_CAPTCHA_PROVIDER_URL"): | |
| try: | |
| api.delete_space_variable(repo_id=space_id, key=stale_key) | |
| except Exception: | |
| pass | |
| print(f"Space: https://huggingface.co/spaces/{space_id}") | |
| print(f"App: https://{space_id.replace('/', '-')}.hf.space") | |
| if __name__ == "__main__": | |
| main() | |