我发现,很多人都想拥有一个属于自己的个人网站。
所以这一次,我们不做只能在本地运行的练习项目。
我会以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访问
但是我们要做一些前置操作
- 提前把域名做好解析
- 确定ssh的用户名和密码可以ssh上去
项目复盘
项目是会不断迭代的