OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  deploy-agent:适用于全栈应用的多步骤自动化部署智能体

deploy-agent:适用于全栈应用的多步骤自动化部署智能体

 
  two ·  2026-02-02 11:50:22 · 18 次点击  · 0 条评论  

名称: deploy-agent
描述: 全栈应用多步骤部署代理。构建 → 测试 → GitHub → Cloudflare Pages,每个步骤均需人工批准。
元数据:
clawdbot:
emoji: "🚀"
requires:
bins: ["gh", "wrangler", "git"]


deploy-agent

通过多步骤工作流部署全栈应用,每个阶段都需要人工批准。

快速开始

# 通过 ClawdHub 安装
clawdhub install deploy-agent

# 初始化新部署
deploy-agent init my-app

# 检查状态
deploy-agent status my-app

# 继续执行后续步骤
deploy-agent continue my-app

工作流步骤

步骤 命令 描述 需要批准
1 deploy-agent init <名称> 启动部署 ✅ 设计阶段
2 deploy-agent build <名称> 构建应用 ✅ 测试前
3 deploy-agent test <名称> 本地测试 ✅ 推送到 GitHub 前
4 deploy-agent push <名称> 推送到 GitHub ✅ 部署到 Cloudflare 前
5 deploy-agent deploy <名称> 部署到 Cloudflare ✅ 最终步骤

命令

初始化部署

deploy-agent init my-app

创建新的部署状态并等待设计输入。

检查状态

deploy-agent status my-app

显示当前步骤、批准状态和部署信息。

继续

deploy-agent continue my-app

获取当前步骤的后续操作指导。

构建 (步骤 2)

deploy-agent build my-app

使用 C.R.A.B 完成设计后,运行此命令来构建应用。

测试 (步骤 3)

deploy-agent test my-app

在推送代码前,验证应用在本地运行正常。

推送到 GitHub (步骤 4)

deploy-agent push my-app [仓库名]

创建 GitHub 仓库并推送代码。默认仓库名与应用名相同。

部署到 Cloudflare (步骤 5)

deploy-agent deploy my-app [自定义域名]

部署到 Cloudflare Pages。默认域名:{名称}.sheraj.org

取消

deploy-agent cancel my-app

中止并清理部署。

列表

deploy-agent list

显示所有活跃的部署。

示例会话

# 启动新部署
$ deploy-agent init my-blog
🚀 部署已初始化: my-blog
步骤 1: 使用 C.R.A.B 设计你的应用

# ... 使用 C.R.A.B 的设计阶段 ...

$ deploy-agent build my-blog
🚀 构建完成!步骤 2: 本地测试
启动开发服务器: cd my-blog && npm run dev

# ... 本地测试 ...

$ deploy-agent push my-blog
🚀 GitHub 仓库已就绪!
输入 'deploy-agent deploy my-blog' 以部署到 Cloudflare

$ deploy-agent deploy my-blog my-blog.sheraj.org
🎉 部署完成!
应用已上线: https://my-blog.sheraj.org

状态管理

状态存储在:~/.clawdbot/skills/deploy-agent/state/{部署名称}.json

{
  "name": "my-blog",
  "step": 5,
  "status": "已部署",
  "created_at": "2026-01-18T08:00:00Z",
  "repo_url": "https://github.com/user/my-blog",
  "domain": "https://my-blog.sheraj.org"
}

环境要求

工具 用途
gh GitHub 仓库创建与管理
wrangler Cloudflare Pages 部署
git 版本控制
jq JSON 解析(用于状态管理)

配置

Cloudflare 令牌应在 ~/.wrangler.toml 中配置:

[account]
api_token = "你的-cloudflare-令牌"

注意事项

  • 每个部署都是独立的
  • 状态在会话间持久保存
  • 每个主要步骤都需要人工批准
  • 随时可使用 "cancel" 命令中止

Next.js + Cloudflare D1 部署指南

本节涵盖在 Cloudflare Pages 上部署带有 D1 的 Next.js 应用时的常见问题与修复方法。

部署前检查清单

检查项 命令 失败时的修复方法
Next.js 版本 npm list next npm install next@15.5.2
包锁文件同步 rm -rf node_modules package-lock.json && npm install 提交锁文件
Cloudflare 适配器 npm list @cloudflare/next-on-pages npm install -D @cloudflare/next-on-pages
wrangler 已安装 npm list wrangler npm install -D wrangler

必需配置

1. package.json

{
  "dependencies": {
    "next": "15.5.2",
    "react": "^18.3.1",
    "react-dom": "^18.3.1"
  },
  "devDependencies": {
    "@cloudflare/next-on-pages": "^1.13.16",
    "wrangler": "^4.x"
  }
}

2. wrangler.toml

name = "my-app"
compatibility_date = "2026-01-18"
compatibility_flags = ["nodejs_compat"]

[[d1_databases]]
binding = "DB"
database_name = "my-db"
database_id = "你的数据库ID"

3. API 路由 (每个文件)

import { getRequestContext } from '@cloudflare/next-on-pages';

export const runtime = 'edge';

export async function GET() {
  const { env } = getRequestContext();
  const { results } = await env.DB.prepare("SELECT * FROM tasks").all();
  return Response.json({ data: results });
}

Cloudflare Pages 构建设置

设置项
构建命令 npx @cloudflare/next-on-pages
输出目录 .vercel/output/static
函数 启用(用于 D1 API 路由)

常见问题与修复

问题 错误信息 修复方法
锁文件不匹配 npm ci can only install packages when your package.json and package-lock.json are in sync rm -rf node_modules package-lock.json && npm install && git add package-lock.json
Next.js 版本 peer next@">=14.3.0 && <=15.5.2" from @cloudflare/next-on-pages 降级到 next: "15.5.2"
API 路由未使用边缘运行时 The following routes were not configured to run with the Edge Runtime 添加 export const runtime = 'edge';
D1 访问模式 使用 context.env.DB 使用 getRequestContext().env.DB
缺少类型定义 D1 绑定的 TypeScript 错误 创建包含 CloudflareEnv 接口的 env.d.ts 文件

CSS 修复 (滚动条闪烁)

html {
  overflow-x: hidden;
  scrollbar-gutter: stable;
}
body {
  overflow-x: hidden;
}

部署后步骤

  1. 打开 Cloudflare 仪表板 → 设置 → 函数
  2. 添加 D1 绑定:变量名 DB → 选择你的数据库

参考文档

  • 完整指南:docs/issues/nextjs-cloudflare-d1-deployment.md
  • Cloudflare 文档:https://developers.cloudflare.com/pages/framework-guides/nextjs/
18 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 17 ms
Developed with Cursor