Administrator
发布于 2026-07-29 / 8 阅读
0
0

完全不会开发,也能用 AI 做出一个网站:从想法、计划到部署

English
中文

这篇教程不要求你会编程。你甚至不需要熟悉、终端、服务器这些词。你只需要能复制一段文字、点击按钮,并把屏幕上看到的结果告诉 AI,那么咱们人人都是程序员了,哈哈。

今天的目标也很具体:我们把一个想法说清楚,让 AI 先做计划,再按计划生成网站、应用。开发完成后,买一台服务器,在服务器上安装能够操作文件和命令的 AI 工具,上传代码,把部署工作继续交给它。完成时,你应该能通过服务器 IP 打开自己的网站。

AI 也可能会写错代码,也可能误解你的需求,经常AI开发开发着程序就跑偏了(不要问我是怎么知道的)。你可以不用管代码部分,但是我们还是要在计划、确认、测试和备份这几点费费心。

看完这篇文章以后,我们可以做出什么

这套方法可以用来制作普通网页,例如个人介绍、在线简历、活动页面和产品展示页。它也适合个人博客、任务清单、记账本、收藏夹一类需要保存数据的小网站。

小程序也可以先用同样的方法整理需求、页面和数据计划,但正式开发要使用对应平台的账号、工具和发布流程。普通网站代码不能直接当成小程序发布,这部分需要单独写一篇。

还有一个容易忽略的问题:不是每个网站都需要后端和数据库。只有头像、文字、图片和联系方式的简历页,做成静态页面就够了。需要在线发布文章、登录、保存任务或后台管理时,再加入 Python 和数据库。让 AI 先判断需求,咱们就可以少搞不少东西。

正文用个人博客作为贯穿例子。你想做其他网站,可以直接使用后面的案例提示词。

不绑定 AI 品牌,但要先看它能做什么

这篇文章不指定某个 AI 产品。只聊天的 AI 可以帮你整理需求、生成计划和解释报错,但它不能真的在你的电脑上创建文件。要走完开发和部署,AI 工具至少要能打开一个项目文件夹、修改文件、运行命令,并在重要操作前等待你确认,例如月之暗面的Kimi Code,腾讯的WorkBuddy,前者有自己不错的K3模型,后者是你可以选择很多其他模型。当然,还有国外的一些工具例如ClaudeCode,Codex都很厉害,但是使用门槛比较高,我这里就暂时不推荐了。

有些工具把工作状态叫“计划”和“实施”,有些叫“Ask”和“Agent”,名称并不重要。找不到计划模式时,直接发送下面这段:

我是完全没有开发经验的新手。

现在只输出计划。不要创建或修改文件,不要安装软件,不要运行命令,也不要连接服务器。

请用日常语言回答。出现技术词时,用一句话解释它是做什么的。不要让我在多个技术方案中猜答案;普通技术选择请给出一个推荐方案,并说明为什么。

涉及删除、覆盖、付费、公开发布、账号权限、密码、Token、私钥或生产数据时,必须停下来单独说明风险,不能替我决定。

如果 AI 回复了一长串命令,说明它没有遵守“只输出计划”。把末尾两句重新发一次,不要继续执行。

先让 AI 检查你的电脑

示例以 macOS 为开发电脑。默认环境固定为 Python 3.10、UV、Flask、Vue 3 和 PostgreSQL。

Python 用来运行后端。UV 管理 Python 版本和依赖,避免不同项目互相影响。Flask 负责处理浏览器传来的请求。Vue 3 负责你看得见的页面。PostgreSQL 用来长期保存文章、分类和用户等数据。Vue 官方提供了项目创建工具,UV 也会生成锁定依赖版本的 uv.lock,这些文件都要保留在项目里。

把下面的提示词交给能够操作电脑的 AI:

我是完全没有开发经验的新手,我的电脑系统是macOS。

请先只读检查这台电脑是否具备开发一个小型网站所需的环境,不要立即安装或修改任何内容。

默认技术环境:
- Python 固定使用 3.10。
- Python 环境和依赖统一使用 UV 管理。
- 后端使用 Flask。
- 前端使用 Vue 3,所有运行依赖放在项目中,不使用网页 CDN。
- 数据库使用 PostgreSQL。

请检查 Python、UV、Node.js、PostgreSQL、Git 和可用磁盘空间。告诉我缺少什么、每个工具有什么用、是否收费,以及准备安装的版本。

输出一份很短的检查结果。等我确认后,每次只安装或验证一个组件。每一步都告诉我在哪里操作、应该看到什么,再等我回复。

成功时,你会看到一份“已安装、缺少、下一步”的清单。出现错误时不要截图一小块,尽量复制完整文字,再发:

环境准备停在当前步骤。下面是完整错误信息:

[粘贴错误,但先删除密码、Token、Cookie、私钥和真实账号]

请只处理这个错误。先说可能原因,再执行最小修改。修好并验证前,不要继续安装下一个组件。

为什么默认选 Flask 和 PostgreSQL

FastAPI 和 Flask 都是轻量级 Python Web 框架。FastAPI 并不是“很重”,只是它会更早把类型模型、自动接口文档和异步等概念带进来。这个教程只需要几个普通接口,用 Flask 更容易看清“一个网址对应一个处理函数”。如果以后做 API 为主、需要严格请求模型或大量异步 I/O 的项目,再评估 FastAPI。需要现成后台、认证和完整服务端页面体系时,Django 可能更省事。

数据库也没有万能答案。MySQL 的 InnoDB 支持事务、提交、回滚和崩溃恢复,已有 MySQL 环境时没有必要换库。MariaDB 与 MySQL 有较高兼容性,但两者已经出现不少实现和语法差异,不能让 AI 把它们当成同一个数据库。

这里选择 PostgreSQL,是为了让整篇教程只保留一种 SQL 写法。文章、分类、用户之间有明确关系,适合关系型数据库。PostgreSQL 还提供 jsonb、UUID 和全文检索等类型,功能增加后通常不急着再装一套数据库。注意,PostgreSQL 是数据库,psql 是它的命令行工具。

开发之前,先把想法说清楚

“帮我做一个博客”太短了。AI 不知道首页长什么样、谁来写文章、要不要登录,也不知道第一版应该停在哪里。它只好自己猜,猜得越多,后面返工越多。 就像你交代别人做事一样,你只讲一句,和你把整件事前因后果加上你最终想要的效果说出来结果是完全不同的。

一段可用的需求提示词要告诉 AI:你是谁、想做什么、谁会使用、有哪些页面、首页怎么展示、哪些数据要保存、第一版必须做什么、暂时不做什么,以及现在只生成计划。

如果你实在不知道怎么说,你就找一个你中意的目标网站、文章、App,让它去抄,抄完再加上自己的想法。

案例一:个人博客

我是完全没有开发经验的新手,请不要向我询问框架、数据库、接口或服务器等技术选择。普通技术问题请使用你的推荐方案,并用一句话说明理由。

我想做一个个人博客。

读者打开首页后,可以看到网站名称、我的简短介绍、最新文章和文章分类。点击文章标题进入详情页。需要文章列表、文章详情、分类筛选、关键词搜索和一个简单的文章管理页面。

文章需要保存标题、摘要、正文、分类、发布时间和是否公开。第一版只允许一个管理员发布文章。

页面希望浅色、简洁、手机和电脑都能正常阅读。不要使用外部 CDN,所需前端资源要放在项目中。

第一版不做评论、多人作者、付费、邮件订阅和社交登录。

默认使用 Python 3.10、UV、Flask、Vue 3 和 PostgreSQL。数据库表和字段需要中文注释。关键函数、变量和关键语句使用清楚的中文注释。数据库和关键操作要有异常处理与日志。

现在只生成详细计划,不创建文件、不安装软件、不运行命令。计划要包含最终效果、页面、功能、数据、项目目录、开发阶段、每阶段验收、测试、部署准备、风险和本期不做内容。

案例二:个人简历网站

我是完全没有开发经验的新手。我想做一个个人简历网站,首页展示头像、姓名、职业介绍、工作经历、技能、作品和联系方式,手机和电脑都能正常阅读。

内容很少变化。请先判断是否可以只做静态网页,不要为了显得专业强行增加后端和数据库。

页面使用 Vue 3,不加载外部 CDN。风格简洁,颜色以浅灰和蓝色为主。第一版不做登录、留言、支付和后台管理。

普通技术选择请使用你的推荐方案,不要让我回答技术问题。

现在只生成详细计划,不修改文件、不运行命令。计划要说明最终页面、需要准备的文字和图片、项目目录、开发阶段、验收方法、部署需要的文件和本期不做内容。

案例三:产品展示网站

我是完全没有开发经验的新手。我想做一个小型产品展示网站。

首页需要展示品牌介绍、三到六个产品、每个产品的图片与特点、常见问题和联系入口。产品可以进入详情页。联系表单只保存姓名、联系方式和咨询内容,不自动发邮件,也不接支付。

默认使用 Python 3.10、UV、Flask、Vue 3 和 PostgreSQL。页面资源保存在项目中,不使用外部 CDN。

请把第一版控制在产品展示、详情和咨询记录,不增加会员、购物车、订单、在线客服和营销系统。

我是新手,普通技术选择请使用推荐方案。现在只生成计划,不写代码、不安装软件。计划要包含页面、数据字段、安全提醒、实施阶段、每阶段验收和部署准备。

案例四:个人任务清单

我是完全没有开发经验的新手。我想做一个个人任务清单网站。

页面需要显示未完成和已完成任务。可以新增任务、修改标题、切换完成状态和删除任务。删除前必须确认。刷新页面后数据不能消失。

第一版只有一个使用者,不做注册、登录、共享、提醒、附件和手机 App。

默认使用 Python 3.10、UV、Flask、Vue 3 和 PostgreSQL。请为新增、读取、修改和删除分别设计验收方法。数据库表和字段添加中文注释,关键操作有日志和异常处理。

普通技术问题使用你的推荐方案。现在只生成详细计划,不修改文件、不运行命令。

案例五:小程序想法

我是完全没有开发经验的新手。我想做一个小程序,核心用途是:[填写用途]。

目标用户是:[填写谁会使用]。
我希望有这些页面:[填写页面]。
必须完成的功能是:[填写功能]。

请先说明这个想法需要哪个平台的账号、官方开发工具、审核和发布流程。不要把普通 Vue 网站代码当成可以直接发布的小程序代码。

现在只整理需求、页面、数据、实施阶段、账号门槛、费用可能性和风险,不写代码。普通技术选择使用你的推荐方案。完整开发和发布留到专门的小程序教程。

计划出来后,先检查它有没有做大

AI 很容易给一个小网站加上缓存、消息队列、复杂权限、数据分析和一堆“以后可能用到”的组件。对第一版来说,这些东西会让你更加懵逼,因为AI咋做? 做出来的内容是啥? 这些东西对我们来说都是一个黑盒。

打个比方:你本来只是开个小面馆(第一版网站),只需要煮面、收钱。AI建议你:“再加一套中央厨房配送体系吧,以后规模大了用得上。”你答应了,结果—配送车半路坏了(缓存失效),你不知道怎么修;厨师按中央厨房的流程做,但你现在只有3个客人(消息队列空转),系统变复杂了但你感觉不到好处;更关键的是:这套体系是AI帮你搭的,你自己连中央厨房的门朝哪开都不知道。

所以我们拿到计划后,再发一次:

请检查刚才的计划是否适合完全没有开发经验的新手。

删除第一版用不到的组件、服务和功能。不要为了未来扩展提前加入缓存、消息队列、微服务、复杂权限或多套数据库。

保留一个能从头做完的最小版本。请标出:
- 完成后我能看到什么;
- 每个阶段只做什么;
- 我怎样判断这个阶段成功;
- 哪些功能明确留到以后。

现在仍然只修改计划,不实施。把最终计划保存为 project.md 的内容。

你应该得到一份能按阶段执行的 project.md。如果计划里仍然有大量听不懂的名词,让 AI逐个解释,或者要求删除与第一版成果无关的部分。

确认计划后,再让 AI 实施

计划确认后,不要再说“全部做完”。让 AI 一段一段做,页面、后端、数据库和测试才不容易同时坏掉。

我确认 project.md 中的计划。现在进入实施。

我是完全没有开发经验的新手,请严格按计划分阶段执行,一次只完成一个阶段。不得擅自增加功能、切换技术栈或跨阶段修改。

项目约束:
- Python 固定为 3.10,使用 UV 初始化环境和添加依赖。
- 后端使用 Flask,前端使用 Vue 3,数据库使用 PostgreSQL。
- 所有运行依赖和前端资源保存在项目中,不加载外部 CDN。
- 数据库和关键操作使用 try 兜底并写入日志,不能因为一个错误让整个程序无提示中断。
- README 写清项目介绍、macOS 启动方式和 Ubuntu 22.04 部署方式。
- project.md 与实际功能保持一致。
- 每次修改都在 issue.md 写明修改内容、原因和时间。
- 删除、覆盖、发送、发布和数据库破坏性操作必须先预览并等待确认。

完成当前阶段后,请停止并告诉我:
- 修改了哪些文件;
- 我应该怎样启动;
- 正常时会看到什么;
- 你实际运行了哪些测试;
- 还有什么没有完成。

等我确认看到结果后,再进入下一阶段。

第一阶段应该先出现能打开的页面,而不是一大堆功能。后面的阶段逐步加入文章列表、文章详情、管理、数据库和测试。每完成一步,你都能看到一个具体变化。

看不懂报错,也可以问清楚

不要只发“坏了”“打不开”。AI 需要知道你做了什么、想看到什么、实际看到了什么。

我是完全没有开发经验的新手,当前做到 project.md 的这个阶段:
[填写阶段名称]

我刚才执行或点击了:
[填写操作]

预期看到:
[填写预期]

实际看到:
[填写现象]

完整错误信息:
[粘贴错误;先删除密码、Token、Cookie、私钥、邮箱和其他敏感信息]

请先判断最可能的原因,并说明你准备用什么证据验证。只修改与当前错误有关的文件,不要重写项目、删除测试、降低安全检查或更换技术栈。

修复后重新运行相关测试,并告诉我修改了什么、为什么能解决、我应该怎样复验。

开发完成后,先检查代码包

本地能打开不代表已经可以上传。让本地 AI 做一次交付检查:

请对当前项目做一次只读交付检查,不要部署。

确认项目是否包含完整前端和后端源码、pyproject.toml、uv.lock、数据库初始化与迁移、.env.example、测试、日志、README、project.md 和 issue.md。

检查 .env.example 只能包含变量名和说明,不能包含真实密码、Token、Cookie 或私钥。检查代码、日志样例和历史文件中是否误放了密钥。

运行现有测试和构建命令。列出通过项、失败项和缺失项。只要还有失败或缺失,就不要告诉我“项目已经完成”。

检查完成后告诉我应该上传哪个项目目录,哪些本地临时文件和真实配置不能上传。

这一步的结果应该是一个明确的项目目录和一份检查报告。.venv、真实 .env、缓存、日志和私钥通常不应上传,让 AI 按当前项目生成准确清单。

部署其实可以很简单

买一台服务器,比如 Debian 12。在服务器上安装一款能读取文件并执行命令的 AI 开发工具(例如我刚刚说的kimi)。把代码上传到服务器,让它打开项目目录。剩下的环境、数据库、网站服务、开机启动、日志和备份,都让服务器上的 AI 根据代码处理。

这里有一个前提:服务器里的 AI 必须真的能操作终端和文件。普通聊天网页只能给你命令,不能声称已经部署。

购买服务器时先拿到服务器 IP、登录用户名和登录方式。配置按项目和预期访问量决定,不需要在这篇教程里死记 CPU、内存数字。域名、DNS 和 HTTPS 放到下一篇。

在服务器上安装 AI

不同 AI 工具的安装方法会变化,使用它的官方安装说明,不要从不明博客复制一条看不懂的命令。你可以让本地 AI 帮你阅读官方说明:

我已经购买一台 Ubuntu 22.04 服务器,准备在服务器上安装 [填写 AI 工具名称]。

我是完全不懂服务器的新手。请只依据这个工具的官方安装文档,为我生成安装计划。

先告诉我需要什么账号、是否收费、需要哪些权限,以及安装后怎样验证它能够读取指定项目目录并运行只读命令。

不要让我把服务器密码、Token 或 SSH 私钥内容粘贴到对话里。不要执行安装,等我确认计划。

安装完成后,先让服务器 AI 列出当前目录和系统版本。能做到这两件事,才继续上传项目。

把代码上传,再让 AI 确认

你可以使用服务器自带的工具上传文件、服务器面板、SFTP 或代码仓库。这里不展开每种工具的操作,只看最终结果:项目位于一个明确的目录,服务器 AI 能读取它。

项目代码已经上传到服务器,目录是:
[填写项目目录]

请只读检查这个目录,不要安装依赖,不要修改文件,也不要启动服务。

告诉我:
- 这是不是一个完整项目;
- 前端、后端和数据库相关文件分别在哪里;
- 项目要求的 Python、Node 和数据库是什么;
- README 中写了什么启动方式;
- 是否缺少依赖锁文件、环境变量示例、数据库初始化、测试或部署说明。

如果目录填错或代码不完整,请停下来告诉我,不要猜测和补部署。

核心部署提示词

确认代码完整后,把下面这段交给服务器 AI:

我是完全不懂开发和服务器的新手。

请先读取当前服务器环境和项目代码。项目目录是:
[填写项目目录]

现在只生成部署计划,不要安装软件、修改系统配置、创建数据库或启动服务。

请根据项目已有代码和版本决定需要什么运行环境、数据库和网站服务,不要擅自更换框架、数据库或依赖版本。

目标是让网站能够先通过服务器 IP 访问。域名和 HTTPS 暂时不处理。

计划请用普通语言说明:
- 项目由哪些部分组成;
- 服务器需要安装和配置什么;
- 哪些操作会使用管理员权限;
- 哪些文件包含真实配置;
- 怎样在部署前保留当前文件和数据库备份;
- 怎样检查首页、接口和数据保存;
- 失败后怎样停止并恢复。

普通技术选择使用你的推荐方案。涉及删除、覆盖、数据库破坏性修改、关闭安全设置、开放不必要端口或产生费用时,必须暂停并解释。

不要读取、打印、记录或回显密码、Token、Cookie 和私钥。

等我确认计划后再实施。

计划看起来合理后,再发:

我确认刚才的部署计划。现在请按计划实施。

你可以完成项目所需的环境安装、依赖安装、数据库初始化、前端构建、后端运行、网站入口、开机启动、日志和备份配置。

每完成一个阶段就检查结果。遇到错误时先查看日志和配置,找到原因后做最小修复,不要通过关闭安全设置或删除数据绕过问题。

高风险操作仍然需要暂停确认,包括删除或覆盖文件、破坏性数据库迁移、开放额外端口、修改现有网站和产生费用。

部署结束后必须实际检查:
- 服务器 IP 能否打开首页;
- 网站主要功能能否使用;
- 新增内容后刷新是否仍然存在;
- 服务重启后能否恢复;
- 是否已经生成备份;
- 日志、网页和项目中是否出现密码或 Token。

任何一项失败,都不要告诉我部署成功。请继续定位,或者明确告诉我卡在哪里。

完成后告诉我访问地址、运行状态、日志查看方式、备份位置和以后更新网站要怎么说。

你不需要跟着 AI 学每一项服务器配置,但要看它是否真的打开网页、保存数据和完成重启检查。“进程正在运行”不等于网站可以使用。

部署完成后的验收提示词

请对当前网站做一次最终验收,不要修改功能。

请实际检查首页、文章列表、文章详情、搜索和管理功能。新增一条明确标注为测试的数据,刷新页面确认它仍然存在,然后清理这条测试数据;清理前告诉我将删除什么。

检查服务器重启或网站服务重启后能否恢复。检查日志是否可读取,备份文件是否存在,并确认代码、网页和日志没有泄露密码、Token、Cookie 或私钥。

逐项报告“通过、失败、未检查”。失败和未检查不能算部署成功。

验收完成时给出:
- 网站访问地址;
- 当前运行状态;
- 日志查看方式;
- 备份位置;
- 下一次更新代码时要使用的提示词。

以后更新网站

在本地让 AI 增加功能并通过测试,再把新代码上传到服务器。不要对服务器 AI 只说“重新部署”,它可能把更新当成首次安装。

这是网站更新,不是首次部署。新代码已经上传到:
[填写新代码目录]

请先只读比较当前运行版本与新版本,检查依赖、环境变量、数据库迁移和前端构建是否变化。

现在先给更新计划,不要执行。计划必须包含当前代码和数据库备份、预计影响、验证方法和失败后的恢复方式。

我确认后再更新。更新过程中不要删除旧版本。完成后重新检查首页、主要功能、数据保存和日志。任何检查失败,停止继续修改,并给我恢复更新前版本的选择。

网站坏了,就把现象交给服务器 AI

你不需要先判断是页面、后端、数据库还是服务器出了问题。描述你看到的现象,让已经在服务器上的 AI 自己检查。

网站现在出现这个问题:
[填写“网页打不开”“能打开但不能保存”“更新后报错”等现象]

我是完全不懂服务器的新手。请先做只读检查,不要立即重启、升级、重新安装或修改数据库。

请检查网站状态、最近日志、磁盘空间、端口和数据库连接,列出最可能的原因,以及用什么证据验证。

确认原因后给出最小修复计划。涉及删除数据、覆盖文件、数据库变更或安全设置时,等待我确认。

修复后重新验证用户实际功能,不要只看服务进程。

想增加功能,仍然先做计划

第一个版本上线后,最容易犯的错是一次增加五个功能。每次只做一个,先看它会影响哪些页面、数据和部署。

通用扩展提示词:

我要给当前网站增加一个功能:
[填写功能]

请先读取 project.md、现有页面、接口、数据库迁移、测试和部署说明。

现在只生成扩展计划,不写代码。说明这个功能会修改哪些页面、接口、数据表、测试和部署配置,是否会影响现有数据,以及失败后怎样恢复。

不要为了这个功能更换现有技术栈或新增不必要的服务。确认计划后,再按一个完整功能链路实施,并同步更新测试、README、project.md 和带时间的 issue.md。

你可以把功能位置替换成:

  • “为博客增加文章分类和分类筛选。”
  • “为博客增加关键词搜索,先评估 PostgreSQL 自带能力是否够用。”
  • “增加图片上传,限制文件类型和大小,并说明存储与清理方式。”
  • “增加管理员登录,使用成熟的密码哈希方案,不能自己发明加密算法。”
  • “增加 AI 文章摘要,说明哪些内容会发送给模型、密钥放在哪里、超时和失败时怎样回到人工摘要。”

登录、文件上传和 AI 接口都会增加安全要求。AI 推荐方案可以作为起点,但涉及用户数据、密钥和外部费用时仍要单独确认。

域名和 HTTPS 放到下一篇

这篇教程先做到通过服务器 IP 访问。域名是方便记忆的网站地址,HTTPS 用来加密浏览器和服务器之间的通信。准备正式公开网站时,两者都应该补上,但配置过程会涉及 DNS、端口、证书签发和自动续期,塞进这篇只会让第一次部署变得更乱。

下一篇会继续解决:《完全不会运维,也能让 AI 帮你配置域名、DNS、HTTPS 和证书续期》。

如果你的项目已经完成,但服务器 AI 仍然无法部署,可以准备项目目录结构、服务器系统版本、脱敏后的错误日志和 AI 的部署计划,再进行针对性的部署排查。不要提供真实密码、Token、Cookie 或私钥。


评论