EudOnline/openclaw-watchdog

GitHub: EudOnline/openclaw-watchdog

一款面向生产环境的 OpenClaw 网关外部监控与自动恢复工具套件,通过分层健康检查、保守修复策略和事件追溯机制保障服务高可用。

Stars: 0 | Forks: 0

# OpenClaw Watchdog [![发布](https://img.shields.io/github/v/release/EudOnline/openclaw-watchdog?display_name=tag)](https://github.com/EudOnline/openclaw-watchdog/releases/tag/v0.1.0) [![许可证: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Python 3.11+](https://img.shields.io/badge/Python-3.11%2B-blue.svg)](pyproject.toml) 一个面向生产环境的 OpenClaw 外部监控与恢复工具套件。 ## 概要 (TL;DR) OpenClaw Watchdog 旨在帮助运维人员安全、快速地恢复可用的 OpenClaw 对话路径。 它结合了: - 跨进程、服务和对话就绪状态的健康检查 - 保守的恢复和面向回滚的工作流 - 面向运维人员的事件、报告和指标输出 - 源码优先部署,附带 `systemd --user` 示例单元 - 演练场景,用于在依赖实时主机上的更改之前进行验证 ## 快速链接 - [发行说明](https://github.com/EudOnline/openclaw-watchdog/releases/tag/v0.1.0) - [文档索引](docs/README.md) - [兼容性与弃用](docs/compatibility-and-deprecations.md) - [路线图](docs/roadmap.md) - [常见问题 (FAQ)](docs/faq.md) - [演练指南](rehearsal/README.md) ## 亮点 - 用于 OpenClaw 网关健康检查和补救的 **外部监控循环** - **分层健康模型**:进程、服务探测和对话就绪状态 - **事件工作流**:包含排队、所有权、确认、备注和时间线 - 用于回滚、偏差检测和修复排序的 **安全防护** - 用于 OpenClaw、Codex 和 OpenCode 切换流程的 **引导 / 回退辅助** - 用于测试预期故障和恢复路径的 **演练场景** - 用于在 Linux 上执行无人值守定时任务的 **Systemd 用户单元** ## 状态 本仓库是 **OpenClaw Watchdog** 独立的公开主页。 面向公众的接口现已在整个仓库中使用非 `v2` 名称。内部 Python 包名称仍保留为 `watchdog_v2`,以维护实现的稳定性,并避免在导入、演练工具和历史记录中造成不必要的变动。 ## 仓库结构 ``` watchdog_v2/ Python implementation scripts/ CLI wrappers and install helpers systemd/ sample user service + timer units docs/ current guides, validation docs, and historical notes config/ sanitized example env files rehearsal/ fixtures, shims, scenarios, and test flows ``` ## 需求 - Python 3.11+ - 目标机器上已安装 OpenClaw - 如果需要使用提供的定时器单元,需要带有 `systemd --user` 的 Linux - 监控或演练流程所使用的标准主机工具(取决于启用的功能): - `systemctl` - `ss` - `ps` - `journalctl` ## 安装 ### 选项 1:从克隆的仓库运行 ``` git clone https://github.com/EudOnline/openclaw-watchdog ~/openclaw-watchdog cd ~/openclaw-watchdog cp config/openclaw-watchdog.env.example config/openclaw-watchdog.env chmod +x scripts/openclaw-watchdog scripts/install-openclaw-watchdog-units.sh ``` 快速完整性检查: ``` scripts/openclaw-watchdog --help scripts/openclaw-watchdog check --env config/openclaw-watchdog.env ``` ### 选项 2:Python 模块入口点 如果您是基于源码检出版本进行操作,也可以直接调用该包: ``` python3 -m watchdog_v2 --help ``` ## 配置 从这里开始: - `config/openclaw-watchdog.env.example` 重要的配置项包括: - OpenClaw 配置路径和网关服务名称 - watchdog 状态 / 事件目录 - 重启和探测宽限期 - 服务级故障阈值 - 通知目标 / 渠道 - 备份 / 回滚行为 - Codex / OpenCode 回退设置 示例配置已经过有意清理。您必须设置适合您自己主机的值。 ## 常用命令 ``` # 一次 remediation pass scripts/openclaw-watchdog run-once # 不带 remediation 的健康检查 scripts/openclaw-watchdog check # 人工状态摘要 scripts/openclaw-watchdog status --summary # compact operator 报告 scripts/openclaw-watchdog report # 检查 incident 队列 scripts/openclaw-watchdog incidents queue # 显示单个 incident scripts/openclaw-watchdog incidents show # 启用维护模式 scripts/openclaw-watchdog maintenance on --reason "planned maintenance" ``` ## 安装 systemd 用户单元 示例单元假设仓库位于 `~/openclaw-watchdog`。 ``` git clone https://github.com/EudOnline/openclaw-watchdog ~/openclaw-watchdog cd ~/openclaw-watchdog cp config/openclaw-watchdog.env.example config/openclaw-watchdog.env scripts/install-openclaw-watchdog-units.sh systemctl --user enable --now openclaw-watchdog.timer ``` 检查状态: ``` systemctl --user status openclaw-watchdog.timer systemctl --user status openclaw-watchdog.service ``` ## 演练与验证 本仓库包含一个演练工具,用于在不使用实时生产网关的情况下验证流程。 从这里开始: - `docs/README.md` - `rehearsal/README.md` - `docs/live-acceptance-checklist.md` - `docs/live-samples.md` - `docs/compatibility-and-deprecations.md` - `docs/roadmap.md` - `docs/faq.md` - `docs/history/MIGRATION-v2.md`(历史迁移说明) ## 设计说明 该 watchdog 基于以下原则设计: 1. **仅在收集证据后进行修复** 2. **优先选择可逆的更改** 3. **将进程健康与实际可用性分开** 4. **保留对运维人员可见的事件轨迹** 5. **支持分阶段自动化,而非盲目重启循环** ## 兼容性说明 - 规范的 CLI 包装器:`scripts/openclaw-watchdog` - 规范的环境示例:`config/openclaw-watchdog.env.example` - 规范的 systemd 单元:`systemd/openclaw-watchdog.service` 和 `systemd/openclaw-watchdog.timer` - 内部 Python 包名称仍为 `watchdog_v2` 以保证实现稳定性 - 仅保留了已弃用的兼容性垫片 (shims) 用于迁移: - `scripts/openclaw-watchdog-v2` - `scripts/install-openclaw-watchdog-v2-units.sh` - `scripts/openclaw-watchdog-v2-live-acceptance.sh` - 历史迁移说明保留在 `docs/history/MIGRATION-v2.md` 中 - 另请参阅:[docs/compatibility-and-deprecations.md](docs/compatibility-and-deprecations.md) ## 安全 请**不要**发布实时的 `.env` 文件、事件包或特定于主机的状态转储。有关报告指南和仓库维护说明,请参阅 [SECURITY.md](SECURITY.md)。 ## 贡献 欢迎贡献、错误报告和清理 PR。请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 许可证 本项目根据 MIT 许可证授权。请参阅 [LICENSE](LICENSE)。
标签:OpenClaw, Python, Systemd, 事件管理, 健康检查, 异常检测, 故障修复, 无后门, 服务探针, 灾难恢复, 生产环境, 看门狗, 系统恢复, 网关守护, 自动回滚, 运维工具包, 运维自动化, 高可用性