Codex 从需求到上线:完整全栈项目实战
我发现,很多人都想拥有一个属于自己的个人网站。 所以这一次,我们不做只能在本地运行的练习项目。 我会以fengfengzhidao.com 为例,带大家使用 Codex,从环境配置、需求分析和功能

Codex 从需求到上线:完整全栈项目实战

发布时间:2026-08-09 (13小时前)
AI 文章总结
用 AI 快速提炼本文核心内容和阅读重点。

我发现,很多人都想拥有一个属于自己的个人网站。

所以这一次,我们不做只能在本地运行的练习项目。

我会以fengfengzhidao.com 为例,带大家使用 Codex,从环境配置、需求分析和功能开发开始,完成一个包含前台、后台、数据库、图片上传和内容管理的完整网站,并最终部署到服务器、绑定真实域名。

整个过程不会只展示 Codex 写对代码的时候。它理解错需求、引入 Bug,以及我是怎样让它定位并修复问题的,都会完整保留下来。

学完以后,你得到的不只是一套网站源码,还有一套可以迁移到其他项目中的 AI 全栈开发流程。

个人网站效果

首页

文章详情页

专题页面

专题详情页

后台管理

这套视频表面上是在做个人网站,实际上我更想教大家完成一次真正的 AI 全栈项目开发。

从需求分析、技术选型、项目规范,到前后端开发、Bug 修复、服务器部署,每一步我都会把自己怎样和 Codex 沟通、怎样验收结果、怎样纠正它的错误完整展示出来。

网站只是这次实战的载体。学会这套流程以后,你可以把它迁移到博客、企业官网、管理系统,甚至自己的商业产品中。

这个网站是我从2021年参加工作就一直开始运营了

这个网站最开始是django(python的一个web框架)搭建的

后面学了go之后,用go+vue重构了

再到后面,完全由AI进行需求开发和bug修复

为什么是个人网站

首先对于零基础用户,自己亲手做出来一个网站会很有成就感

并且还能把它部署到服务器上,让所有的人认识你

不仅对未来找工作有帮助,还能打造自己的个人IP

我们不会只让 Codex 生成几个页面,也不会停留在“输入一句提示词,AI 自动写代码”的演示阶段,而是要把它做成一个结构完整、能够部署、可以持续迭代的真实产品。

整个项目会从前期调研和需求分析开始,逐步完成技术选型、项目架构、AI开发、最后部署到服务器并绑定域名上线。

在开发过程中,我也会完整展示自己如何给 Codex 提需求、如何拆分任务、如何编写项目规范,以及当 Codex 写错代码、理解偏差或者引入 Bug 时,应该怎样定位和修正。

这套内容真正想解决的,不只是“怎么做一个网站”,而是教大家掌握一套可以迁移到其他项目中的 AI Coding 方法:如何把一个模糊的想法,逐步变成清晰的需求,再借助 Codex 把它开发成一个真正可用的产品。

完成这套实战以后,你不仅会得到一个可以运行的 个人网站,还会掌握使用 Codex 完成真实全栈项目的完整工作流。

那么接下来,我们先从需求分析开始。

需求分析

在AI时代下,最重要的两个东西就是

想法和流量

你有很高的流量,但是你没有好的想法,那就是白白浪费这个流量

你有好的想法,但是你没有流量,宣传不出去,那也白白浪费这个想法

看我视频的应该有一大部分是技术人士,比如开发、测试、运维这些技术岗,我也是技术岗

问个问题,你觉得安装codex难吗?

我问了很多我身边的同事,做IT的朋友

“安装codex不很简单吗,这也能出个视频吗”

但是你们去翻我那几个视频的评论区就知道,太多零基础的人群了

这里说的零基础,不是“不会写代码”,而是可能连终端是什么、命令在哪里输入、环境变量怎么配置都不知道。

我们做技术时间久了以后,很容易产生一种错觉:觉得自己会的东西,别人应该也会;觉得自己几分钟能解决的问题,就不值得做成一个产品。

但事实并不是这样。

同一个操作,对于技术人员来说可能只是复制一条命令;对于普通用户来说,中间任何一个报错,都可能让他直接放弃。

为什么先说这些?

就是想告诉大家:在做需求分析的时候,不要被自己的生活环境、工作背景以及固有认知影响。

不要先问“这个功能难不难”,而要问:

用户有没有这个问题?有多少用户存在这个问题?他们是否愿意使用你的解决方案?

需求是否有价值,和技术实现是否复杂,并不是一回事。

回到个人网站

个人网站其实拥有非常庞大的潜在用户群体,而且它并不只是程序员的专属

确定目标用户

在开始设计功能之前,我们先确定这个网站到底是给谁使用的。

个人网站虽然叫“个人网站”,但它并不代表只有一个人使用。实际上,它至少存在三类用户。

第一类,是网站的访问者。

他们可能通过搜索引擎、B站、抖音、小红书或者朋友分享进入网站。他们最关心的并不是网站用了什么技术,而是能不能快速找到有价值的内容、能不能了解这个人,以及能不能继续和他建立联系。

第二类,是网站的所有者,也就是我们自己。

我们需要发布文章、整理专题、修改个人信息、上传图片、查看内容,并且希望这些操作足够简单,不需要每次更新文章都重新修改代码、重新打包网站。

第三类,是未来可能使用这个项目的人。

这套项目不会只服务于“枫枫知道”。后面我们需要让其他用户也能修改网站名称、个人信息、头像、联系方式和主题内容,把它变成自己的个人网站。

所以,这个项目需要同时满足三个目标:

  • 访问者看起来舒服,能够快速找到内容。
  • 管理者用起来方便,可以通过后台维护网站。
  • 项目具备一定的可配置能力,别人拿到以后也能继续使用。

用户使用场景

目标用户确定以后,我们还需要考虑他们会在什么情况下使用网站。

对于访问者,主要场景包括:

  • 从搜索引擎进入某篇文章,寻找问题答案。
  • 从视频简介进入网站,查看配套教程和代码。
  • 进入首页了解作者是谁、主要分享什么内容。
  • 浏览一个完整专题,按照顺序学习系列教程。
  • 通过网站找到作者的其他平台或者联系方式。

对于管理员,主要场景包括:

  • 发布和修改文章。
  • 将多篇文章整理成专题。
  • 上传文章封面和正文图片。
  • 保存草稿并在确认后发布。
  • 调整网站介绍、头像和联系方式。
  • 删除或者下架过时内容。

把使用场景写清楚以后,功能就不会完全依靠我们拍脑袋决定。

核心功能

第一版不追求做得特别复杂,而是先完成一个真正可以使用的最小版本。

前台核心功能包括:

  • 首页内容展示
  • 个人介绍
  • 最新文章列表
  • 文章分类与标签
  • 文章详情
  • Markdown 内容渲染
  • 代码高亮
  • 专题列表
  • 专题详情与章节导航
  • 关键词搜索
  • 响应式布局
  • SEO 基础配置
  • 友情链接或社交平台入口

后台核心功能包括:

  • 管理员登录
  • 文章新增、编辑、删除和发布
  • Markdown 编辑器
  • 图片上传
  • 分类和标签管理
  • 专题管理
  • 专题文章排序
  • 网站基础信息配置
  • 草稿和发布状态管理

系统层面还需要具备:

  • 数据持久化
  • 权限验证
  • 接口参数校验
  • 统一错误处理
  • 日志记录
  • 数据备份
  • Docker 部署
  • HTTPS 和域名访问

这里要强调:

需求分析不是把能想到的功能全部加进去,而是确定第一版必须解决哪些问题。

例如评论、点赞、收藏、用户注册、数据统计、全文搜索、邮件订阅都很有用,但它们不是第一版上线的必要条件,可以放到后续迭代。

这正好可以引出一个重要的 AI Coding 原则:

给 Codex 的需求越大、越模糊,它一次写对的概率就越低。我们要先确定项目边界,再按照可以独立验证的功能拆分任务。

确定MVP

目标用户和使用场景确定以后,接下来并不是马上开始写代码,而是先确定第一版到底要做什么。

做项目最容易出现的问题,就是一开始想得太多。

做个人网站的时候,我们可能会想到文章、专题、评论、点赞、收藏、用户注册、会员系统、数据统计、邮件订阅,甚至还想加入社区和在线聊天。

这些功能并不是没有价值,但如果第一版全部实现,项目规模会迅速膨胀。需求越多,功能之间的关联越复杂,Codex 一次理解正确的概率也会越低。

所以,我们需要先确定这个项目的 MVP。

MVP 的全称是 Minimum Viable Product,也就是“最小可行产品”。

简单来说,就是:

先完成一套功能最少,但是可以真正解决问题、可以部署上线、可以交给用户使用的版本。

这里的“最小”并不是随便做几个页面,也不是只实现一个看起来像网站的静态 Demo。

我们的第一版依然需要形成一个完整闭环:

管理员可以在后台发布内容,访问者可以在前台浏览内容,整个项目能够部署到服务器并通过域名访问。

围绕这个目标,第一版需要实现以下功能。

前台功能

  • 首页
  • 文章列表
  • 文章详情
  • Markdown 内容渲染
  • 代码高亮
  • 专题列表
  • 专题详情
  • 移动端适配
  • 基础 SEO

后台功能

  • 管理员登录
  • 文章新增、编辑和删除
  • 草稿与发布状态
  • 分类和标签管理
  • 专题管理
  • 专题内文章排序
  • 图片上传
  • 网站基础信息配置

上线能力

  • 数据持久化
  • 管理员权限验证
  • 域名访问
  • HTTPS
  • 数据备份

第一版暂时不实现:

  • 普通用户注册和登录
  • 评论、点赞和收藏
  • 会员与付费系统
  • 站内私信
  • 多管理员和复杂权限
  • 多租户系统
  • 原生手机 App
  • 复杂的数据分析系统

这些功能并不是不做,而是暂时放入后续版本。

这里有一个非常重要的 AI Coding 思路:

不要一开始就让 Codex 开发我们能想到的所有功能,而是先让它完成一个可以独立运行、独立验证的最小闭环。

等第一版上线以后,我们可以根据真实使用情况继续迭代。有人需要评论,再增加评论;文章数量变多以后,再完善搜索;确实产生付费需求以后,再考虑会员系统。

这样做不仅能够降低开发难度,也能避免我们花费大量时间,开发一些最终没人使用的功能。

技术选型与项目架构

确定 MVP 以后,我们才知道这个项目究竟需要解决哪些问题。

接下来,就可以进行技术选型和项目架构设计。

很多人在开始做项目的时候,都会先纠结这些问题:

前端选择 Vue 还是 React?
后端选择 Go、Java 还是 Python?
数据库使用 MySQL 还是 PostgreSQL?
要不要使用微服务?
哪个框架更流行、性能更好?

如果是在以前,我们通常更倾向于选择自己熟悉的技术。

因为一旦使用陌生的语言或者框架,可能连项目怎么创建、依赖怎么安装、报错怎么解决都不知道。正式开发之前,还需要先花费大量时间学习。

但是在 AI Coding 时代,技术熟悉度已经不再是唯一的限制条件。

Codex 可以帮助我们:

  • 对比不同技术方案
  • 阅读框架和第三方库的文档
  • 初始化项目
  • 编写和修改代码
  • 分析编译错误
  • 补充测试
  • 解释陌生代码
  • 完成版本升级和依赖迁移

这意味着我们不再需要先把一门技术完全学会,才有资格用它开发项目。

但是,这并不代表技术选型已经不重要,更不代表可以让 Codex 随机选择。

技术选型会直接影响:

  • 项目的开发复杂度
  • 服务器资源消耗
  • 部署和维护成本
  • 第三方库的成熟度
  • 后续增加功能的难度
  • Codex 生成代码的稳定性
  • 出现问题后能否找到足够的资料

所以,更准确的说法应该是:

AI 降低了使用陌生技术的门槛,但没有替我们承担错误选型带来的长期成本。

我们的工作不是替 AI 决定所有技术细节,也不是把决定权完全交给 AI,而是先告诉它项目目标、约束条件和自己的偏好,再让它进行调研和比较。

服务器、域名问题

如果你的这个项目是做出来,想让大家都能访问到

服务器和域名的选择就很重要

32.34.55.23 ip

ffzd.ai → ip

fengfengzhidao.com → ip

关于备案

主要是看你服务器在哪里

如果服务器在境内,那就要备案

如果服务器在境外,那就不用备案

备案是域名+服务器一起去备案

服务器购买

如果你是打算做出来长期用的,以后就想长期用

那就国内域名+国内云服务厂商

首推腾讯云的三年服务器,不建议买一年的,因为服务器你后面再续费的话就很贵

https://curl.qcloud.com/cTkmfenk

然后完成域名+服务器备案

搞下来差不多一个月左右

如果你想快速上线,只是验证一个想法

那就选国外服务器+国外域名

想法成功了,到时候再搞国内服务器+备案,之前的域名搞个重定向就好了

我之前的ffzd.ai就是这样的

之前先在国外域名上运行了一个月,然后稳定之后再迁移到

draw.fengfengzhidao.com上了

境外的话,可以买这个 一年199 也还行

https://curl.qcloud.com/cTkmfenk

域名的话,选一个好记一点的就行,比如我的是ffzd.ai,就很好记

Codex开发部分

接下来,我们正式进入 Codex 开发环节。

从这一部分开始,主要都是实际操作。我不会逐行讲解 Codex 生成的所有代码,因为这套课程的重点不是某一行代码应该怎么写,而是如何使用 Codex 完成一个真实项目。

每个开发阶段,我都会重点展示五件事情:

第一,我是如何把一个比较大的需求拆分成 Codex 能够执行的小任务。

第二,我会给 Codex 提供哪些上下文和项目规则。

第三,Codex 执行过程中出现偏差时,我是如何发现并纠正的。

第四,一个任务完成以后,我是如何运行、测试和验收的。

第五,这个阶段有哪些经验可以迁移到其他项目。

Codex 生成代码和安装依赖的等待过程,我会适当加速或者剪掉;但是重要的提示词、方案选择、代码修改、真实报错和排查过程,我都会保留下来。

因为真实开发不可能永远一次成功。

Codex 写错代码、遗漏需求或者引入 Bug,并不代表 AI Coding 没有价值。真正需要学习的是:出现问题以后,怎样让 Codex 自己检查、定位并修复问题。

项目的版本控制

这个部分非常的重要

一定要做版本控制

一是防止codex在开发中把代码改坏

二是防止电脑出问题,代码丢失

三是协同开发,比如在家里的电脑上做了一些功能,然后可以继续在其他电脑上继续开发

没有学过git的,哔哩哔哩上搜一下git,简单入个门即可

项目部署

之前项目部署非常复杂

需要你懂linux、nginx这些

现在直接和Codex说

配置ssh免密登录
root@43.167.224.163 密码是 xxx
别名是 43.167.224.163
把服务器地址记录到agents.md里面
把项目部署到服务器上 ssh 43.167.224.163
部署位置在 /www/ffzd_site
这是一个干净的服务器
先不用管域名的事情,配置之后我用ip访问

但是我们要做一些前置操作

  1. 提前把域名做好解析
  2. 确定ssh的用户名和密码可以ssh上去

项目复盘

项目是会不断迭代的

项目地址

线上地址 https://www.ffzd.site/

代码地址:https://github.com/fengfengzhidao/ffzd_site