当 AI Agent 接手博客运维:从零信任到自动化发布的完整实战
前言
把个人博客的运维工作交给 AI Agent,听起来像科幻情节,但今天它真实发生了。
整个过程从一次简单的 SSH 连接测试开始,逐步梳理出服务器上的完整站点架构,最终形成一套可复现的自动化发布手册,并以这篇文章本身作为首篇实战检验。以下记录全流程,供同样想尝试「AI 运维托管」的开发者参考。
安全声明:本文已对所有敏感信息(服务器 IP、密钥指纹、内部路径细节等)做脱敏处理,仅保留方法论层面的参考价值。
一、运维交接的第一步:建立安全连接
任何远程运维的前提是可控的访问通道。在正式操作前,需要完成三件事:
1.1 验证 SSH 连通性
通过本地 ~/.ssh/config 中预配置的主机别名,测试与云服务器的连通性。关键检查项:
- 密钥认证是否正常(
RSA 4096密钥对) known_hosts指纹是否匹配- 防火墙是否放行 TCP 22 端口(云厂商控制台 + 本地 ufw 双重确认)
1.2 摸清站点家底
连通后立即执行架构普查,绘制出完整的站点地图:
| 路径 | 服务 | 技术栈 |
|---|---|---|
/ |
主站首页 | 静态 HTML |
/blog/ |
技术博客 | Hexo + Butterfly 5.5.4 |
/new/ |
新版博客 | Next.js(本地 {REDACTED_PORT}) |
/stats-api/ |
统计 API | 本地 {REDACTED_PORT} |
/beta/ |
测试页 | 静态 HTML |
/store/ |
Store 子站 | 静态 HTML |
Nginx 作为统一入口,负责路由分发、SSL 终结和静态资源缓存。SSL 证书由 Let’s Encrypt 托管,配合 certbot 自动续期。
1.3 读取既有运维知识
服务器上部署了一套 OpenClaw 自动化工作流,其中包含两个关键 Skill:
blog-post-publish:博客发布全流程(Front Matter → JSON-LD → 内链 → 构建 → 验证 → Git)podcast-voice-skill:TTS 语音合成 + 真人化后处理
这两个 Skill 构成了博客发布的知识基线,新 Agent 必须完全兼容其规范。
二、制定标准化运维手册
接手不是简单的「能连上就行」,而是要建立可交接、可审计、可回滚的标准流程。
2.1 手册设计原则
在编写 BLOG-OPS.md 时,遵循三个原则:
- 单文件自治:所有信息(发布流程、监控命令、故障处理)浓缩在一个文件,不依赖外部上下文
- 检查清单驱动:每一步都有明确的 Checklist,Agent 执行时可逐项勾选
- 陷阱前置:把已知踩坑点(如 Hexo 文件名日期前缀问题、内链 URL 前缀问题)放在最显眼位置
2.2 发布流程八步法
基于 OpenClaw 的 blog-post-publish Skill,进一步细化为可落地的 SOP:
1 | 文件名规范 → Front Matter 注入 → JSON-LD 结构化数据 |
其中步骤 2 和 3是 SEO/GEO 的核心战场:
- Front Matter 必须包含
title、description、keywords、slug、tags、categories,且description控制在 120–160 字 - JSON-LD 必须同时注入
BlogPosting和BreadcrumbList两个 graph,使用|块标量避免 YAML 转义破坏 JSON 结构
2.3 数据脱敏规范
由于手册需要纳入版本控制并可能被公开查阅,所有敏感字段统一脱敏:
| 敏感项 | 处理方式 |
|---|---|
| 服务器公网 IP | 替换为 x.x.x.x 或描述性占位符 |
| SSH 密钥指纹 | 完全移除,仅保留轮换指引 |
| 内部 API 密钥 | 绝不写入文档,通过环境变量注入 |
| 真实用户名 | 用通用角色名替代 |
三、实战检验:发布本文
手册写完后,最好的验证方式就是用它来发布自己。
3.1 文章准备
- Slug:
ai-agent-takes-over-blog-operations(纯英文,无日期前缀) - 分类:
自动化运营 - 标签:
AI Agent、自动化运营、SEO/运维 - 关键词:围绕「AI Agent、博客运维、Hexo 自动化、JSON-LD、GEO 优化」展开
3.2 结构化数据注入
JSON-LD 中的 BlogPosting 包含以下关键字段:
@id和url严格使用https://liclaw.site/blog/前缀datePublished采用 ISO 8601 ++08:00时区格式keywords为 JSON 数组,非逗号分隔字符串speakable配置使文章支持语音朗读场景
3.3 内链策略
在文章末尾关联 3 篇主题相近的历史文章:
- SEO/GEO 升级实录:同属站点优化主题,展示从 SEO 到 GEO 的演进
- Vibe Coding 编排:同属 AI Agent 工程实践,展示 Agent 工作流方法论
- OpenClaw 零成本指南:同属工具链生态,展示底层基础设施
所有内链 URL 严格遵循 /blog/YYYY/MM/DD/slug/ 格式,以 /blog/ 开头。
3.4 构建与验证
执行 hexo generate 后,逐项验证:
- 文件存在性:
public/2026/05/19/ai-agent-takes-over-blog-operations/index.html - JSON-LD 输出:
curl抓取页面,确认BlogPosting和BreadcrumbList数量正确 - Meta 标签:
description和keywords与 Front Matter 一致 - 内链可访问:每条内链返回 200,无 404
- llms.txt 更新:新文章条目已追加到
source/llms.txt和source/llms-full.txt
3.5 Git 归档
最终提交信息遵循规范:
1 | git add -A |
四、交付物与经验总结
4.1 本次交付物
| 交付物 | 说明 |
|---|---|
BLOG-OPS.md |
博客与站点运维操作手册(发布流程 + 监控命令 + 故障处理) |
更新后的 AGENTS.md |
将博客运维能力纳入 AI 上下文 |
| 本文 | 首篇由新 Agent 按手册完整流程发布的文章 |
4.2 关键经验
- 先摸底,再动手:不急于发布,先完整扫描服务器架构和既有知识资产
- 手册即代码:运维手册应该像代码一样有版本、有检查清单、有已知 Bug 列表
- 用实战验证流程:首篇文章就是流程的验收测试,所有检查项必须逐项通过
- 脱敏是底线:任何可能进入版本控制或公开渠道的文档,默认做数据脱敏
五、常见问题
Q1: AI Agent 发布博客会不会出错?
通过「检查清单 + 自动化验证」双保险控制。发布前 14 项 SEO/GEO 检查清单逐项确认,构建后通过 curl 抓取页面做自动化断言,Agent 和人类一样需要测试。
Q2: 敏感信息如何防止泄露?
三层防护:① 文档层脱敏(IP、指纹替换为占位符);② 配置层隔离(密钥走环境变量,不入版本控制);③ 审查层兜底(发布前 Agent 自检敏感信息模式)。
Q3: 如果 Agent 操作失误怎么办?
所有操作基于 Git 版本控制,博客源码在 /var/www/liclaw.site/blog/ 下有完整 Git 历史,可随时 git revert。Nginx 配置也有备份文件(.bak.{timestamp})。
Q4: 未来可以扩展哪些自动化能力?
当前已实现「文章发布自动化」,下一步可扩展:① 定时扫描 SSL 证书有效期并预警;② 监控 Nginx 错误日志并自动分类;③ 基于访问数据生成月度博客运营报告。
相关文章
- SEO 到 GEO:一个技术博客的结构化数据升级实录 — 本文 JSON-LD 与 GEO 优化的前置基础,展示了从传统 SEO 到 AI 可发现性的完整升级路径
- Vibe Coding 编排实现:AI Agent 的六阶段开发执行手册 — 同属 AI Agent 工程实践,展示了需求澄清、蓝图规划、模块开发到交付的完整编排方法论
- OpenClaw 零成本实战指南:告别 Token 焦虑的正确姿势 — 本文底层工具链的基础设施指南,涵盖 OpenClaw 的零成本部署与 Skill 开发入门


