File size: 3,922 Bytes
3a5cf48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
---
name: openclaw-hf-deploy
description: Agent SOP for deploying this repository to Hugging Face Space with the project bootstrap scripts.
---

# OpenClaw HF Deployment Skill

Use this skill when a user asks an agent to deploy `openclaw-hf` to Hugging Face.

## Hard rules

- Always reuse project bootstrap scripts:
  - macOS/Linux: `./scripts/bootstrap-hf.sh`
  - Windows PowerShell: `powershell -ExecutionPolicy ByPass -File .\scripts\bootstrap-hf.ps1`
- Do not hand-roll a separate deployment flow unless the user explicitly asks for manual fallback.
- Keep secrets masked in agent logs and summaries.

## 1. Preflight checks

Run and verify:

```bash
command -v git >/dev/null 2>&1 || MISSING_GIT=1
command -v hf >/dev/null 2>&1 || MISSING_HF=1
command -v python3 >/dev/null 2>&1 || MISSING_PYTHON3=1
git --version
hf version
python3 --version
python3 -c "import huggingface_hub" >/dev/null 2>&1 || python3 -m pip install --user 'huggingface_hub[cli]'
```

Install missing tools before continuing.

## 2. Clone repository (required before deployment)

Run:

```bash
git clone https://github.com/tenfyzhong/openclaw-hf.git
cd openclaw-hf
```

Do not continue until the shell is inside the cloned `openclaw-hf` directory.

## 3. HF auth flow must run first (before any other variables)

1. If user already provided `HF_TOKEN` in the conversation:
   - use this `HF_TOKEN` directly: `hf auth login --token <HF_TOKEN>`
   - if a different user is currently logged in, backup current token first and restore it after deployment
   - do not ask whether to keep current logged-in user
2. Otherwise, check login: `hf auth whoami`.
3. If not logged in:
   - ask user for `HF_TOKEN` (required)
   - run: `hf auth login --token <HF_TOKEN>`
4. If already logged in:
   - ask whether to use current logged-in user
   - if `yes`: continue
   - if `no`:
     - backup current token
     - ask for new `HF_TOKEN`
     - run: `hf auth login --token <HF_TOKEN>`
     - continue deployment with new account
     - after deployment, restore previous token

## 4. Collect remaining inputs in prompt order

After step 3 is completed, collect:

1. `space_name` (default `openclaw-hf`)
2. `dataset_name` (default `<space_name>-backup`)
3. `OPENCLAW_VERSION` (default latest detected from npm, fallback `latest`)
4. `OPENCLAW_GATEWAY_TOKEN` (optional, auto-generated if empty)
5. `OPENCLAW_GATEWAY_PASSWORD` (optional, auto-generated if empty)
6. `Configure custom LLM now?` (`y/N`)
   - if `yes`: `OPENCLAW_LLM_BASE_URL`, `OPENCLAW_LLM_MODEL`, `OPENCLAW_LLM_API_KEY`
   - if `no`: `OPENCLAW_SSHX_AUTO_START` (`Y/n`)
7. `Proceed with these settings?` defaults to `Y`; agent should press Enter directly and not collect this input from user.

If user explicitly asks to cancel before execution, answer `n` at final confirmation and stop without creating/updating remote resources.

## 5. Execute deployment

From the cloned `openclaw-hf` repo root, run the platform-specific bootstrap script and follow prompts in order.

The script will:

- create private Space and Dataset
- upload repository to Space
- configure Space variables and secrets, including `OPENCLAW_BACKUP_DATASET_REPO`, `OPENCLAW_VERSION`, `HF_TOKEN`, gateway secrets, and optional LLM/SSHX settings

## 6. Required final hand-off

Agent final message must include:

- Space repo ID: `<owner>/<space_name>`
- Space page URL: `https://huggingface.co/spaces/<owner>/<space_name>`
- Dataset repo ID: `<owner>/<dataset_name>`
- `OPENCLAW_VERSION` used
- App URL: `https://<owner>-<space_name>.hf.space`
- Health URL: `https://<owner>-<space_name>.hf.space/healthz`
- auto-generated gateway token/password if generated
- keep-alive note: free tier may sleep; paid hardware + `Sleep time=Never` for strict 24/7 uptime

## 7. Cleanup local clone after deployment

After deployment and final hand-off are done, remove the local cloned repository:

```bash
cd ..
rm -rf openclaw-hf
```