自我修复的家庭服务器和基础设施管理
运行家庭服务器意味着您需要 24/7 为自己的基础设施待命。服务在凌晨 3 点宕机、证书悄然过期、磁盘满载、Pod 崩溃循环——而您正在睡觉或不在家。
此用例将 OpenClaw 变成一个具有 SSH 访问权限、自动化 cron 作业和检测、诊断和修复问题能力的基础设施 agent,甚至在您知道有问题之前就能发现。
痛点
家庭实验室运营商和自托管者面临持续的维护负担:
- 健康检查、日志监控和告警需要手动设置和关注
- 当东西坏了时,您必须 SSH 进入、诊断和修复——通常是从手机上
- 基础设施即代码(Terraform、Ansible、Kubernetes 清单)需要定期更新
- 关于您设置的知识存在于您脑海中,而不是可搜索的文档中
- 日常任务(邮件分类、部署检查、安全审计)每周花费数小时
功能
- 自动化健康监控:基于 cron 的服务、部署和系统资源检查
- 自我修复:通过健康检查检测问题并自主应用修复(重启 Pod、扩展资源、修复配置)
- 基础设施管理:编写和应用 Terraform、Ansible 和 Kubernetes 清单
- 早间简报:每日系统健康、日历、天气和任务板状态摘要
- 邮件分类:扫描收件箱,为可操作项目加标签,存档噪音
- 知识提取:将笔记和对话导出处理成结构化、可搜索的知识库
- 博客发布管道:草稿 → 生成横幅 → 发布到 CMS → 部署到托管——全自动化
- 安全审计:定期扫描硬编码密钥、特权容器和过于宽松的访问
所需技能
ssh访问家庭网络机器kubectl用于 Kubernetes 集群管理terraform和ansible用于基础设施即代码1passwordCLI 用于密钥管理gogCLI 用于邮件访问- 日历 API 访问
- Obsidian 保险库或笔记目录(用于知识库)
openclaw doctor用于自我诊断
设置方法
1. 核心 Agent 配置
在 AGENTS.md 中命名您的 agent 并定义其访问范围:
text
## 基础设施 Agent
您是 Reef,一个基础设施管理 agent。
访问权限:
- SSH 到家庭网络(192.168.1.0/24)上的所有机器
- kubectl 用于 K3s 集群
- 1Password 保险库(只读访问凭证,专用 AI 保险库)
- 通过 gog CLI 访问 Gmail
- 日历(您的 + 伴侣的)
- ~/Documents/Obsidian/ 处的 Obsidian 保险库
规则:
- 切勿硬编码密钥——始终使用 1Password CLI 或环境变量
- 切勿直接推送到 main——始终创建 PR
- 将 `openclaw doctor` 作为自我健康检查的一部分
- 将所有基础设施更改记录到 ~/logs/infra-changes.md2. 自动化 Cron 作业系统
此设置的力量是计划作业系统。在 HEARTBEAT.md 中配置:
text
## Cron 计划
每 15 分钟:
- 检查 Kanban 板上进行中的任务 → 继续工作
每小时:
- 监控健康检查(Gatus、ArgoCD、服务端点)
- 分类 Gmail(为可操作项目加标签,存档噪音)
- 检查未答应的告警或通知
每 6 小时:
- 知识库数据录入(处理新 Obsidian 笔记)
- 自我健康检查(openclaw doctor、磁盘使用、内存、日志)
每 12 小时:
- 代码质量和文档审计
- 通过 Loki/监控堆栈进行日志分析
每天:
- 凌晨 4:00:夜间头脑风暴(探索笔记之间的联系)
- 早上 8:00:早间简报(天气、日历、系统统计、任务板)
- 凌晨 1:00:速度评估(流程改进)
每周:
- 知识库 QA 审查
- 基础设施安全审计3. 安全设置(关键)
这至关重要。在赋予您的 agent SSH 访问权限之前:
text
## 安全检查清单
1. 预推送钩子:
- 在所有仓库上安装 TruffleHog 或类似的密钥扫描器
- 阻止任何包含硬编码 API 密钥、token 或密码的提交
2. 本地优先 Git 工作流:
- 在推送到公共 GitHub 之前,使用 Gitea(自托管)存放私有代码
- CI 扫描管道(Woodpecker 或类似)在任何公共推送之前运行
- 主分支合并需要人工审查
3. 纵深防御:
- 为 AI agent 使用专用 1Password 保险库(有限范围)
- 敏感服务的网络分段
- 每日自动安全审计检查:
* 特权容器
* 代码或配置中的硬编码密钥
* 过于宽松的文件/网络访问
* 部署镜像中的已知漏洞
4. Agent 约束:
- 分支保护:PR 需要推送到 main,agent 无法覆盖
- 在不需要写入的地方使用只读访问
- 所有更改通过 git 记录且可审计4. 早间简报模板
text
## 每日简报格式
在早上 8:00 生成并发送:
### 天气
- 您所在位置的当前条件和预报
### 日历
- 您今天的事件
- 伴侣今天的事件
- 标记冲突或重叠
### 系统健康
- 所有机器的 CPU / RAM / 存储
- 服务:运行/停止状态
- 最近部署(ArgoCD)
- 过去 24 小时内的任何告警
### 任务板
- 昨天完成的卡片
- 进行中的卡片
- 需要关注的受阻项目
### 高光时刻
- 夜间头脑风暴中的值得注意的项目
- 需要采取行动的邮件
- 本周即将到来的截止日期关键见解
- "我不敢相信我有一个自我修复的服务器了":agent 可以运行 SSH、Terraform、Ansible 和 kubectl 命令来修复基础设施问题,甚至在您知道有问题之前
- AI 会硬编码密钥:这是 #1 安全风险。如果您不强制执行防护措施,agent 会很乐意将 API 密钥内联到代码中。预推送钩子和密钥扫描是必须的
- 本地优先 Git 至关重要:切勿让 agent 直接推送到公共仓库。使用私有 Gitea 实例作为暂存区域,带有 CI 扫描
- Cron 作业是真正的产品:计划的自动化(健康检查、邮件分类、简报)比临时命令提供更多每日价值
- 知识提取会积累:将笔记、对话导出和邮件处理成结构化知识库会随着时间变得更有价值——一位用户仅从他们的 ChatGPT 历史中提取了 49,079 个原子事实
灵感来源
此用例基于 Nathan 的详细文章 "Everything I've Done with OpenClaw (So Far)",他描述了他的 OpenClaw agent "Reef" 在家庭服务器上运行,具有 SSH 访问所有机器的权限、Kubernetes 集群、1Password 集成,以及包含 5,000+ 笔记的 Obsidian 保险库。Reef 运行 15 个活动的 cron 作业、24 个自定义脚本,并自主构建和部署了包括任务管理 UI 在内的应用程序。Nathan 在第 1 天 API 密钥泄露后的来之不易的教训:"AI 助手会愉快地硬编码密钥。它们有时没有人类相同的本能。" 他的纵深防御安全设置(TruffleHog 预推送钩子、本地 Gitea、CI 扫描、每日审计)是任何尝试此模式的人的必读内容。
也在 OpenClaw Showcase 上被引用,其中 @georgedagg_ 描述了一个类似的模式:部署监控、日志审查、配置修复和 PR 提交——都在遛狗时完成。