← 返回主页

📘 从零开始 · 你 vs AI 分工手册

多数步骤是:你在 Cursor 里下指令AI 写代码并跑终端。不是「AI 自动会做」,而是你说了它才做。

🎯 协作原则(很重要) 「AI 执行」≠ 你不用管。每一步你要在 Cursor 对话框里说清楚要什么(可复制本页蓝框里的例句)。
只有注册账号、Cloudflare 后台点按钮、浏览器验收 — 这些 AI 替不了,才标成「👤 仅你动手」。

图例

💬 你下指令 → AI 执行 你先说话,AI 写代码 / 跑命令(本手册大多数技术步骤)
👤 仅你动手 AI 无法代替(注册、后台点选、浏览器打开链接)

每步展开后的顺序: ① 你对 AI 说(蓝框,可复制)→ ② AI 据此执行(紫框,不用背)→ ③ 你验收(黄框,浏览器等)

三个 Markdown / 页面分工:
tasks.md = 待办勾选 · progress.md = 里程碑 + 环境网址 · setup-guide.html = 本手册(固定流程)

第一篇 · 初期配置(从零搭建,通常只做一次)

阶段 0 · 一次性准备

准备 注册账号 + 安装 Cursor / Node.js 👤 仅你动手
👤 仅你动手(一次性)
  • 注册 GitHubCloudflare
  • 安装 Cursor + Node.js
  • 新建文件夹 first-project → Cursor File → Open Folder
① 准备好后对 AI 说
「这是一个新项目。请先建 tasks.md 和 progress.md,再按 tasks 做页面。」

阶段 1 · 本地网页

Step 2 创建网页 index.html 💬 你下指令 → AI 执行

流程:你说需求 → AI 先写 tasks.md / progress.md → 再做页面 → 你在浏览器验收

① 你对 AI 说(必须,一句说完)
「帮我做一个测试页面,有名字、年龄、计数器和提交按钮,标题叫 🔥 小熊藥妝雲端測試基地 v2.0 🔥。请先建 tasks.md(拆步骤)和 progress.md(里程碑与接力信息),再按 tasks 做 index.html。」
② AI 据此执行
  1. tasks.md:列出「做页面 → Git → 云端…」等步骤,做完勾选
  2. progress.md:项目名 + 里程碑(做完什么、测通什么);环境网址、D1 ID 等有了一并写上,供新对话 @ 接力
  3. index.html:标题、表单、内嵌样式与脚本
💡 从零开工要一起说,不要等做完页面再补任务文件——否则和 Replit 自动任务板一样的事,就得靠你事后记得补一句。
③ 你验收 看生成结果;不满意就再说「把 XXX 改成 YYY」。
验收通过后,你对 AI 说
「页面 OK,请勾选 tasks.md,并把里程碑写进 progress.md。」
Step 3 Git 初始化 + 第一次提交 💬 你下指令 → AI 执行
① 你对 AI 说(必须)
「帮我初始化 Git,加上 .gitignore,然后做第一次 commit。」
② AI 据此执行 创建 .gitignoregit init、配置签名、执行 commit(终端代跑,你不碰)。

阶段 2 · GitHub

Step 4 创建仓库 + 推送代码 💬 你下指令 → AI 执行
👤 仅你动手(约 30 秒) github.com/new 建库 first-project(Private,不勾 README)→ 复制仓库 URL。
① 你对 AI 说(必须)
「仓库地址是 https://github.com/你的用户名/first-project.git,帮我 push 上去,并把 GitHub 已打通写进 progress.md 里程碑。」
② AI 据此执行 git remote add + git push

阶段 3 · Cloudflare Pages

Step 5 创建 Pages 并连接 GitHub 👤 仅你动手
👤 仅你动手(约 2 分钟,一次性)

📍 Cloudflare Dashboard → Workers & Pages → Create → Pages → Connect to Git

  1. 选仓库 first-project、分支 main
  2. Framework = None,Build 留空,Output = /
  3. Save and Deploy
① Pages 建好后 / 每次上线,你对 AI 说
「帮我 commit 并 push。」

验收正式站后补一句:

「正式网址是 https://first-project-5dd.pages.dev,请写进 progress.md 环境表。」

若 push 了但网站内容没变:

「查 Cloudflare Deployments 是否 Failure,修好再部署。」
② AI 据此执行 Push 后 Cloudflare 约 15 秒自动部署(成功时无需进后台)。
✅ 正式网址:first-project-5dd.pages.dev

阶段 4 · D1 双库

Step 6 创建双 D1 + 配置隔离 💬 你下指令 → AI 执行
👤 仅你动手(约 1 分钟) CF Dashboard → D1 → 建 test_first-projectprod_first-project → 各复制 Database ID。
① 你对 AI 说(必须,把 ID 贴进去)
「我在 D1 建了两个库:test_first-project ID 是 4b9d6cea-…,prod_first-project ID 是 97239782-…。帮我全部配置好,做提交测试功能,测试和正式库要隔离。wrangler.toml 不要写 account_id。把两个 D1 ID 和里程碑写进 progress.md。」
② AI 据此执行wrangler.toml、migration、Pages Functions、改前端对接 API。
③ 你验收(仅首次授权点 1 下) AI 跑 wrangler login 时,浏览器弹窗点允许

阶段 5 · 后端与本地开发

Step 7 wrangler + 依赖安装 💬 你下指令 → AI 执行
① 你对 AI 说(必须,复制给 AI)
「不要用本地数据库,只用云端 test 和 prod 两个 D1,帮我配好 wrangler。wrangler.toml 里不要写 account_id,不然 Pages 部署会失败。」
② AI 据此执行 配置 package.jsonwrangler.tomlremote = true)、npm install
💡 蓝框 = 复制给 AI 的话;紫框 = AI 的动作,不用背。
Step 8 建表 Migration 💬 你下指令 → AI 执行
① 你对 AI 说(必须)
「帮我执行 db:migrate:test 和 db:migrate:prod。」
② AI 据此执行 写 SQL 迁移文件,对 test / prod 两库远程建表。
Step 9 API + 主页显示数据库记录 💬 你下指令 → AI 执行
① 你对 AI 说(必须)
「把数据库内容显示在主页里。」
② AI 据此执行 functions/api/submit.jssubmissions.js,改 index.html 表格列表。
Step 10 本地 dev 服务器 + 环境入口 💬 你下指令 → AI 执行
① 你对 AI 说(必须)
「帮我启动 dev 服务器,我不想碰终端。启动后告诉我用 Chrome 打开的地址,不要用 Cursor 内置预览(没有 API)。」
② AI 据此执行 运行 npm run dev,由 dev-proxy 自动选空闲端口(常为 3002),并回复你可打开的完整网址。
💡 话术里不必写 3000 或 3002,以 AI 回复的地址为准。
③ 你验收 用 AI 给的链接在 Chrome/Edge 打开,提交一条测试数据看列表是否更新。

阶段 6 · 上线验收

Step 11 Commit + Push 部署 💬 你下指令 → AI 执行
① 你对 AI 说(必须)
「帮我 commit 并 push 到 GitHub。」

等 30 秒验收正式站;若内容没变:

「查 Cloudflare Deployments 是否 Failure,修好再部署。」
② AI 据此执行 git add → commit → push。
③ 你验收 等 30 秒,打开 正式网址 确认。
Step 12 验证双库隔离 👤 仅你动手
👤 仅你动手(浏览器) 测试地址提交「哈哈哈」、正式地址提交「正式」→ 各看主页数据库列表,互不可见。
Step 13 本参考手册 💬 你下指令 → AI 执行
① 你对 AI 说(必须)
「给主页加搭建手册按钮,从空文件夹写起,标明我下指令和 AI 执行,步骤可折叠。」
② AI 据此执行 创建 setup-guide.htmltasks.md 模板,更新主页按钮与 progress.md 里程碑。

📋 第二篇:日常运营方法

系统上线后的「总指挥手册」。不是装系统时用,而是日常改功能、加栏目、排错(如读不出库)时查阅。非程序员也能照做。

运营 0 提新需求时:要不要先让 AI 写任务文件? ⭐ 推荐

Replit 会自动改任务板;Cursor 不会,需要你对 AI 说一句「维护 tasks.md」。用两个文件分工,比只聊天清晰:

文件写什么谁更新
tasks.md 当前要做的事(勾选清单:加栏目、migrate、push…) 每次开工 / 做完一步,让 AI 勾选或增删
progress.md 已经做好的里程碑、测试/正式网址、D1 ID、排错记录 阶段验收通过后,让 AI 写一段总结
setup-guide.html 固定流程与可复制话术(搭建 + 运营) 很少改;只有流程变了才动
① 大件需求(加功能、改数据库)— 你对 AI 说
「我要做:【写清楚要什么】。请先更新 tasks.md 拆成步骤,再按步骤做,每完成一步勾选 tasks.md。」
② 小改(改标题、颜色)— 直接说即可
「把标题改成 XXX。」

不必为小事单独建任务文件。

③ 新对话接力 — 你对 AI 说
「@progress.md @tasks.md 继续上次:【一句话说明当前卡在哪】。」
💡 和 Replit 的差别:任务文件不会自己变,你在验收后补一句「更新 tasks / progress」即可。 从零第一句就要带上「先建 tasks.md 和 progress.md」;日常小改(改标题)则不必。
运营 1 数据库会不会自己突然多一列? ⭐ 必看
不会。表不会偷偷长出新栏目。只有你(或 AI 按你的要求)明确要加新输入项时,才会多一列,例如「身高」「电话」。

你没说「要加 XXX 栏」→ 表就一直是现在的样子(名字、年龄、计数、时间)。

运营 2 什么时候要动 test + prod 两个库? ⭐ 必看
你做的事要不要两个库一起更新表结构?
改标题、颜色、按钮文字不要
正常提交测试、保存数据不要(自动进对的库)
网页要多一个新输入,且要存进数据库(身高、电话…)

满足下面任意一条,就表示「可能要动两个库」:

  • 你对 AI 说过:加新栏目 / 新字段
  • 网页上出现了以前没有的新输入框
  • AI 说过:写了 migration、改了数据库表
运营 3 数据 vs 表结构:什么会同步、什么不会? ⭐ 必看
你改的是…test 和 prod 之间
数据内容
(测试填「哈哈哈」、正式填「正式」)
绝不互通。测试垃圾永远留在 test,正式客户数据只在 prod。这是故意设计的。
表结构
(多一列「身高」)
两边都要一样。用同一份 migration 文件,对 test 执行一次、对 prod 再执行一次。
不是把 test 的数据复制到 prod。
运营 4 加新栏目时:你对 AI 说的固定一句话 💬 你下指令 → AI 执行

你不用懂 migration、SQL。复制下面这句,把【】里的字改成你要的栏目名即可。

① 你对 AI 说(复制改字)
「我要加【身高】这个栏目。请先更新 tasks.md,再改网页和数据库,test、prod 两个库都要 migrate,最后帮我 push。」
② AI 据此执行
  1. 新建 migration 文件(加列说明)
  2. 改 API + 主页表单
  3. 对 test 库 migrate 一次
  4. 对 prod 库 migrate 一次
  5. commit + push 上线
③ 你验收 本地测试地址提交一条 → 正式网址提交一条 → 看两个环境是否都能保存、列表是否显示新栏。
运营 5 两个库怎么「自动识别」?(不用你记) 了解即可

代码里只认一个叫 env.DB 的插座。Cloudflare 根据你打开的网址自动插不同的库:

你从哪里访问数据写入
本地测试(如 127.0.0.1:3002)test_first-project
正式网址(pages.dev)prod_first-project
💡 你不需要在后台手动切换库,只要记住:本地测=test,正式站=prod。
运营 6 测试环境「读取失败」/ error 1031 怎么办? ⭐ 常见问题

测试地址(如 127.0.0.1:3002)看到「读取失败」或 error code: 1031,通常是下面两类原因之一:

可能原因说明
本地 dev 没开或已挂掉 测试环境必须 Agent 跑着 npm run dev,不能只有网页文件、没有后台。
Cloudflare 登录过期 本地要连云端 test 库,登录失效时也会报 1031,不等于没启动服务器。
⚠️ 正式网址(pages.dev)走线上环境,不依赖你电脑上的 dev。所以可能出现:正式站正常、本地测试读不出库。
👤 你只做
  • Chrome / Edge 打开 AI 告知的地址(如 127.0.0.1:3002
  • 不要用 Cursor 内置预览(没有 API)
  • 点主页「刷新」再看数据库列表
① 你对 AI 说(复制)
「测试环境数据库读不出来,帮我重新登录 Cloudflare 并启动 dev 服务器。」
② AI 据此执行 重新 wrangler login → 清理旧进程 → npm run dev → 告诉你正确测试地址。
✅ 恢复后:测试列表显示 test 库数据;正式站仍显示 prod 库数据,两边互不影响。
运营 8 push 成功了,正式站为什么没变? ⭐ 常见问题

GitHub 已有新代码,不等于 Cloudflare 部署成功。到 Dashboard → Deployments 看最新一条是否为 Failure(常见原因:wrangler.toml 写了 account_id)。

① 你对 AI 说(复制)
「我 push 了但 first-project-5dd.pages.dev 内容没变,查 Cloudflare Deployments 失败原因并修好再部署。」
② AI 据此执行 查构建日志 → 改配置 → 再 commit / push 或触发部署 → 确认 Success 后请你强刷浏览器(Ctrl+F5)。
运营 7 总指挥一句(贴在桌上)
平时不用想两个库。
大件 / 加栏:先 tasks.md,验收后写 progress.md 里程碑。
只有「网页要多一个新输入、并且要存进数据库」时,对 AI 说:
「加【XXX】栏,先更新 tasks,test 和 prod 都要 migrate,并 push。」
其余全部交给 AI。

速查

📁 关键文件(别混)

文件是什么何时更新
tasks.md待办清单(勾选)开工前拆步;每做完一步勾选
progress.md里程碑 + 测试/正式网址、D1 ID阶段验收通过后
setup-guide.html本手册(话术与流程)流程变了才改

分工一览

类型含义你要做的
💬 你下指令 → AI 执行技术活在 Cursor 里说一句话(可复制本页蓝框)
👤 仅你动手AI 替不了注册、CF/GitHub 后台点选、浏览器验收

💬 日常对 AI 说这几句就够

想…你对 AI 说
从零 / 新项目「先建 tasks.md 和 progress.md(里程碑),再按 tasks 做…」
改页面(不动数据库)「把 XXX 改成 YYY」
加新栏目「加【身高】栏,先更新 tasks,test 和 prod migrate,并 push」
上线「commit 并 push」
本地测 / dev 挂了「测试环境数据库读不出来,帮我重新登录 Cloudflare 并启动 dev 服务器」
上线 / push 后没变「查 Cloudflare Deployments 是否 Failure,修好再部署」
阶段验收后「勾选 tasks,并把里程碑写进 progress」
新对话接力@progress.md @tasks.md + 说明卡在哪