用途
EdgeOne Pages 部署技能用于将前端和全栈项目部署到 EdgeOne Pages(腾讯 EdgeOne)。当用户的主要意图是部署、发布项目时,应使用该技能。
主要能力
- 通过 edgeone CLI 完成部署全流程:安装、登录、部署。
- 自动检测框架,执行构建并上传输出目录,无需手动配置。
- 支持浏览器登录与 Token 登录两种方式。
- 支持部署到预览环境。
- 支持保存 Token 到本地以便后续部署复用。
关键规则
- CLI 版本必须 ≥ 1.2.30,低于该版本需重新安装,不得使用过旧版本继续。
- 不得截断部署 URL:EDGEONE_DEPLOY_URL 包含访问所需的查询参数,必须输出完整 URL。
- 登录前必须让用户选择中国站或全球站,不得自行假设。
- 自动检测登录方式:桌面环境使用浏览器登录,无头/远程/CI 环境使用 Token 登录。
- Token 登录后,询问用户是否将 Token 保存到本地以供将来使用。
使用方式
部署前检查
依次执行以下检查:
# 检查 1:CLI 是否已安装且版本正确?
edgeone -v
# 检查 2:是否已登录?
edgeone whoami
# 检查 3:项目是否已关联?
cat edgeone.json 2>/dev/null
# 检查 4:是否存在已保存的 Token?
cat .edgeone/.token 2>/dev/null
决策表
| CLI 版本 | 登录状态 | 操作 |
|---|---|---|
| 未安装或 < 1.2.30 | — | 前往安装 CLI |
| ≥ 1.2.30 | 已登录 | 前往部署 |
| ≥ 1.2.30 | 未登录,有已保存 Token | 前往使用 Token 部署(使用已保存 Token) |
| ≥ 1.2.30 | 未登录,无已保存 Token | 前往登录 |
安装 CLI
npm install -g edgeone@latest
验证:edgeone -v,确认输出为 1.2.30 或更高。若不符合则重试安装。
登录
- 让用户选择站点
在运行任何登录命令前,使用 IDE 的选择控件(ask_followup_question):
选择你的 EdgeOne Pages 站点:
- China — 面向中国大陆用户(console.cloud.tencent.com)
- Global — 面向中国以外用户(console.intl.cloud.tencent.com)
- 检测环境并选择登录方式
| 条件 | 方式 |
|---|---|
| 本地桌面 IDE(VS Code、Cursor 等) | 浏览器登录 |
| 远程 / SSH / 容器 / CI / 云 IDE / 无头 | Token 登录 |
| 用户明确要求 Token | Token 登录 |
浏览器登录:
# 中国站
edgeone login --site china
# 全球站
edgeone login --site global
等待用户完成浏览器认证。完成后 CLI 会打印成功消息。
Token 登录:
Token 登录不使用 edgeone login,而是通过 -t 在部署命令中直接传入 Token。
引导用户获取 Token:
前往控制台:
- 中国站:https://console.cloud.tencent.com/edgeone/pages?tab=settings
- 全球站:https://console.intl.cloud.tencent.com/edgeone/pages?tab=settings
找到 API Token → 创建 Token → 复制。
⚠️ 提醒用户:Token 具有账户级权限,切勿提交到代码仓库。
- 询问是否将 Token 保存到本地
用户提供 Token 后,询问:
是否将此 Token 保存到本地以供将来部署?
- 是 — 保存到 .edgeone/.token(下次自动使用)
- 否 — 仅用于本次部署
若选择是:
mkdir -p .edgeone
echo "<token>" > .edgeone/.token
grep -q '.edgeone/.token' .gitignore 2>/dev/null || echo '.edgeone/.token' >> .gitignore
向用户确认:“✅ Token 已保存到 .edgeone/.token 并已添加到 .gitignore。”
部署
浏览器认证部署:
# 项目已关联(存在 edgeone.json)
edgeone pages deploy
# 新项目(无 edgeone.json)
edgeone pages deploy -n <project-name>
<project-name>:根据项目目录名自动生成。首次部署会自动创建 edgeone.json。
基于 Token 的部署:
先检查是否有已保存的 Token:
cat .edgeone/.token 2>/dev/null
- 找到已保存 Token → 使用它,并告知用户:“正在使用 .edgeone/.token 中保存的 Token”
- 无已保存 Token → 请用户提供(见上文 Token 登录)
# 项目已关联
edgeone pages deploy -t <token>
# 新项目
edgeone pages deploy -n <project-name> -t <token>
Token 已包含站点信息,无需 --site 参数。
使用手动输入的 Token 成功部署后,询问用户是否要保存它(见上文“询问是否将 Token 保存到本地”)。
部署到预览环境:
edgeone pages deploy -e preview
构建行为:
CLI 会自动检测框架、运行构建并上传输出目录,无需手动配置。
解析部署输出(关键)
edgeone pages deploy 成功后,CLI 会输出:
[cli][✔] Deploy Success
EDGEONE_DEPLOY_URL=https://my-project-abc123.edgeone.cool?<auth_query_params>
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
提取规则:
| 字段 | 提取方式 | ⛔ 警告 |
|---|---|---|
| 访问 URL | EDGEONE_DEPLOY_URL= 之后的完整值 |
包含完整查询字符串(? 及其后所有内容)——缺少这些参数页面将无法加载 |
| 项目 ID | EDGEONE_PROJECT_ID= 之后的值 |
— |
| 控制台 URL | “You can view your deployment...” 之后的那一行 | — |
向用户展示:
✅ 部署完成!
访问 URL:https://my-project-abc123.edgeone.cool?<auth_query_params>
控制台 URL:https://console.cloud.tencent.com/edgeone/pages/project/...
错误处理
| 错误 | 解决方案 |
|---|---|
| command not found: edgeone | 运行 npm install -g edgeone@latest |
| 登录时浏览器未打开 | 改用 Token 登录 |
| “not logged in” 错误 | 运行 edgeone whoami 检查,然后重新登录或使用 Token |
| Token 认证错误 | Token 可能已过期——在控制台重新生成 |
| 项目名冲突 | 使用 -n 指定其他名称 |
| 构建失败 | 检查日志——通常是缺少依赖或构建脚本有误 |
CLI 命令参考、环境变量、本地开发设置和 Token 管理详情,请参见 references/command-reference.md。
适用场景
- 需要将前端或全栈项目部署、发布到 EdgeOne Pages 时。
- 在本地桌面 IDE 或远程/CI 环境中执行部署。
- 需要部署到预览环境进行验证。
限制
- CLI 版本必须 ≥ 1.2.30。
- 登录前必须由用户选择中国站或全球站。
- Token 具有账户级权限,不得提交到代码仓库。
- 部署 URL 必须完整输出,不得截断查询参数。
- 资料未提供其他平台支持、收费或价格信息。