在 Cloudflare Workers 上构建、部署和设计微型应用及网站。使用模板(React Router + Hono、Next.js、Astro、Remix)快速搭建、部署并配置...
ShellBot website. 建造并部署Cloudflare工人上具有生产级设计的微应用程序和网站.
功能概述
ShellBot website. 建造并部署Cloudflare工人上具有生产级设计的微应用程序和网站.是一项面向实际任务的技能,主要用于Arguments.Command: $0 (创建 部署 QQ域 提供 QQ 机密 QQ 状态 QT)。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
ShellBot Website
在 Cloudflare Workers 上构建并部署微应用与网站,具备生产级设计能力。
参数说明
- 命令:
$0(可选值:create|deploy|domain|provision|secrets|status|teardown) - 参数 1:
$1(模板名称、资源类型、域名等) - 参数 2 及以上:
$2、$3等 - 全部参数:
$ARGUMENTS
| 命令 | 对应脚本 | 示例 |
|---|---|---|
create |
scripts/create-project.sh |
/shellbot-website create my-app --template react-hono |
deploy |
scripts/deploy.sh |
/shellbot-website deploy --env production |
domain |
scripts/setup-domain.sh |
/shellbot-website domain my-worker example.com |
provision |
scripts/provision-*.sh |
/shellbot-website provision d1 my-db |
secrets |
scripts/manage-secrets.sh |
/shellbot-website secrets put API_KEY |
status |
scripts/status.sh |
/shellbot-website status --resources |
teardown |
scripts/teardown.sh |
/shellbot-website teardown my-worker |
身份验证
支持两种身份验证方式,按以下顺序检查:
方式 1:API Token(推荐,代理/CI 环境必需)
设置环境变量 CLOUDFLARE_API_TOKEN。这是首选方式 —— 若同时配置了 OAuth,则以该方式为准。
若任意命令因身份验证失败而报错,请向用户提示如下信息:
从 https://dash.cloudflare.com/profile/api-tokens 获取 API Token 使用 “Edit Cloudflare Workers” 模板,或自定义创建具备以下权限的 Token: Workers Scripts: Edit D1: Edit Workers KV Storage: Edit Workers R2 Storage: Edit Zone DNS: Edit(用于自定义域名) 然后执行:export CLOUDFLARE_API_TOKEN="your-token-here"
方式 2:通过 wrangler login 进行 OAuth(本地开发时的备用方案)
若未设置 CLOUDFLARE_API_TOKEN,则尝试 OAuth 登录:
wrangler login
该命令将在浏览器中打开 Cloudflare OAuth 页面。当在代理(agent)环境中运行时:
- 运行
wrangler login—— 它将向 stdout 输出授权 URL - 将该 URL 展示给用户,并请其在浏览器中打开
- 用户在浏览器中完成授权后,页面将重定向至
localhost:8976 - Wrangler 接收回调,并将 OAuth Token 存储于
~/.wrangler/config/default.toml
限制说明:此方式仅适用于代理运行在用户本地机器上的场景(OAuth 回调必须能到达 localhost:8976)。在远程或 CI 环境中不可用 —— 此类环境请务必使用 API Token。
登录完成后,请运行以下命令验证:
wrangler whoami
脚本中的身份验证检查顺序
所有脚本均优先检查 CLOUDFLARE_API_TOKEN。若未设置,则检查 wrangler whoami 是否成功(即 ~/.wrangler/config/default.toml 中是否存在有效的 OAuth Token)。若两者均失败,则报错并提供两种方式的完整指引。
可选:Account ID
CLOUDFLARE_ACCOUNT_ID —— 由 wrangler 自动检测。若存在多个账户,可手动设置该变量以跳过账户选择提示。
获取位置:Dashboard → Overview → 右侧边栏 → Account ID 然后执行:export CLOUDFLARE_ACCOUNT_ID="your-account-id"
前提条件
- Node.js v20+
- Wrangler:
npm install -g wrangler或直接使用npx wrangler
验证安装是否就绪:
wrangler whoami
非交互式设计
所有脚本均完全非交互式运行 —— 不出现任何提示,也无需用户输入。这使其可安全地被代理(agent)调用。对于破坏性操作,需显式传入 --force 标志,而非依赖确认提示。
快速开始
# 1. 基于模板生成项目(完全非交互式,不部署,不初始化 Git) bash scripts/create-project.sh my-app # 2. 本地开发 cd my-app && npm run dev # 3. 部署到 Cloudflare bash scripts/deploy.sh # 4. 添加自定义域名 bash scripts/setup-domain.sh my-app example.com # 5. 按需配置资源 bash scripts/provision-d1.sh my-db --binding DB bash scripts/provision-kv.sh my-cache --binding CACHE bash scripts/provision-r2.sh my-assets --binding ASSETS
项目脚手架
默认模板
| 简称 | 模板名 | 适用场景 |
|---|---|---|
react-hono(默认) |
react-router-hono-fullstack-template |
基于 React Router 7 + Hono API 的全栈应用 |
next |
next-starter-template |
运行于 CF Workers 的 Next.js 应用 |
# 主默认模板(React Router + Hono) bash scripts/create-project.sh my-app # 改用 Next.js bash scripts/create-project.sh my-app --template next # 使用任意 CF 模板(支持简称或完整名称) bash scripts/create-project.sh my-app --template astro-blog bash scripts/create-project.sh my-app --template remix bash scripts/create-project.sh my-app --template vite-react
详见 references/cf-templates.md,其中包含 36+ 个模板的完整目录。
自定义模板 URL
bash scripts/create-project.sh my-app --template-url https://github.com/user/repo
部署
# 部署至 production 环境 bash scripts/deploy.sh # 部署至指定环境 bash scripts/deploy.sh --env staging bash scripts/deploy.sh --env production # 预演模式(仅显示将要部署的内容) bash scripts/deploy.sh --dry-run # 查看已部署版本 wrangler deployments list # 回滚至前一版本 wrangler rollback [version-id]
deploy.sh 脚本会在部署前预先检查 wrangler 配置文件是否存在,以及 CLOUDFLARE_API_TOKEN 是否已设置。
自定义域名
将自定义域名绑定至 CF Worker 的三种方式。完整指南请参阅 references/custom-domains.md。
1. 自动化配置(推荐)
# 域名须已添加至您的 CF 账户 bash scripts/setup-domain.sh my-worker example.com # 指定 Zone ID(跳过自动查找) bash scripts/setup-domain.sh my-worker example.com --zone-id abc123 # 子域名 bash scripts/setup-domain.sh my-worker app.example.com
2. 通过 wrangler.toml 的 Routes 配置
[[routes]] pattern = "example.com/*" zone_id = "your-zone-id"
3. 通过 Cloudflare 控制台
Workers & Pages → 您的 Worker → Settings → Domains & Routes → Add Custom Domain。
DNS 要求
- 域名必须已加入您的 Cloudflare 账户(且处于橙色云朵代理状态)
- SSL 证书自动签发,无需手动管理
- 代理域名的 DNS 生效时间通常为 1–5 分钟
资源配置
D1(SQL 数据库)
bash scripts/provision-d1.sh my-db --binding DB # 创建数据库,并输出 wrangler.toml 所需的 binding 片段 # 可选参数:--migration-file schema.sql(应用初始迁移)
常用 D1 操作:
wrangler d1 execute my-db --command "SELECT * FROM users" wrangler d1 execute my-db --file schema.sql wrangler d1 execute my-db --local --command "..." # 本地开发 wrangler d1 migrations create my-db add-users wrangler d1 migrations apply my-db
KV(键值存储)
bash scripts/provision-kv.sh my-cache --binding CACHE # 创建命名空间,并输出 binding 片段
R2(对象存储)
bash scripts/provision-r2.sh my-assets --binding ASSETS # 创建 Bucket,并输出 binding 片段
Queues(队列)
bash scripts/provision-queue.sh my-queue --binding QUEUE --type producer # 创建队列,并输出 Producer / Consumer binding 片段
密钥管理
# 添加密钥(非交互式) bash scripts/manage-secrets.sh put API_KEY "sk-..." # 列出所有密钥 bash scripts/manage-secrets.sh list # 删除密钥 bash scripts/manage-secrets.sh delete API_KEY # 批量导入 JSON 文件 bash scripts/manage-secrets.sh bulk secrets.json # 按环境区分 bash scripts/manage-secrets.sh put API_KEY "sk-..." --env production
配置
Wrangler 支持 TOML 和 JSON/JSONC 格式。若两者同时存在,以 JSON/JSONC 为准。请任选其一使用。
快速参考(wrangler.toml)
name = "my-worker"
main = "src/index.ts"
compatibility_date = "2024-12-30"
compatibility_flags = ["nodejs_compat"]
[vars]
API_URL = "https://api.example.com"
[[d1_databases]]
binding = "DB"
database_name = "my-db"
database_id = "xxx"
[[kv_namespaces]]
binding = "CACHE"
id = "xxx"
[[r2_buckets]]
binding = "ASSETS"
bucket_name = "my-assets"
[env.production]
vars = { API_URL = "https://api.example.com" }
[env.staging]
vars = { API_URL = "https://staging-api.example.com" }
详见 references/wrangler-config.md,含 JSONC 格式、静态资源配置及全部 binding 类型的完整说明。
前端设计
构建前端时,请遵循以下原则。每项均链接至深度参考指南。
排版
→ 参见 references/typography.md
选用具有辨识度的字体(避免 Inter / Roboto)。标题采用模块化字号比例并结合 clamp() 实现响应式缩放。合理搭配展示字体(display font)与正文字体(body font)。启用 font-display: swap 并匹配字体度量(metric matching),防止布局偏移(layout shift)。
色彩与主题
→ 参见 references/color-and-contrast.md
使用 OKLCH 构建感知均匀的配色方案。中性色应向品牌主色调微调。遵循 60-30-10 法则(中性色 / 次要色 / 强调色)。避免纯黑/纯白。规避 AI 风格配色(如深色背景配青色文字、紫蓝色渐变)。
布局与留白
→ 参见 references/spatial-design.md
采用 4pt 留白系统。通过差异化间距营造视觉节奏。优先使用 auto-fit 网格。避免将所有内容包裹在卡片中。主动拥抱不对称设计。
动效
→ 参见 references/motion-design.md
仅对 transform 和 opacity 属性进行动画。使用指数缓动(quart/quint/expo)。反馈类动效建议 100–150ms;状态切换类建议 200–300ms;布局类建议 300–500ms。始终适配 prefers-reduced-motion 用户偏好。
交互
→ 参见 references/interaction-design.md
为所有组件设计全部 8 种状态(default / hover / focus / active / disabled / loading / error / success)。键盘焦点仅使用 :focus-visible 显示焦点环。优先采用乐观 UI(optimistic UI)与“撤销”操作,而非确认对话框。
响应式
→ 参见 references/responsive-design.md
采用移动优先策略,配合 min-width 媒体查询。组件级响应式请使用容器查询(container queries)。依据输入方式(pointer: fine/coarse)而非仅屏幕尺寸做适配。妥善处理安全区域(safe area)。
用户体验文案
→ 参见 references/ux-writing.md
按钮文案使用「动词 + 名词」结构。每条错误提示需明确回答「发生了什么」「为什么发生」「如何修复」。空状态应作为引导用户上手的关键时机。术语保持统一,避免混用。
AI Slop 测试
若用户第一眼看到界面便脱口而出“这是 AI 做的”——那便是问题所在。请规避:深色背景配青色文字、紫色渐变、泛滥的玻璃拟态(glassmorphism)、千篇一律的卡片网格、渐变文字、暗色模式下过度发光的强调色。请做出出人意料但意图明确的设计决策。
上下文收集
开展设计工作前,您必须已确认设计上下文:
- 查阅当前加载的指令中是否存在 Design Context 章节
- 检查项目根目录下的
.impeccable.md文件 - 若二者均不存在,请向用户询问:目标用户、使用场景、品牌个性与语调
故障排查
| 问题 | 解决方案 |
|---|---|
| “Not authenticated” | 设置 CLOUDFLARE_API_TOKEN 环境变量,或运行 wrangler login |
| Node 版本错误 | 要求 Node.js v20+ |
| 未找到配置文件 | 请在项目根目录(含 wrangler.toml 或 wrangler.jsonc)下执行 |
| 配置变更未生效 | 若同时存在 JSON 与 TOML 文件,以 JSON 为准 |
| Binding 未找到 | 请核对 wrangler 配置中的 binding 名称是否与代码中引用一致 |
| 自定义域名不生效 | 域名必须已在 CF DNS 设置为代理状态(橙色云朵) |
| SSL 证书处于 pending 状态 | 等待 1–5 分钟,系统将自动完成证书签发 |
脚本与参考文档
脚本
| 脚本 | 用途 |
|---|---|
scripts/create-project.sh |
基于 CF 模板生成项目 |
scripts/deploy.sh |
带前置检查的 Worker 部署脚本 |
scripts/setup-domain.sh |
通过 CF API 配置自定义域名 |
scripts/provision-d1.sh |
创建 D1 数据库并输出 binding 片段 |
scripts/provision-kv.sh |
创建 KV 命名空间并输出 binding 片段 |
scripts/provision-r2.sh |
创建 R2 Bucket 并输出 binding 片段 |
scripts/provision-queue.sh |
创建 Queue 并输出 binding 片段 |
scripts/manage-secrets.sh |
密钥的增删查与批量导入 |
scripts/status.sh |
查看部署状态、资源配置与日志 |
scripts/teardown.sh |
删除 Worker 及其关联资源 |
参考文档
| 文件 | 主题 |
|---|---|
| references/cf-templates.md | 全部 36+ 个 CF 快速启动模板 |
| references/custom-domains.md | 域名配置、DNS、路由与 SSL |
| references/wrangler-config.md | wrangler.toml / JSONC 完整参考 |
| references/typography.md | 字体选择、字号比例与加载策略 |
| references/color-and-contrast.md | OKLCH、配色方案与暗色模式 |
| references/spatial-design.md | 网格系统、留白与层级结构 |
| references/motion-design.md | 动效时长与缓动函数 |
| references/interaction-design.md | 交互状态、表单、焦点与加载态 |
| references/responsive-design.md | 移动优先、流体布局与容器查询 |
| references/ux-writing.md | 按钮标签、错误提示与空状态文案 |
外部资源
- Workers 文档
- Wrangler CLI 文档
- D1 文档
- R2 文档
- KV 文档
- Workers 模板仓库
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章