Install
openclaw skills install edgeone-pages-deployDeploy frontend and full-stack projects to EdgeOne Pages (Tencent EdgeOne). Use when the user wants to deploy, publish, ship, host, launch, or go live on EdgeOne Pages — e.g. "deploy my app", "publish this site", "push this live", "deploy and give me the link", "create a preview deployment", "deploy to EdgeOne", or "ship to production".
openclaw skills install edgeone-pages-deployDeploy any project to EdgeOne Pages.
1.2.30 or higher. If the installed version is lower, reinstall. Do NOT proceed with an outdated version.EDGEONE_DEPLOY_URL includes eo_token= and eo_time= query parameters — they are required for access. Always output the complete URL.Run these checks first, then follow the decision table:
# Check 1: CLI installed and correct version?
edgeone -v
# Check 2: Already logged in?
edgeone whoami
# Check 3: Project already linked?
cat edgeone.json 2>/dev/null
# Check 4: Saved token exists?
cat .edgeone/.token 2>/dev/null
| CLI version | Login status | Action |
|---|---|---|
| Not installed or version < 1.2.30 | — | → Go to Install CLI |
≥ 1.2.30 ✓ | Logged in | → Go to Deploy |
≥ 1.2.30 ✓ | Not logged in, has saved token | → Go to Deploy with Token (use saved token) |
≥ 1.2.30 ✓ | Not logged in, no saved token | → Go to Login |
npm install -g edgeone@latest
Verify: edgeone -v must output 1.2.30 or higher. If not, retry installation.
You MUST ask before running any login command. Use the IDE's selection control (ask_followup_question):
Choose your EdgeOne Pages site:
- China — For users in mainland China (console.cloud.tencent.com)
- Global — For users outside China (console.intl.cloud.tencent.com)
| Condition | Method |
|---|---|
| Local desktop IDE (e.g. VS Code, Cursor, etc.) | Browser Login |
| Remote / SSH / container / CI / cloud IDE / headless | Token Login |
| User explicitly requests token | Token Login |
# China site
edgeone login --site china
# Global site
edgeone login --site global
Wait for the user to complete browser auth. The CLI prints a success message when done.
Token login does NOT use edgeone login. The token is passed directly in the deploy command via -t.
Guide the user to get a token:
⚠️ Remind the user: the token has account-level permissions. Never commit it to a repository.
After the user provides a token, MUST ask:
Would you like to save this token locally for future deployments?
- Yes — Save to
.edgeone/.token(auto-used next time)- No — Use for this deployment only
If Yes:
mkdir -p .edgeone
echo "<token>" > .edgeone/.token
grep -q '.edgeone/.token' .gitignore 2>/dev/null || echo '.edgeone/.token' >> .gitignore
Tell the user: "✅ Token saved to .edgeone/.token and added to .gitignore."
# Project already linked (edgeone.json exists)
edgeone pages deploy
# New project (no edgeone.json)
edgeone pages deploy -n <project-name>
<project-name>: auto-generate from the project directory name. The first deploy creates edgeone.json automatically.
First check for a saved token:
cat .edgeone/.token 2>/dev/null
.edgeone/.token"# Project already linked
edgeone pages deploy -t <token>
# New project
edgeone pages deploy -n <project-name> -t <token>
The token already contains site info — no --site flag needed.
After a successful deploy with a manually-entered token, ask if the user wants to save it (see "Offer to save the token locally" above).
edgeone pages deploy -e preview
The CLI auto-detects the framework, runs the build, and uploads the output directory. No manual config needed.
After edgeone pages deploy succeeds, the CLI outputs:
[cli][✔] Deploy Success
EDGEONE_DEPLOY_URL=https://my-project-abc123.edgeone.cool?eo_token=xxxx&eo_time=yyyy
EDGEONE_DEPLOY_TYPE=preset
EDGEONE_PROJECT_ID=pages-xxxxxxxx
[cli][✔] You can view your deployment in the EdgeOne Pages Console at:
https://console.cloud.tencent.com/edgeone/pages/project/pages-xxxxxxxx/deployment/xxxxxxx
Extraction rules:
| Field | How to extract | ⛔ Warning |
|---|---|---|
| Access URL | Full value after EDGEONE_DEPLOY_URL= | MUST include ?eo_token=...&eo_time=... — without these params the page won't load |
| Project ID | Value after EDGEONE_PROJECT_ID= | — |
| Console URL | Line after "You can view your deployment..." | — |
Show the user:
✅ Deployment complete!
- Access URL:
https://my-project-abc123.edgeone.cool?eo_token=xxxx&eo_time=yyyy- Console URL:
https://console.cloud.tencent.com/edgeone/pages/project/...
| Error | Solution |
|---|---|
command not found: edgeone | npm install -g edgeone@latest |
| Browser doesn't open during login | Use token login instead |
| "not logged in" error | edgeone whoami to check, then re-login or use token |
| Auth error with token | Token may be expired — regenerate at the console |
| Project name conflict | Use a different name with -n |
| Build failure | Check logs — usually missing deps or bad build script |
For projects needing server-side functions, run before first deploy:
edgeone pages init
Pure static projects skip this.
edgeone pages dev # http://localhost:8088/
edgeone pages env ls # List all
edgeone pages env pull # Pull to local .env
edgeone pages env add KEY val # Add
edgeone pages env rm KEY # Remove
edgeone pages link
| Task | How |
|---|---|
| Save token | Stored in .edgeone/.token (auto-added to .gitignore) |
| Update token | Delete .edgeone/.token, then deploy again — you'll be prompted to enter and save a new one |
| Use saved token | Automatic — the agent reads .edgeone/.token before each token deploy |
| Action | Command |
|---|---|
| Install CLI | npm install -g edgeone@latest |
| Check version | edgeone -v |
| Login (China) | edgeone login --site china |
| Login (Global) | edgeone login --site global |
| View login info | edgeone whoami |
| Logout | edgeone logout |
| Switch account | edgeone switch |
| Init functions | edgeone pages init |
| Local dev | edgeone pages dev |
| Link project | edgeone pages link |
| Deploy | edgeone pages deploy |
| Deploy new project | edgeone pages deploy -n <name> |
| Deploy preview | edgeone pages deploy -e preview |
| Deploy with token | edgeone pages deploy -t <token> |