关于 zeabur-project-create
zeabur-project-create 是使用 Zeabur CLI 创建项目的技能,面向需要在服务器上配置项目的用户。它会先列出可用服务器并要求用户选择区域,再支持部署模板。
主要功能
- 01列出服务器及区域信息
- 02依据用户选择创建项目
- 03提取项目 ID
- 04向项目部署模板
- 05要求选择合适服务器
适用场景
- 01在选定服务器上创建项目
- 02创建项目后部署模板
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ zeabur/ agent-skills --skill zeabur-project-create安装后在 Claude Code 中输入/zeabur-project-create确认已加载。
详细介绍
创建 Zeabur 项目
**始终使用
npx zeabur@latest调用 Zeabur CLI。**切勿直接使用zeabur或通过其他方式安装。如果无法使用npx,请先安装 Node.js。
选择区域
不要硬编码或猜测区域代码。hnd1、tpe1 等旧区域代码已弃用。必须始终根据用户的服务器列表确定区域。
步骤 1 — 列出用户的服务器:
npx zeabur@latest server list -i=false --json
步骤 2 — 询问用户要使用哪台服务器:
向用户展示服务器列表(显示每台服务器的名称、提供商和区域),并请他们选择一台。不要代替用户选择服务器。如果现有服务器都不合适,也请提供租用新服务器的选项。
-
**只有
os为ZeaburOS的服务器才能托管项目。**报告为Ubuntu的服务器没有 Zeabur 服务;在其上创建项目会失败。请将它们从菜单中排除,或单独列为“需要先安装 ZeaburOS”——不要悄悄将其作为部署目标提供。 -
如果用户没有服务器,请使用
zeabur-server-catalog技能浏览选项,然后使用zeabur-server-rent技能租用一台。
步骤 3 — 使用带有 server- 前缀的所选服务器 ID 作为区域:
区域代码的格式为 server-<server-id>,其中 <server-id> 来自服务器列表输出。
某些模板(例如使用
REQUIRE_DEDICATED_SERVER的模板)只能部署在专用服务器上。如果遇到Unsupported template (code: REQUIRE_DEDICATED_SERVER),用户需要一台运行 ZeaburOS 的服务器,然后使用其区域重新创建项目。请注意,租用的服务器预装的是 Ubuntu,且没有 Zeabur 服务——必须先在其上安装 ZeaburOS(参见zeabur-server-rent技能),才能在其上创建项目。
创建项目
# Create project with name and region (region must be server-<server-id>)
npx zeabur@latest project create -n "<project-name>" -r "server-<server-id>" -i=false --json
获取项目 ID
# List projects as JSON and extract project ID by name
PROJECT_ID=$(npx zeabur@latest project list -i=false --json | jq -r '.[] | select(.name == "<project-name>") | ._id')
将模板部署到项目
# Deploy template file to specific project (non-interactive)
npx zeabur@latest template deploy -i=false --json \
-f <template-file> \
--project-id <project-id> \
--var PUBLIC_DOMAIN=myapp \
--var KEY=value
工作流
# 1. Find server ID
npx zeabur@latest server list -i=false --json
# 2. Create project (use server-<id> from step 1)
npx zeabur@latest project create -n "wrenai-prod" -r "server-<server-id>" -i=false --json
# 3. Get project ID
PROJECT_ID=$(npx zeabur@latest project list -i=false --json | jq -r '.[] | select(.name == "wrenai-prod") | ._id')
echo "Project ID: $PROJECT_ID"
echo "Dashboard: https://zeabur.com/projects/$PROJECT_ID"
# 4. Deploy template — use the `zeabur-template-deploy` skill for detailed flags and troubleshooting
npx zeabur@latest template deploy -i=false --json -f template.yml --project-id $PROJECT_ID --var PUBLIC_DOMAIN=myapp