跳转至

自愈家庭服务器与基础设施管理

运行家庭服务器意味着 7x24 小时随叫随到。服务在凌晨 3 点宕机、证书静默过期、磁盘满了、pod 崩溃循环 —— 而你在睡觉或不在家。

这个用例将 OpenClaw 变成一个持久的基础设施智能体,拥有 SSH 访问权限、自动化定时任务,以及在你发现问题之前就检测、诊断和修复问题的能力。

痛点

家庭实验室运维者和自托管用户面临持续的维护负担:

  • 健康检查、日志监控和告警需要手动设置和关注
  • 当服务出问题时,你必须 SSH 进去、诊断和修复 —— 经常是用手机操作
  • 基础设施即代码(Terraform、Ansible、Kubernetes 清单)需要定期更新
  • 关于你配置的知识只存在于你的脑子里,而非可搜索的文档中
  • 日常任务(邮件分类、部署检查、安全审计)每周要花数小时

功能

  • 自动化健康监控:基于定时任务的服务、部署和系统资源检查
  • 自愈:通过健康检查检测问题并自主应用修复(重启 pod、扩展资源、修复配置)
  • 基础设施管理:编写和应用 Terraform、Ansible 和 Kubernetes 清单
  • 早间简报:系统健康、日历、天气和任务看板状态的每日摘要
  • 邮件分类:扫描收件箱,标记可执行项,归档噪音
  • 知识提取:将笔记和对话导出处理为结构化、可搜索的知识库
  • 博客发布流水线:草稿 → 生成横幅 → 发布到 CMS → 部署到托管 —— 全程自动化
  • 安全审计:定期扫描硬编码密钥、特权容器和过于宽松的访问权限

所需技能

  • ssh 访问家庭网络机器
  • kubectl 用于 Kubernetes 集群管理
  • terraformansible 用于基础设施即代码
  • 1password CLI 用于密钥管理
  • gog CLI 用于邮件访问
  • 日历 API 访问
  • Obsidian vault 或笔记目录(用于知识库)
  • openclaw doctor 用于自诊断

如何设置

1. 核心智能体配置

在 AGENTS.md 中命名你的智能体并定义其访问范围:

## 基础设施智能体

你是 Reef,一个基础设施管理智能体。

访问权限:
- SSH 到家庭网络所有机器(192.168.1.0/24)
- kubectl 用于 K3s 集群
- 1Password vault(只读,专用 AI vault)
- 通过 gog CLI 访问 Gmail
- 日历(你的 + 伴侣的)
- Obsidian vault 位于 ~/Documents/Obsidian/

规则:
- 永远不要硬编码密钥 —— 始终使用 1Password CLI 或环境变量
- 永远不要直接推送到 main —— 始终创建 PR
- 在自健康检查中运行 `openclaw doctor`
- 将所有基础设施更改记录到 ~/logs/infra-changes.md

2. 自动化定时任务系统

此设置的核心是计划任务系统。在 HEARTBEAT.md 中配置:

## 定时计划

每 15 分钟:
- 检查看板上进行中的任务 → 继续工作

每小时:
- 监控健康检查(Gatus、ArgoCD、服务端点)
- 分类 Gmail(标记可执行项,归档噪音)
- 检查未回复的告警或通知

每 6 小时:
- 知识库数据录入(处理新的 Obsidian 笔记)
- 自健康检查(openclaw doctor、磁盘使用、内存、日志)

每 12 小时:
- 代码质量和文档审计
- 通过 Loki/监控栈进行日志分析

每日:
- 凌晨 4:00:夜间头脑风暴(探索笔记之间的关联)
- 上午 8:00:早间简报(天气、日历、系统统计、任务看板)
- 凌晨 1:00:速度评估(流程改进)

每周:
- 知识库 QA 审查
- 基础设施安全审计

3. 安全设置(关键)

这是必须的。在给智能体 SSH 访问权限之前:

## 安全检查清单

1. pre-push 钩子:
   - 在所有仓库上安装 TruffleHog 或类似的密钥扫描器
   - 阻止任何包含硬编码 API 密钥、token 或密码的提交

2. 本地优先的 Git 工作流:
   - 使用 Gitea(自托管)存放私有代码,再推送到公共 GitHub
   - CI 扫描流水线在任何公共推送前运行
   - main 分支合并需要人工审查

3. 纵深防御:
   - 为 AI 智能体设置专用 1Password vault(有限范围)
   - 敏感服务的网络分段
   - 每日自动安全审计,检查:
     * 特权容器
     * 代码或配置中的硬编码密钥
     * 过于宽松的文件/网络访问
     * 已部署镜像中的已知漏洞

4. 智能体约束:
   - 分支保护:main 需要 PR,智能体不能覆盖
   - 不需要写权限的地方使用只读访问
   - 所有更改通过 git 记录和可审计

4. 早间简报模板

## 每日简报格式

在上午 8:00 生成并推送:

### 天气
- 你所在位置的当前天气和预报

### 日历
- 你今天的日程
- 伴侣今天的日程
- 标记冲突或重叠

### 系统健康
- 所有机器的 CPU / 内存 / 存储
- 服务:运行/停止状态
- 最近的部署(ArgoCD)
- 过去 24 小时的告警

### 任务看板
- 昨天完成的卡片
- 进行中的卡片
- 需要关注的阻塞项

### 亮点
- 夜间头脑风暴的值得关注的发现
- 需要操作的邮件
- 本周即将到来的截止日期

关键洞察

  • "我不敢相信我现在有了自愈服务器":智能体可以运行 SSH、Terraform、Ansible 和 kubectl 命令,在你发现问题之前就修复基础设施问题
  • AI 会硬编码密钥:这是头号安全风险。如果你不设置安全门控,智能体会愉快地把 API 密钥直接写在代码里。pre-push 钩子和密钥扫描是必须的
  • 本地优先的 Git 至关重要:永远不要让智能体直接推送到公共仓库。使用私有 Gitea 实例作为带 CI 扫描的暂存区
  • 定时任务才是真正的产品:计划自动化(健康检查、邮件分类、简报)比临时命令提供更多日常价值
  • 知识提取会复利:将笔记、对话导出和邮件处理为结构化知识库随着时间推移越来越有价值

相关链接