不会写代码,也能让 AI 全托管一个博客:从 Fork 到日常维护(保姆级教程)

最后更新于 2026-11-07
2026年11月7日星期六8117 字41 分钟
-次阅读
设计文档AIAstroFirefly二开博客

不用买服务器、不用背命令、不用会写代码:Fork 一份开源模板,让 AI 编程工具全程施工——先立规矩、再改配置、部署 Vercel、独立评论后端、自建播放器源站、优选 IP 提速,一篇保姆级教程走完从建站到日常维护。

不会写代码,也能让 AI 全托管一个博客:从 Fork 到日常维护(保姆级教程) - 封面图

不用买服务器,不用背一条命令,不用会写代码。跟着本文,你能把一个功能完备的个人博客搭到自己的域名上,并且从搭建到日常维护全程由 AI 干活——你只需要讲需求、看结果、点确认。

本文以我自己的实验站灵感屋(idea.lanerc.me)为实例:它基于开源博客模板 my-blog(Astro 框架),由 AI 编程工具(本文用 DSH + DeepSeek,其他 AI 编程工具同理)全程施工,这个站本人没有手写过一行代码。模板也可以选 Firefly(我主站 lanerc.me 用的就是它)——两套都是 Astro、都是 Fork 后照本文流程走,只在第三步选仓库、第八步选生产分支时有区别,文中都标注了。

一、方案总览#

整套方案只有四个角色,全部免费或近乎免费:

角色承担职责费用
GitHub存放博客源码(Fork 一份模板到自己账号下)免费
本机 + AI 编程工具写作环境 + AI 干活(装依赖、改配置、写代码、提交推送)AI 按量计费,便宜
Vercel构建并托管博客网站免费额度完全够用
开源模板(二选一)博客本体:文章、播放器、相册、评论、搜索全都自带。my-blog(本文实例,灵感屋在用)或 Firefly(功能最全的老牌主题,我主站在用)开源免费

首先需要提前注册这几个账号,准备好所需要的AI工具。

工作原理一句话:你把需求说给 AI → AI 修改源码并推送到 GitHub → Vercel 自动拉取、构建、发布 → 几分钟后网站更新。这就是”全托管”:你从不需要碰服务器,也不需要打开代码文件。

二、前置准备#

2.1 需要注册的账号#

账号用途注册地址备注
GitHub托管博客源码,触发自动部署github.com/signup邮箱验证后即可用
Vercel部署托管vercel.com直接用 GitHub 账号关联注册
Cloudflare(可选)域名 DNS 托管,绑域名和优选 IP 时的操作台dash.cloudflare.com域名本来就托管在 Cloudflare 的直接用现成的;不在的可忽略
MongoDB Atlas(可选进阶)评论系统数据库cloud.mongodb.com只有第九步装独立评论时才需要,免费层够用
以下为个人用小号的解释(总结:本教程无任何风险,仅仅大号免费额度不够了),可展开看详细内容

为什么不用大号?主要是想部署在 Vercel 上面,大号连的 Vercel 做的音乐 API 被人白嫖,月额度烧完了,所以为了赶时间就申请了一套小号。这就是主要原因,也挺无奈。

2.2 需要安装的软件#

软件版本要求用途官网地址
Node.js22.x LTS博客构建运行环境nodejs.org
Git最新版即可代码版本管理、推送 GitHubgit-scm.com/download/win
pnpm最新版(Node 装好后一条命令安装)依赖管理(项目强制要求 pnpm)pnpm.io
AI 编程工具最新版替你执行命令、改文件(本文用 DSH,也可用 Trae、Cursor 等)按你选的工具官网

安装要点(3 分钟)#

  1. Node.js:官网下载 .msi 安装包,一路下一步。装完打开 PowerShell 验证:
node -v

显示 v22.x.x 即达标。

  1. Git:安装时所有选项保持默认即可(默认会加入系统 PATH)。
  2. pnpm:在 PowerShell 里执行(不用去官网下安装包):
npm install -g pnpm
pnpm -v

能显示版本号即达标。

2.3 先给 AI 一把”小钥匙”(重要,别跳过)#

AI 要替你推送代码,需要访问你 GitHub 仓库的权限。不要把账号密码给它,也不要给全账号权限的令牌。 正确做法是发一把只开一扇门的钥匙:

  1. 用小号登录 GitHub,右上角头像 → Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token
  2. Repository access 只勾选你这个博客仓库(第三步 Fork 完再来建也行)
  3. Permissions 里只给 Contents: Read and write,其余不动
  4. 生成后把令牌交给你的 AI 工具的配置项保存

这样即使令牌泄露、或者 AI 抽风乱来,爆炸半径也只有这一个实验仓库。全托管能成立的前提就在这一步。

三、第一步:Fork 模板仓库#

“Fork”就是把别人的项目完整复制一份到你自己的 GitHub 账号下,你拥有这份副本的全部修改权,部署平台也是从你的副本拉代码。

  1. 浏览器打开模板仓库(二选一):my-blog 是 MmzMing/my-blog;Firefly 是 CuteLeaf/Firefly
  2. 点击右上角 Fork 按钮
  3. 弹出页面保持默认,点 Create fork
  4. 等待几秒,页面跳转到 github.com/你的用户名/仓库名 —— 完成

全程 1 分钟。不要用 Download ZIP 下载,Fork 才能和自动部署联动。

注意默认分支不一样:my-blog 是 master,Firefly 是 main。后面部署选生产分支时要选对,第八步会再提醒。下文以 my-blog 为例,Fork 的是 Firefly 的话把仓库名和分支名对应替换即可。

四、第二步:让 AI 把项目克隆到本地#

  1. 打开你的 AI 编程工具,新建并打开一个空文件夹(例如 E:\blog)作为工作区
  2. 在 AI 对话框里,把下面这句发出去(把用户名换成你自己的):
请帮我把我 GitHub 上的仓库 https://github.com/你的用户名/my-blog 克隆到当前打开的文件夹里,克隆完成后告诉我项目结构。只动这个仓库,不要碰我电脑上其他项目。

AI 会自动执行克隆并把仓库内容放进工作区。如果工具执行命令前弹出确认框,点允许即可。

五、第三步:先立规矩,再动代码(全托管的核心)#

这一步看起来最没用,其实是整个教程里最重要的一步。

AI 最擅长的事,除了干活,还有”顺手帮你优化一下”——你不把边界写死,它就会替你做决定。所以开工第一件事,是在仓库根目录建一份 AGENTS.md,把规矩写下来,AI 每次开工先读它。下面这份可以直接抄,把括号里的换成你的:

# 本仓库工作规矩
1. 只动本仓库。其他仓库、部署后台、DNS,一律不碰。
2. 一批只做一件事,一批一个 commit。想改五个地方,分五批提交。
3. 每次改完必须自己跑构建验证,并把验证结果(成功/失败、关键数据)汇报给我。
4. 视觉效果(好不好看、像不像)由我验收,你不要自行判定通过。
5. 不许猜测。素材、数字、现状以仓库代码和接口实测为准,查不到就说查不到。
6. 推送前把本批改动的文件清单列给我,等我确认再推。

然后对 AI 说:

请把上面这份规矩保存为仓库根目录的 AGENTS.md(如果根目录已有同名文件,先把两份内容给我看,合并后再保存),然后把它作为第一个 commit 提交并推送。之后所有工作都按这份规矩执行。

我的实验站第一个提交干的就是这件事。后面它真拦住过好几次 AI 想顺手重构”范围外问题”的冲动。

六、第四步:安装依赖与本地预览#

继续在对话框发送:

请先检查本机 Node 和 pnpm 版本(项目要求 Node 22、pnpm 最新版),符合要求就在项目根目录执行 pnpm install 安装依赖;如果 pnpm 未安装,先用 npm install -g pnpm 安装。完成后启动开发服务器(pnpm dev),告诉我预览地址。

AI 会自动完成版本检查、安装和启动。依赖大约几百个包,国内网络一般 1~3 分钟。启动成功后浏览器打开 http://localhost:4321 就能看到你的博客,此时改任何配置、文章,页面保存即刷新。

首次启动要构建缓存,页面出来前可能有十几秒白屏,属正常现象。

这个项目用 preinstall 脚本强制 pnpm,用 npm/yarn 安装会直接报 only-allow pnpm——让 AI 用 pnpm 就不会遇到。

七、第五步:把模板换成”你自己的站”#

刚 Fork 下来的站挂的全是模板作者的名字、头像、友链。先换掉,才算你的站。把下面这段填好发给 AI:

请帮我完成博客的身份切换,要求一批只做一件事、分开提交:
1. 站点名改为「XX的小站」,站点域名先填 https://XX.vercel.app(以后绑了自己的域名再改);
2. 作者昵称改为 XX,头像换成我放在工作区的 avatar.png;
3. 友链列表整体清空,一条不留;
4. 文章页的打赏入口关闭,页脚和隐私页里的联系邮箱改成我的 someone@example.com;
5. 先把仓库自带的示例文章列个清单给我,我确认哪些删,你再删。
每完成一项,把改了哪些文件列给我看。

AI 会直接定位配置文件修改。注意第 5 条:模板自带的示例文章里可能混着有用的说明页,让 AI 先列清单、你点头再删,比一句话”全删了”稳妥。

八、第六步:部署到 Vercel 上线#

  1. 打开 vercel.com,点 Continue with GitHub,用你的账号授权登录
  2. 控制台点 Add New… → Project
  3. 在 Import Git Repository 列表里找到你的 my-blog 仓库,点 Import(找不到的话,点下面的链接给 Vercel 授权访问该仓库)
  4. 配置页确认四处,其余全部默认:
配置项填什么
Framework PresetAstro(一般已自动识别)
Production Branch选你模板的默认分支:my-blog 选 master,Firefly 选 main(不选对不会自动部署)
Build Command默认即可(项目自带构建脚本)
Output Directorydist(默认即可)
  1. 点 Deploy,等 3~5 分钟构建完成
  2. 完成后得到一个 你的项目名.vercel.app 的免费域名,点击即可访问

一个保险设置(建议顺手加上):展开 Environment Variables 添加一条 NODE_VERSION = 22。Astro 7 要求构建环境的 Node 必须 ≥ 22;Vercel 新项目默认一般已经达标,但个别项目默认版本偏低,会直接构建失败。把版本钉死,就不用赌它的默认值。

绑定自己的域名(可选/可直接使用托管到Cloudflare的域名):项目页 → Settings → Domains → Add,填入你的域名,按提示到域名注册商那里加一条 CNAME 记录指向 Vercel 给出的地址,等证书自动签发(几分钟)即可 HTTPS 访问。绑完别忘了回第七步,让 AI 把配置里的站点域名换成正式域名。域名托管在 Cloudflare 的,就在 Cloudflare 控制台的 DNS 页加这条记录——注意把代理状态设成仅 DNS(灰云):开着橙云代理时,流量会先绕 Cloudflare 的默认节点,下面的优选 IP 不生效,还可能和 Vercel 的证书校验打架。

(可选)优选 IP:把国内访问速度再往上抬一截,可展开看配置方法

Vercel 是任播网络,官方 CNAME(cname.vercel-dns.com)解析到的节点对国内线路不一定最优。社区有个长期维护的优选项目 enhanced-FaaS-in-China:它定期测速,挑出对电信、联通、移动都友好的 Vercel 节点,收成一个现成的优选域名,你把 CNAME 换过去就行。配置三步,顺序不能反:

  1. 先按上面的官方流程,把 CNAME 指向 cname.vercel-dns.com,等 Vercel 把 SSL 证书签发好(Domains 页状态变 Valid)——证书没签下来就换走,会签不下来
  2. 再回域名注册商的 DNS 处,把这条 CNAME 的目标改成 vercel-cname.xingpingcn.top(在 Cloudflare 里改的同理,保持仅 DNS)
  3. 等几分钟解析生效,用多地测速工具对比一下改前改后,国内节点变快就说明生效了

两条提醒:优选域名是社区项目维护的,哪天它停更或失效,把 CNAME 改回官方地址立即恢复,所以只推荐用子域名走 CNAME(改起来方便),根域名绑 A 记录同理可指向优选 IP,但 IP 会变、要定期复测,不如 CNAME 省心。

部署失败怎么办:不要自己研究日志。把 Vercel 构建日志里的报错整段复制下来发给 AI:

我的博客在 Vercel 构建失败,日志报错如下:
(粘贴日志)
请分析原因,在本地修好并验证构建能通过,然后再推送。

九成问题出在依赖版本或环境变量,AI 能直接定位。

九、第七步(可选进阶):给评论装一套独立后端#

模板自带评论功能,但后端要自己接。千万不要和别人的站、或者你自己的主站共用一套评论后端——共用同一套,两边的评论会串在一起,谁在实验站发的测试留言都会出现在正式站上(新手可忽略)。独立部署一套 Waline,零成本,十分钟:

  1. 建数据库:登录 MongoDB Atlas → 创建免费集群(M0)→ 在 Database Access 里新建一个数据库用户(记下用户名密码)→ Network Access 里放行 0.0.0.0/0(Vercel 没有固定出口 IP,必须全放行,安全靠强密码)→ 新建一个空数据库,例如 waline-idea
  2. 部署后端:Fork 一份 walinejs/waline 到你的GitHub账号 → 回 Vercel 新建 Project 导入它 → Root Directory 改成 example(真正的应用在子目录里,不改部署必失败)→ 项目 Settings 里把 Node.js Version 改成 24.x(默认的 26.x 与 Waline 不兼容)
  3. 填环境变量(Deploy 前在 Environment Variables 里一次填齐):
变量名填什么
MONGO_DB第 1 步建的库名,如 waline-idea
MONGO_USER / MONGO_PASSWORD第 1 步建的数据库用户和密码
MONGO_HOSTAtlas 集群的三个分片主机名,写成 JSON 数组:["主机1","主机2","主机3"](在 Atlas 的 Connect 页面能看到)
MONGO_PORT[27017,27017,27017],同样必须是数组
MONGO_REPLICASETAtlas 的副本集名(Connect 页面可见)
MONGO_AUTHSOURCEadmin
MONGO_OPT_SSLtrue
SITE_NAME你的站名
SITE_URL你的博客地址,如 https://idea.lanerc.me
SECURE_DOMAINS你的博客域名 + 这个评论后端自己的域名,逗号分隔

最容易栽的坑:MONGO_HOST 和 MONGO_PORT 必须写成 JSON 数组。只写一个光秃秃的 27017,它会把这串数字拆开当成多个端口去连,部署显示成功、请求全部超时,你还会以为是网络问题。另一条:不要把 mongodb+srv:// 整串连接字符串直接粘进去,Waline 不吃整串,必须拆成上面这组分项变量。

  1. 部署成功后得到评论后端地址(如 https://waline-idea.vercel.app,建议同样在 Domains 里绑个自己的子域名,vercel大陆dns基本被污染的无法访问),回博客这边对 AI 说:
请把评论配置里的 serverURL 改成 https://我的评论后端域名/ ,登录方式保持允许游客(昵称+邮箱即可评论),改完构建验证并推送。

推送后等几分钟,打开留言板发一条测试评论,能发出来、刷新还在,这套评论就通了。

顺手把访问统计也装上(可选)#

评论有了,还差一个「每天有多少人来、哪篇文章有人看」。这类统计用 Umami:免费、轻量、不种 Cookie。两种装法二选一。

方法一:Umami Cloud(最省事,5 分钟)

  1. 打开 Umami Cloud 注册,进后台 Add website,填站名和你的域名
  2. 它会生成一段跟踪脚本,记下里面的 data-website-id(一串 UUID)
  3. 对 AI 说:
请把 Umami 统计接入这个站,我的 data-website-id 是 XXX。如果模板自带统计/Umami 配置项就填配置项,不要把脚本硬编码进每个页面;本地预览确认统计请求发出后再告诉我。
  1. 推送上线后,自己打开网站点开两篇文章,回 Umami 后台看「实时访客」里有没有自己——有,这套统计就通了
方法二:自建 Umami(有 VPS 的看这里,点开展开)

数据想放自己手里、或者不想受云端免费版额度限制,就在自己的 VPS 上搭一套,我自己的站用的就是自建版:

  1. VPS 上装好 Docker 后,对 AI 说,让它给你生成部署文件:
请给我一份部署 Umami 的 docker-compose.yml(官方镜像 + PostgreSQL),并说明每个环境变量要填什么。
  1. 在 VPS 上把这份文件放好、启动容器,Umami 默认跑在 3000 端口;再用 Nginx/Caddy 反代到一个子域名(如 umami.你的域名)并配好 HTTPS
  2. 打开后台,用默认账号 admin / 密码 umami 登录,第一件事先改密码,再 Add website 拿到你的 data-website-id
  3. 接入博客和验收的方法同方法一第 3、4 步

十、第八步(可选进阶):播放器音源——公共源还是自建源(二选一)#

模板自带的播放器要出声,得先给它接一个”源站”(提供歌单和音频地址的接口)。两种接法,二选一:

方案 A:公共源方案 B:自建源站
做什么只改配置文件,借用别人公开的接口自己部署两个小接口
耗时5 分钟约半小时(还是 AI 干活)
效果网易云基本能听;QQ 大概率只有列表没声;部分歌曲只有 30 秒试听全平台完整播放,稳定性自己说了算
适合先把站跑起来长期正经用(灵感屋用的就是这个)

也可以先 A 后 B:配置是逐张歌单生效的,哪张不满意就把哪张切到自建,不用一次全换。

方案 A:只改配置(公共 Meting 源)#

播放器的配置文件是 src/config/musicConfig.ts。mode 保持 "meting",你要认识的只有四处:

字段填什么
meting.api主源地址(现行可用:https://api.qijieya.cn/meting/?server=:server&type=:type&id=:id)
meting.fallbackApis备胎地址数组,主源挂了自动按顺序换下一个(现行可用:https://api.moeyao.cn/meting/?server=:server&type=:type&id=:id)
meting.server平台:netease 网易云、tencent QQ、kugou 酷狗
meting.id歌单 ID

两个避坑:api.injahow.cn 已经连不上了,别再往配置里填;官方源 api.i-meto.com 只能当列表备胎——它的音频”第二跳”是坏的(歌单加载正常、点哪首都没声),这也是公共源最常见的翻车姿势:列表通 ≠ 能播,一定要逐首点开验收。

歌单 ID 怎么找:网易云在 App 里分享歌单,链接里 id= 后面那串数字;QQ 音乐的 App 分享短链在电脑上打不开,去网页版 y.qq.com 打开歌单,地址栏里就是。

换歌单不用自己改文件,对 AI 说:

请把播放器默认歌单换成:平台 tencent,歌单 ID 9439238150。主源和备胎保持不动,改完构建验证,告诉我改了哪一行。

方案 B:自建源站(灵感屋在用)#

自建源站就是两个自己部署的接口,合起来干两件事:

  1. 歌单接口:给它平台 + 歌单 ID,返回整张歌单的完整信息(歌名、歌手、封面)。以网易云为例,它先拿到歌单的歌曲 ID 列表,再按每批 100 首补齐详情、按原顺序拼好;结果带一天的缓存,慢只慢第一次打开。
  2. 解析接口:给它某首歌的平台、ID、歌名、歌手,它按一条回退链找能播的地址:主源先上 → 按平台找对口的源(网易云的歌找网易云的解析、QQ 的歌找 QQ 的解析)→ 备用源兜底。每个候选地址返回前都先验活(真请求一下确认能播),验不过自动换下一个;找到的结果缓存 6 小时。

附:歌单 ID 怎么找(网易云 / QQ)

  • 网易云:手机 App 打开歌单 → 分享 → 复制链接,链接里 id= 后面那串数字就是(短链先粘到浏览器打开、跳转完成后再看地址栏);或者网页版 music.163.com 打开歌单,地址栏同理。例如 playlist?id=2804070207,ID 就是 2804070207。
  • QQ 音乐:去网页版 y.qq.com 打开歌单,地址末尾那串数字就是 ID(如 y.qq.com/n/ryqq/playlist/9439238150)。App 分享出来的是短链,电脑上解析不了,别拿它取 ID,一律走网页版。

部署三步,全程还是使唤 AI:

  1. 让 AI 按上面的规格把两个接口写成一个独立小项目,部署到 Vercel,得到源站地址:
请为播放器实现一个自建源站,独立项目,部署到 Vercel:
1)歌单接口:输入平台(wy/tx/kg)和歌单 ID,返回全量歌曲详情;网易云按 trackIds 每批 100 首并发补详情并保持原顺序;响应加缓存头 s-maxage=86400;
2)解析接口:输入平台、歌曲 ID、歌名、歌手,按"主源→平台对口源→备用源"的顺序找可播地址,每个候选先实际请求验活再返回,验不过换下一个;结果在服务端缓存 6 小时;
3)两个接口都只允许我博客的域名调用(按 Referer 白名单校验),其他来源返回 403。
写完逐项自查并把测试结果给我。
  1. 让 AI 把播放器的歌单从”一张”扩成”一个列表”,每张歌单加一个 api 字段——填 self 走你的源站,填公共源地址走公共源:
请把播放器歌单改造成列表配置:每张歌单包含名称、平台、歌单 ID 和 api 字段,api 为 self 时请求我自建源站的歌单/解析接口,为公共源地址时走 Meting。切歌单时不要打断正在播放的歌曲,点了新歌单里的歌才切换队列。
  1. 验收(这步归你):逐张歌单点开,重点试 QQ 的歌能不能出声、网易云是不是完整版(不是 30 秒试听)。都对,源站就算通了。

我们在用的配置逻辑(可直接照抄)#

灵感屋现在挂六张歌单,顺序和分工是这样的——数组里的顺序就是播放器里显示的顺序,第一张是默认歌单:

#歌单平台走哪为什么
1我喜欢的音乐网易云self默认歌单;公共源只给 30 秒试听,自建是完整版
2F 2(98 首)QQselfQQ 公共源音频第二跳不通,只能自建
3Do(100 首)QQself同上
4syz(34 首)QQself同上
5我喜欢(2370 首)QQself + 懒加载太大张,点开才拉,不然首屏等死
6本地歌单本地文件—垫底,断网也有歌听

三条配套规矩:切歌单不打断当前播放;大歌单一律懒加载;源站独立部署、只认自己站的域名——公共接口被人拿去薅流量薅到额度爆炸这种事,发生过一次就够了(见第二节小号那段)。

十一、日常施工:怎么跟 AI 说话#

站搭起来只是开始。托管的日常,是你不断提需求、AI 不断交付。一次靠谱的施工长这样,五步:

  1. 你说需求,说清”哪里、什么问题、想要什么效果”,例如:“播放器切歌单太慢,冷加载要十几秒,查一下原因,能改就改。”
  2. AI 先查再动:定位到是节点跨国、串行请求、缓存太短三层原因叠加,先把原因报给你。
  3. 分批施工:并发改造一批、缓存策略一批、收尾小补丁一批,每批一个 commit,随时能单独回滚。
  4. AI 交自查证据:改前改后实测数据、逐项比对结果、构建是否通过——不看证据不算完。
  5. 你验收:真机打开试一遍(手机、电脑各一次),体感对了才算结;不对就描述现象发回去,别自己猜原因。

三句常用提示词:

要证据时:

改完后把自查结果给我:构建是否通过、改前改后关键数据对照、你逐项核对过什么。没验证过的部分明确标出来,不要笼统说"已完成"。

圈范围时(写文章、做调研尤其要用):

素材只许用(某个时间点)之后、(某个作者)的提交记录,上游原作者的历史不要纳入。数字逐个核对来源,不许推测。

因为 Fork 是全量复制历史,你不圈范围,AI 就会把模板作者的开发史写成你的奋斗史——这事在我站上真实发生过。

任务太长时,拆开喂:

长任务(写几千字长文、改十几个文件)不要一口气交代完。先让它出清单/大纲,你确认后再让它逐节、逐批推进。原因见文末的常见问题速查:链路太长,中转 API 容易中途断流,拆小之后每段都短,谁都掐不断。

十二、后续日常维护#

12.1 写文章(最常用的循环)#

写文章不要在 AI 对话框里逐句口述——长文在聊天框里改,越改越乱。更顺手的做法是:先让 AI 建一个文章模板,之后你自己在 Obsidian 里写,AI 只管校验和发布。

  1. 让 AI 建模板(一次性):
请按这个博客现有的文章格式,在仓库根目录建一个「文章模板.md」:包含完整的 frontmatter(标题、日期、描述、标签、分类、封面、草稿标记,字段和现有文章保持一致)和正文骨架。
  1. 用 Obsidian 把博客文件夹打开为仓库,在里面写文章:复制一份模板改名,正文慢慢写,图片直接拖进去。
  2. 写完对 AI 说一句就行:
我新写了一篇(文件在 src/content/posts/ 下),检查一下 frontmatter 和图片引用,没问题就提交推送。

之后 Vercel 检测到推送自动构建,约 3 分钟线上生效。Obsidian 再装个 Git 插件、开自动提交的话,连第 3 句都能省——我自己的站就是这么干的,写完自动上线。

和 AI 配合的流程,就固定成这四步:

  1. 你只管写:在 Obsidian 里写标题、正文、插图;分类和标签拿不准就先空着,不用纠结
  2. AI 收尾:喊它来补齐 frontmatter、按站点既有的分类标签归类(不许它自造词)、检查图片引用和公式有没有渲染坏
  3. AI 发布并回报:它提交推送,等构建完把线上链接发回给你
  4. 你验收:点开看一遍;要改,小改自己在 Obsidian 里改完再喊它推,结构性的大改把意见列出来给它改

分工就一条:内容归人,格式、校验、发布归 AI。各干各擅长的,谁也别抢谁的活。

没用过 Obsidian 的先看这两处:下载 Obsidian(全平台免费);上手和把文件夹连接成仓库,跟着 B 站这支视频走一遍就行:Obsidian 入门保姆级教程:20 分钟轻松上手;想查某个具体功能,再翻 Obsidian 官方中文帮助。另外,专门针对「用 Obsidian 写博客」的配置方法(仓库根目录选哪一级、图片链接怎么设、粘贴图片自动改名),推荐看二叉树树的这篇:现代!易上手!高效!且社区支持的超高校级的 MarkDown 编辑器!,文末参考里也附上了。

12.2 改配置、加功能#

同样三步:告诉 AI 改什么 → 本地预览确认 → 让它提交推送。例如给播放器加一张歌单,就是一句话的事:

请把这张歌单加进播放器:平台 网易云,ID 是 2804070207,名字叫「我喜欢的音乐」。加完构建验证,告诉我改了哪个文件。

12.3 同步模板更新(先看警告)#

模板官方更新后,你的 Fork 不会自动跟进:

  1. 打开你 GitHub 上的仓库页面,点 Sync fork → Update branch
  2. 回本地对 AI 说:我刚刚同步了上游更新,请 git pull 拉下来,检查和我的改动有没有冲突,有冲突先列给我,不要自行合并。

警告:你的站改得越多,同步冲突越狠。如果已经像我一样大改过几十处,盲目 Sync 只会炸一地。更稳妥的策略是不追大版本:看上模板的某个新功能,单独让 AI 评估、单独搬那一小块。

12.4 定期巡检(也交给 AI)#

托管不等于撒手。可以建几个固定节奏的小任务,让 AI 定期替你看一眼:服务器/域名到期、依赖的平台有没有大变动、评论区有没有需要你本人回复的长评论。原则是:没事保持安静,有事才来报你——不然提醒比事情本身还烦人。

十三、常见问题速查#

现象原因与解决
AI 思考到一半就消失、报错 Upstream HTTP/2 stream failedAPI 中转站的流断了,不是你的网络、也不是模型坏了。长任务拆小(第十一节);有条件就把接口换成模型官方 API 直连,一劳永逸
AI 写出来的内容把模板作者的事迹安在你头上Fork 的历史是全量的。用第十一节”圈范围”提示词限定素材
pnpm install 报 only-allow pnpm用了 npm/yarn。删掉 node_modules 后改用 pnpm 重装
本地预览白屏十几秒首次启动在建缓存,等它完成即可
Vercel 构建失败把构建日志整段发给 AI 修(第八步有现成句式);常见是 Node 版本没设 22、生产分支选错(my-blog 要 master、Firefly 要 main)
Waline 部署成功但评论全超时连接参数没拆对:检查 MONGO_HOST/MONGO_PORT 是否写成 JSON 数组、有没有误粘整串连接字符串(第九步)
播放器歌单能打开但没声,或只有 30 秒试听公共源的音频第二跳不通或只给试听。换第十节方案 B 自建源站
实验站的评论跑到正式站去了(或反过来)两站共用了同一套评论后端。按第九步给每站独立部署、独立数据库
推了代码线上没变化先等 3 分钟构建;还不对就看 Vercel 的 Deployments 列表确认最新构建是否成功,别急着重复推送

十四、总结:这套方案好在哪#

  • 零服务器成本:不需要买云主机,Vercel / Atlas 免费额度对个人博客绰绰有余
  • 零命令、零代码:装依赖、改配置、写文章、提交推送全部用自然语言完成,命令都在本文可复制
  • 自动持续部署:源码在 GitHub,push 即发布,更新几分钟内全网上线
  • 国内访问也不慢:把站放 Vercel 不等于国内就打不开——Vercel 官方文档提到其网络有面向国内的优选 IP,实测访问速度大约能达到备案后用国内 CDN 加速效果的 80% 左右(个人感觉)。省了备案和国内主机的钱,速度只让两成,对个人博客完全够用
  • 数据完全自持:仓库在你自己账号下,随时可以换部署平台、换 AI 工具、甚至换回自己动手,博客不锁死在任何服务商
  • 托管靠流程,不靠运气:权限给最小、规矩写成文件、批次切小、验收归人——这四条比模型本身更决定成败

接下来要做的只有一件事:把本文里所有的占位符换成你的名字和域名,然后对 AI 说出第一句需求。

参考#

不会写代码,也能让 AI 全托管一个博客:从 Fork 到日常维护(保姆级教程)
https://idea.lanerc.me/posts/ai-hosted-blog-guide/
作者
zhz
发布于
2026-11-07
许可协议
CC BY-NC-SA 4.0
纯文本
相关文章其他文章
现代光学基础笔记Firefly 博客魔改总结:Astro 内容系统、Svelte 交互与部署

评论区

暂无歌词

暂未播放

0:00
0:00
目录
zhz

隐私政策

更新日期: 2026 年 7 月 15 日
生效日期: 2026 年 7 月 15 日

适用范围#

本政策适用于 Alexander(以下简称“本站”)。本站是个人博客,用于发布和分享内容;不提供账户注册、支付、定位或广告投放服务。访问本站、发表文章评论或在留言板留言前,请阅读本政策。

信息收集与使用#

本站只在提供内容、评论和留言功能,以及维护站点安全所需的范围内处理信息。

  • 访问与统计信息:访问页面时,统计服务可能处理访问时间、页面地址、来源页、浏览器和设备相关信息,用于了解内容访问情况、排查故障和改进站点。
  • 评论信息:使用文章评论功能时,Waline 可能处理您主动提交的昵称、邮箱、站点链接和评论内容;还可能处理 IP 地址等必要信息,用于防止垃圾评论、滥用和维护服务安全。评论内容、昵称和站点链接(如填写)可能公开展示在文章下方;邮箱不会公开展示。
  • 留言信息:留言板使用 Waline /guestbook/ 频道。Waline 可能处理您主动提交的昵称、可选邮箱、站点链接、留言内容和图片,以及浏览器、操作系统、IP 地址等必要的反滥用信息。默认情况下,留言图片以内嵌数据随留言提交;如站点维护者配置了远程图片上传接口,图片会先发送至该接口并在留言中保存返回的图片地址。留言内容、昵称、图片和站点链接(如填写)可能公开展示;邮箱和 IP 地址不会在留言板公开展示。

请不要在评论或留言中提交身份证件、银行卡、住址、密码或其他不必要的敏感个人信息。

第三方服务#

为实现本站功能,以下第三方会在各自服务范围内处理相关数据:

  • Umami:用于匿名化的网站访问统计和出站链接点击统计,帮助我了解本站的使用情况。
  • Waline:用于文章评论、留言板及访问量统计。服务会按照其自身规则处理您在评论或留言时提交的信息及必要的反滥用信息。
  • Cloudflare:可为本站提供静态资源分发和域名基础设施。
  • unpkg:用于加载 Waline 的前端脚本、样式和表情资源;请求这些资源时,您的浏览器会与该服务建立连接。

第三方服务可能有独立的隐私政策和数据保存规则。请在使用相关功能前查阅其规则;本站无法控制其独立的数据处理活动。

本站主要使用浏览器本地存储(Local Storage 或 Session Storage)保存使用偏好,例如主题颜色、明暗模式、文章列表视图和音乐播放设置。留言板会在本地保存匿名资料、未发送草稿和登录状态,以便恢复输入与会话;管理员登录状态仅保存在当前会话。

本站不主动设置用于广告定向的第一方 Cookie。评论、统计或资源服务可能按照其自身规则使用 Cookie 或类似技术。您可以通过浏览器设置查看、删除或限制 Cookie 和本地存储;清除后,部分偏好或互动状态可能会恢复为默认值,评论功能也可能受到影响。

信息公开、保存与安全#

评论和留言属于公开互动内容,提交后可能被搜索引擎收录、被他人引用或在缓存中短暂保留。请谨慎决定发布内容。除非您提出删除请求、内容违反规则或法律法规另有要求,公开内容会持续保留以维持讨论上下文。

本站会采取合理措施保护数据安全,包括使用 HTTPS、输入校验、内容转义和访问频率限制。但互联网传输和第三方服务均无法保证绝对安全,请理解并自行承担公开发布信息的相应风险。

你的权利#

你可以通过 xz011@qq.com 联系我,申请查询、更正或删除由本站直接保存的评论、留言或相关公开内容。为保护他人权益,请在请求中提供足以定位内容的信息,并说明你与该内容的关系;必要时可能需要进行合理核验。

对于由 Waline、Umami、Cloudflare 或 unpkg 独立处理的数据,你也可以直接向对应服务提供方行使相关权利。删除公开评论或留言后,第三方缓存、搜索引擎索引或他人转载的副本可能无法立即同步删除。

未成年人条款#

未满 14 周岁的未成年人应在监护人同意和指导下使用本站的评论、留言等互动功能。监护人如发现未成年人未经同意提交了个人信息,可通过上述联系方式与我联系,我会在合理范围内协助处理。

政策更新与联系#

我可能因本站功能或适用规则变化更新本政策,更新后的版本将在本站公布并标明日期。继续使用相关功能即表示你已阅读并理解更新后的政策。

如对本政策或数据处理有疑问,请联系 xz011@qq.com。

用户协议

更新日期: 2026 年 5 月 19 日
生效日期: 2026 年 5 月 19 日

适用范围#

本协议适用于你访问 Alexander,以及使用文章评论、留言板等互动功能的行为。继续浏览本站或提交评论、留言,即表示你已阅读、理解并同意遵守本协议及本站的隐私政策。

评论及留言规则#

请在交流中保持友善、理性和尊重。你不得利用本站发布、传播或实施以下行为:

  • 发布任何违反中华人民共和国法律法规的内容。
  • 发布任何侵犯他人合法权益的内容,包括但不限于隐私、名誉、肖像、著作权、商标权和其他知识产权。
  • 恶意攻击、辱骂、骚扰、威胁、歧视其他用户或任何第三方。
  • 发布垃圾广告、恶意推广、刷屏、灌水,或与讨论主题明显无关的重复内容。
  • 利用本站进行网络诈骗、钓鱼、传播恶意软件,或发布可能危害网络和信息安全的内容。
  • 绕越或试图绕越本站的审核、限流、封禁等管理措施。
  • 冒充他人、伪造身份,或收集、公开他人的个人信息。

内容与访问管理#

你应对自己发布的评论和留言负责,并保证拥有发布该等内容所需的合法权利。论坛管理员有权在不另行通知的情况下删除违规内容、限制或封禁违规账号,或限制其继续使用本站互动功能。

如发现涉嫌违法犯罪、严重侵权或危及本站安全的内容,本站可保留相关记录,并在法律法规要求或必要时向有关部门提供协助。对管理措施有疑问时,可通过文末联系方式说明情况;本站会结合实际情况处理,但不承诺恢复已删除内容或访问权限。

知识产权与内容授权#

本站原创文章、页面设计和其他受保护内容的权利归作者或权利人所有。未经授权,请勿复制、转载、镜像或用于商业用途;法律法规允许的合理使用除外。

你发布评论或留言时,授予本站为展示、存储、备份、审核、删除和维护互动功能所必需的非独占、免费的使用许可。该许可不改变你对原创内容依法享有的权利。

免责声明#

本站内容仅用于个人记录、学习交流和一般信息参考,不构成任何专业意见、承诺或担保。你应结合自身情况独立判断,并对据此采取的行动负责。

评论、留言和外部链接中的内容由其发布者或运营者负责,不代表本站立场。本站会在合理范围内处理明显违规内容,但不保证所有内容均及时发现,也不对第三方网站的可用性、内容、安全性或隐私实践承担责任。

因网络故障、不可抗力、第三方服务异常、维护升级或超出合理控制范围的原因导致本站暂时无法访问、内容延迟或数据丢失的,本站会尽力恢复,但不承担由此产生的间接损失。

未成年人条款#

未满 14 周岁的未成年人应在监护人同意和指导下使用评论、留言等互动功能。监护人应协助未成年人理解本协议,并对其使用行为进行必要的引导。

其他条款#

我可以根据本站功能、管理需要或法律法规变化更新本协议,更新后的版本将在本站公布并标明日期。继续使用本站即视为接受更新后的协议。

本协议的订立、执行和解释适用中华人民共和国法律。因本协议或使用本站产生争议时,双方应先友好协商;协商不成的,依法向有管辖权的人民法院解决。

如对本协议或内容管理有疑问,请联系 xz011@qq.com。