跳到主要内容
教程

个人网站搭建之路:技术栈、实现框架与费用记录

0代码基础博主的 AI 建站记录:ChatGPT Plus 负责规划与验收,DeepSeek harness 负责开发与执行,1 天上线。

项目概览

「我花同学」是我的个人内容网站,主要发布 AI 实践笔记、工具评测、作品和推荐。目标是打造一个高效的AI内容发布和个人品牌展示平台

指标数据
主要页面首页、笔记、工具、作品、推荐、关于
初始内容5 篇笔记、3 个工具、4 个作品、3 条推荐,处于试验阶段
TS / React 文件38 个
TS / React 代码2,768 行,不含内容文件
Git 提交20 次
首次提交2026-10-18
开发周期1 天
开发方式ChatGPT Plus 规划与验收,DeepSeek harness 开发与执行

技术栈

核心框架

技术版本用途
Next.js16.4.2App Router 路由与静态生成
React19.3.0页面组件与交互
TypeScript5.x类型检查
Tailwind CSS4.x样式与响应式布局

内容系统

技术版本用途
Markdown / MDX—保存正文,嵌入视频等组件
gray-matter4.x解析标题、日期、分类等元信息
js-yaml5.x解析站点和分类配置
next-mdx-remote6.x渲染文章正文
remark-gfm4.x支持表格、删除线等语法
rehype-slug6.x生成标题锚点
rehype-pretty-code / Shiki0.14.x / 4.x代码高亮与双主题配色

后端服务

网站采用全静态生成,内容保存在仓库文件中。当前的文章和作品展示需求不依赖数据库,因此没有引入独立后端、账户系统或网页管理后台。

部署与运维

服务用途
Vercel自动构建、网站托管、CDN 与 HTTPS
GitHub私有仓库、内容与代码版本管理
Cloudflare域名 DNS 解析
B 站视频托管与嵌入播放

Vercel 已提供内容分发和 HTTPS,我目前也没有额外的 Cloudflare 防护规则需求,因此将网站记录设为 DNS only,不再叠加代理,减少两层缓存与 HTTPS 配置的维护。这与 Vercel 对额外反向代理的建议一致。

推送到 main 分支后,Vercel 自动构建部署,通常约一分钟完成,实际以构建结果为准。

开发工具

工具用途
ChatGPT Plus项目规划与验收
DeepSeek harness开发与执行,包括代码生成、配置调整和问题排查
Git提交修改、查看历史与版本回退

网站架构

text
site/
├── src/
│   ├── app/
│   │   ├── page.tsx          # 首页
│   │   ├── notes/            # 笔记列表与详情
│   │   ├── tools/            # AI 工具
│   │   ├── works/            # 作品
│   │   ├── picks/            # 推荐
│   │   ├── about/            # 关于
│   │   └── tags/             # 标签聚合页
│   ├── components/           # 页面组件
│   ├── generated/            # 自动生成的内容数据
│   └── lib/                  # 工具函数
├── content/
│   ├── notes/                # 笔记 Markdown
│   ├── tools/                # 工具条目
│   ├── works/                # 作品条目
│   ├── picks/                # 推荐条目
│   ├── site.yml              # 站点设置
│   └── taxonomy.yml          # 分类定义
├── public/images/            # 图片与二维码
└── scripts/                  # 内容校验与生成脚本

核心功能实现

1. 内容系统:Markdown + 构建期 JSON

笔记、工具、作品和推荐分别保存为 Markdown 文件。generate-content.mjs 在构建前校验字段、生成 JSON,再由 Next.js 生成页面。内容格式错误会中断构建,线上访问不依赖临时读取 Markdown。

2. 搜索、分类与标签

搜索在浏览器中匹配标题、摘要等字段,不需要搜索接口。分类状态写入网址,方便刷新保留和分享;笔记标签自动生成聚合页。

3. 文章阅读

正文通过 MDX 渲染,支持表格、代码高亮与复制。桌面端提供侧边目录,手机端使用折叠目录,全站支持深浅主题和响应式布局。

4. 视频与作品展示

文章嵌入 B 站播放器,作品卡片链接到视频或项目。原计划使用 Cloudflare R2,但支付方式绑定未完成,因此先采用 B 站方案;视频文件不进入 Git 仓库。

5. 站点配置与搜索引擎信息

站名、介绍和联系方式集中在 site.yml,分类由 taxonomy.yml 管理。文章生成独立标题、摘要和 canonical 链接,网站提供 sitemap.xml 与 robots.txt。

内容生产工作流

text
实践记录 → DeepSeek harness 整理 Markdown → 人工核对
→ 内容校验与构建检查 → Git 提交并推送 → Vercel 自动部署

笔记按 AI工具、产品评测、教程、行业观察、学习五类组织;作品、工具和推荐使用各自的内容字段。日常更新沿用同一条发布链路。

我把内容规范、关键路径和检查命令保存在 AGENTS.md 中,方便后续让 AI 接着维护。

费用统计

固定成本

项目费用周期
域名 wohuaai.com81 元1 年
Vercel Hobby0 元月
GitHub Free0 元月
Cloudflare 免费方案0 元月

开发工具成本

项目费用说明
ChatGPT Plus订阅费另计用于项目规划和验收,未分摊到本项目
DeepSeek 模型调用5 元本次通过 DeepSeek harness 开发与执行的调用费用

总计

成本类型金额说明
网站基础设施81 元 / 年当前域名费用,其余服务使用免费方案
本次开发模型调用5 元DeepSeek 模型调用费用
已统计支出合计86 元首年域名 + 本次模型调用,不含 ChatGPT Plus 订阅

以上按本次域名购买价格和模型调用支出统计。免费服务需在方案适用范围和额度内使用,域名续费及后续模型调用以实际账单为准。

踩过的坑

1. 框架配置与静态生成方案冲突

问题:脚手架的新配置与项目采用的静态生成方式不兼容。

解决:结合当前版本文档调整配置,明确关闭 cacheComponents,保持全站静态生成。

2. 日期存在,校验却报错

问题:YAML 将未加引号的日期解析为日期对象,最初的校验器只接受字符串。

解决:兼容两种输入,统一转换为日期字符串。

3. 目录无法定位带格式的标题

问题:目录和正文分别处理标题,遇到行内代码、链接等格式时,生成的锚点不一致。

解决:从与正文一致的解析流程中提取标题 ID。

4. 大图与长代码撑破手机页面

问题:内容宽度超过正文区域,导致整页横向滚动。

解决:限制图片最大宽度,让长代码只在代码块内部滚动。

5. 深色主题按钮文字不清楚

问题:蓝色按钮在深色模式中仍配白字,对比度不足。

解决:为强调色背景单独设置文字颜色,深色主题使用深色文字。

AI 工具协作体验

这次我采用两种工具分工协作:ChatGPT Plus 用于规划和验收,DeepSeek harness 用于开发与执行。我主要负责:

  • 确定网站定位、栏目和功能范围。
  • 确认页面效果与内容表达。
  • 验收功能并反馈实际问题。

ChatGPT Plus 协助明确项目范围和验收要求,DeepSeek harness 将方案落实到页面、配置和内容文件,并根据构建报错排查问题。

总结

1 天完成初版上线,域名费用为 81 元 / 年,本次 DeepSeek 模型调用花费 5 元。两项合计 86 元, ChatGPT Plus 订阅费用未计算在内

这套结构让我可以通过维护文件持续发布内容,暂时不必承担数据库和后台系统的维护。接下来,我会把重点放在更完整的实践记录和作品积累上。

如果你也想搭建类似的个人品牌网站,欢迎参考这篇文章的技术方案,或联系我进行咨询。