From 9eff854264a887e69d000969d1b88bafcb5c8e38 Mon Sep 17 00:00:00 2001 From: DuanZ Date: Sun, 8 Mar 2026 10:51:20 +0800 Subject: [PATCH 1/6] =?UTF-8?q?refactor:=20=E9=87=8D=E5=91=BD=E5=90=8D?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=B8=BA=20oopsclaw?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 40 +++++++++++++++------------------------- install.sh | 8 ++++---- 2 files changed, 19 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 0bd5790..b856450 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,20 @@ -<<<<<<< HEAD -# OppsClaw - OpenClaw 智能守护者 +# oopsclaw - OpenClaw 智能守护者 > 🤖 AI 驱动的 OpenClaw 故障自动修复与自主进化系统 -[![GitHub](https://img.shields.io/badge/GitHub-OppsClaw-green)](https://github.com/DuanZGit/OppsClaw) -[![版本](https://img.shields.io/badge/版本-v1.0.0-blue)](https://github.com/DuanZGit/OppsClaw) +[![GitHub](https://img.shields.io/badge/GitHub-oopsclaw-green)](https://github.com/DuanZGit/oopsclaw) +[![版本](https://img.shields.io/badge/版本-v1.0.0-blue)](https://github.com/DuanZGit/oopsclaw) [![许可证](https://img.shields.io/badge/许可证-MIT-green)](LICENSE) ## 🌟 名字由来 -**OppsClaw** = **Oops** + **OpenClaw** + **Ops** +**oopsclaw** = **Oops** + **OpenClaw** + **Ops** -- **Oops**: 当 OpenClaw 又双叒叕不小心把自己折腾坏的时候,OppsClaw 来救场!😄 +- **Oops**: 当 OpenClaw 又双叒叕不小心把自己折腾坏的时候,oopsclaw 来救场!😄 - **Ops**: 谐音运维 (Operations),寓意自动化运维守护者 - **Claw**: 继承 OpenClaw 的"蟹钳"精神,牢牢抓住所有故障! -> "Oops! OpenClaw 又坏了?" —— "别怕,我有 OppsClaw!" +> "Oops! OpenClaw 又坏了?" —— "别怕,我有 oopsclaw!" ## ✨ 特性 @@ -36,12 +35,10 @@ - **知识积累**: 故障指纹库 + 历史经验,持续学习优化 - **自主进化**: 评估修复效果,自动优化 Agent Prompt - **多渠道通知**: 支持飞书等渠道实时推送告警 ->>>>>>> 1815a9334ba873e54be1535c8b1d8efff14b4a03 ## 🏗️ 架构 ``` -<<<<<<< HEAD ┌─────────────────────────────────────────────────────────────┐ │ 故障检测层 │ │ systemd OnFailure (Gateway 故障时触发) │ @@ -74,17 +71,17 @@ ```bash # 完整安装 -bash -c "$(curl -fsSL https://raw.githubusercontent.com/DuanZGit/OppsClaw/main/install.sh)" +bash -c "$(curl -fsSL https://raw.githubusercontent.com/DuanZGit/oopsclaw/main/install.sh)" ``` 或手动安装: ```bash # 1. 克隆项目 -git clone https://github.com/DuanZGit/OppsClaw.git ~/.OppsClaw +git clone https://github.com/DuanZGit/oopsclaw.git ~/.oopsclaw # 2. 运行安装脚本 -cd ~/.OppsClaw && bash install.sh +cd ~/.oopsclaw && bash install.sh ======= ┌─────────────────────────────────────────────────────────┐ │ 故障检测层 │ @@ -132,14 +129,12 @@ guardian/ ├── scores/ # 评分数据 ├── logs/ # 运行日志 └── openclaw-gateway.service # systemd 服务配置 ->>>>>>> 1815a9334ba873e54be1535c8b1d8efff14b4a03 ``` ## 🚀 快速开始 ### 前置要求 -<<<<<<< HEAD - [OpenClaw](https://github.com/openclaw) 已安装并运行 - [iFlow CLI](#iflow-安装) 已安装 - systemd 环境 @@ -148,10 +143,10 @@ guardian/ ```bash # 1. 克隆仓库 -git clone https://github.com/DuanZGit/OppsClaw.git ~/.OppsClaw +git clone https://github.com/DuanZGit/oopsclaw.git ~/.oopsclaw # 2. 运行安装脚本 -cd ~/.OppsClaw && bash install.sh +cd ~/.oopsclaw && bash install.sh ``` 安装脚本会自动: @@ -164,10 +159,10 @@ cd ~/.OppsClaw && bash install.sh ```bash # 手动运行守护者 -bash ~/.OppsClaw/guardian-event.sh +bash ~/.oopsclaw/guardian-event.sh # 手动运行进化优化 -bash ~/.OppsClaw/guardian-evolve.sh +bash ~/.oopsclaw/guardian-evolve.sh ``` ## 🔧 iFlow 介绍与安装 @@ -236,7 +231,7 @@ nano ~/.iflow/settings.json ## 📁 项目结构 ``` -OppsClaw/ +oopsclaw/ ├── install.sh # 一键安装脚本 ├── README.md # 本文档 ├── guardian-event.sh # 故障修复核心脚本 @@ -323,12 +318,10 @@ bash ~/.iflow/guardian/guardian-evolve.sh ```bash # 守护者事件日志 ->>>>>>> 1815a9334ba873e54be1535c8b1d8efff14b4a03 tail -f ~/.iflow/guardian/logs/guardian-event.log # 修复历史 cat ~/.iflow/guardian/logs/repair_history.log -<<<<<<< HEAD # 状态记录 cat ~/.iflow/monitor/knowledge/lessons_*.md @@ -388,20 +381,17 @@ iflow -p "你好" 3. **评估**: 记录修复结果和时间 4. **进化**: guardian-evolve-agent 评估并优化 5. **学习**: 更新知识库和 Prompt ->>>>>>> 1815a9334ba873e54be1535c8b1d8efff14b4a03 ## 📝 许可证 MIT License -<<<<<<< HEAD ## 🔗 相关链接 - [OpenClaw 官网](https://openclaw.ai) - [iFlow 官网](https://iflow.cn) -- [项目地址](https://github.com/DuanZGit/OppsClaw) +- [项目地址](https://github.com/DuanZGit/oopsclaw) ======= ## 👤 作者 OpenClaw/iFlow Community ->>>>>>> 1815a9334ba873e54be1535c8b1d8efff14b4a03 diff --git a/install.sh b/install.sh index f894146..90020c9 100644 --- a/install.sh +++ b/install.sh @@ -1,11 +1,11 @@ #!/bin/bash #============================================== -# OppsClaw 一键安装脚本 +# oopsclaw 一键安装脚本 #============================================== set -e -echo "🤖 OppsClaw 安装向导" +echo "🤖 oopsclaw 安装向导" echo "====================" # 颜色 @@ -126,7 +126,7 @@ main() { setup_services echo -e "\n${GREEN}======================================${NC}" - echo -e "${GREEN}🎉 OppsClaw 安装完成!${NC}" + echo -e "${GREEN}🎉 oopsclaw 安装完成!${NC}" echo -e "${GREEN}======================================${NC}" echo "" echo "📖 使用说明:" @@ -135,7 +135,7 @@ main() { echo " • 查看日志: tail -f ~/.iflow/guardian/logs/guardian-event.log" echo "" echo "📁 文件位置: ~/.iflow/guardian/" - echo "📚 文档: https://github.com/DuanZGit/OppsClaw" + echo "📚 文档: https://github.com/DuanZGit/oopsclaw" echo "" } From 146089a5e907c8fc6f67cee552e30f3f714c9b8a Mon Sep 17 00:00:00 2001 From: DuanZ Date: Sun, 8 Mar 2026 11:14:32 +0800 Subject: [PATCH 2/6] =?UTF-8?q?fix:=20=E6=B8=85=E7=90=86=20README=20?= =?UTF-8?q?=E5=86=B2=E7=AA=81=E6=A0=87=E8=AE=B0=EF=BC=8C=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 245 +----------------------------------------------------- 1 file changed, 1 insertion(+), 244 deletions(-) diff --git a/README.md b/README.md index b856450..49abea2 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,4 @@ -# oopsclaw - OpenClaw 智能守护者 - -> 🤖 AI 驱动的 OpenClaw 故障自动修复与自主进化系统 - -[![GitHub](https://img.shields.io/badge/GitHub-oopsclaw-green)](https://github.com/DuanZGit/oopsclaw) -[![版本](https://img.shields.io/badge/版本-v1.0.0-blue)](https://github.com/DuanZGit/oopsclaw) -[![许可证](https://img.shields.io/badge/许可证-MIT-green)](LICENSE) - -## 🌟 名字由来 - -**oopsclaw** = **Oops** + **OpenClaw** + **Ops** - -- **Oops**: 当 OpenClaw 又双叒叕不小心把自己折腾坏的时候,oopsclaw 来救场!😄 -- **Ops**: 谐音运维 (Operations),寓意自动化运维守护者 -- **Claw**: 继承 OpenClaw 的"蟹钳"精神,牢牢抓住所有故障! - -> "Oops! OpenClaw 又坏了?" —— "别怕,我有 oopsclaw!" - -## ✨ 特性 - -- **AI 故障修复** - LLM 自动诊断根因,执行修复命令 -- **自主进化** - 评估修复效果,优化 Agent Prompt -- **知识积累** - 故障指纹库 + 历史经验,持续学习 -- **OnFailure 触发** - systemd 故障自动触发修复 -- **多渠道通知** - 飞书等实时告警 -======= -# OpenClaw Guardian - 智能守护者系统 +# oopsclaw - 智能守护者系统 > OpenClaw/iFlow 的智能故障修复与自主进化系统 @@ -39,50 +13,6 @@ ## 🏗️ 架构 ``` -┌─────────────────────────────────────────────────────────────┐ -│ 故障检测层 │ -│ systemd OnFailure (Gateway 故障时触发) │ -└─────────────────────────┬───────────────────────────────────┘ - │ - ▼ -┌─────────────────────────────────────────────────────────────┐ -│ 守护者核心 (guardian-event.sh) │ -│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ -│ │ 故障诊断 │→ │ 根因分析 │→ │ 自动修复 │ │ -│ └─────────────┘ └─────────────┘ └─────────────┘ │ -└─────────────────────────┬───────────────────────────────────┘ - │ - ▼ -┌─────────────────────────────────────────────────────────────┐ -│ 知识库系统 │ -│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ -│ │ 故障指纹库 │ │ 经验文档 │ │ 评分数据 │ │ -│ └─────────────┘ └─────────────┘ └─────────────┘ │ -└─────────────────────────┬───────────────────────────────────┘ - │ - ▼ -┌─────────────────────────────────────────────────────────────┐ -│ 进化优化层 (guardian-evolve.sh) │ -│ 评估修复效果 → 优化 Prompt → 自我进化 │ -└─────────────────────────────────────────────────────────────┘ -``` - -## 📦 一键安装 - -```bash -# 完整安装 -bash -c "$(curl -fsSL https://raw.githubusercontent.com/DuanZGit/oopsclaw/main/install.sh)" -``` - -或手动安装: - -```bash -# 1. 克隆项目 -git clone https://github.com/DuanZGit/oopsclaw.git ~/.oopsclaw - -# 2. 运行安装脚本 -cd ~/.oopsclaw && bash install.sh -======= ┌─────────────────────────────────────────────────────────┐ │ 故障检测层 │ │ systemd OnFailure / timer / cron │ @@ -135,141 +65,6 @@ guardian/ ### 前置要求 -- [OpenClaw](https://github.com/openclaw) 已安装并运行 -- [iFlow CLI](#iflow-安装) 已安装 -- systemd 环境 - -### 安装步骤 - -```bash -# 1. 克隆仓库 -git clone https://github.com/DuanZGit/oopsclaw.git ~/.oopsclaw - -# 2. 运行安装脚本 -cd ~/.oopsclaw && bash install.sh -``` - -安装脚本会自动: -- ✅ 创建目录结构 -- ✅ 复制脚本文件 -- ✅ 配置 systemd 服务 -- ✅ 启用 OnFailure 触发机制 - -### 手动运行 - -```bash -# 手动运行守护者 -bash ~/.oopsclaw/guardian-event.sh - -# 手动运行进化优化 -bash ~/.oopsclaw/guardian-evolve.sh -``` - -## 🔧 iFlow 介绍与安装 - -### 什么是 iFlow? - -iFlow (心流 CLI) 是一个 AI 辅助编程 CLI 工具,支持: -- 多 Agent 协作 -- 代码编写、调试、修改 -- 项目探索与理解 -- Shell 命令执行 -- Web 搜索与信息查询 - -### iFlow 安装 - -```bash -# 方法1: npm 全局安装 -npm install -g @iflow/cli - -# 方法2: pnpm 全局安装 -pnpm add -g @iflow/cli - -# 方法3: bun 全局安装 -bun add -g @iflow/cli - -# 验证安装 -iflow --version -``` - -### iFlow 配置 - -首次运行会引导配置: - -```bash -iflow -``` - -或手动配置 API Key: - -```bash -# 编辑配置 -nano ~/.iflow/settings.json -``` - -配置示例: - -```json -{ - "apiKey": "your-api-key", - "baseUrl": "https://apis.iflow.cn/v1", - "modelName": "minimax-m2.5" -} -``` - -## 🤖 Agent Prompt - -项目使用以下 Agent: - -| Agent | 用途 | -|-------|------| -| `guardian` | 故障诊断、自动修复 | -| `guardian-evolve` | 评估优化、自主进化 | - -详细 Prompt 位于 `~/.iflow/agents/` - -## 📁 项目结构 - -``` -oopsclaw/ -├── install.sh # 一键安装脚本 -├── README.md # 本文档 -├── guardian-event.sh # 故障修复核心脚本 -├── guardian-evolve.sh # 进化优化脚本 -├── ai-evolve.sh # AI 进化脚本 -├── knowledge/ # 知识库 -│ ├── base/ # 故障指纹库 -│ └── learned/ # 历史经验 -├── openclaw-gateway.service # systemd 服务 -└── iflow-guardian-event.service # 故障修复服务 -``` - -## 📊 核心功能 - -### 故障检测层 (OnFailure) - -- **触发条件**: Gateway 服务失败时自动触发 -- **配置方式**: systemd OnFailure 指令 -- **无需轮询**: 事件驱动,资源占用低 - -### 守护者核心 - -- **事件驱动修复**: OnFailure 故障时自动触发 -- **AI 诊断**: 分析日志,推理根因 -- **自动修复**: 执行 CLI 命令修复 -- **知识更新**: 记录故障模式到知识库 - -### 进化优化 - -- **效果评估**: 评分修复成功率和效率 -- **Prompt 优化**: 自动改进 Agent -- **知识改进**: 优化知识库结构 - -## 🔍 查看日志 - -```bash -# 守护者日志 -======= - OpenClaw 已安装并配置 - iFlow CLI 已安装 - systemd 环境 @@ -322,38 +117,6 @@ tail -f ~/.iflow/guardian/logs/guardian-event.log # 修复历史 cat ~/.iflow/guardian/logs/repair_history.log - -# 状态记录 -cat ~/.iflow/monitor/knowledge/lessons_*.md -``` - -## ⚠️ 故障排查 - -### 守护者未触发 - -```bash -# 检查 systemd 服务状态 -systemctl --user status openclaw-gateway.service - -# 检查 OnFailure 配置 -cat ~/.config/systemd/user/openclaw-gateway.service -``` - -### iFlow 调用失败 - -```bash -# 检查 iFlow 是否安装 -iflow --version - -# 测试 iFlow -iflow -p "你好" -``` - -## 📝 制作人 - -- **第一人**: [DuanZ](https://github.com/DuanZGit) - 主要开发与维护 -- **第二人**: [iFlow](https://github.com/iflow-ai) - AI 能力支持 -======= ``` ## 🤖 Agent Prompt @@ -386,12 +149,6 @@ iflow -p "你好" MIT License -## 🔗 相关链接 - -- [OpenClaw 官网](https://openclaw.ai) -- [iFlow 官网](https://iflow.cn) -- [项目地址](https://github.com/DuanZGit/oopsclaw) -======= ## 👤 作者 OpenClaw/iFlow Community From a479f62f986b4e3f809f13f94a2f54ae94d1a183 Mon Sep 17 00:00:00 2001 From: DuanZ Date: Sun, 8 Mar 2026 19:03:02 +0800 Subject: [PATCH 3/6] =?UTF-8?q?fix:=20=E6=9B=B4=E6=96=B0=E4=BD=9C=E8=80=85?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=B8=BA=20DuanZ=20&=20iFlow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 49abea2..5aec126 100644 --- a/README.md +++ b/README.md @@ -151,4 +151,4 @@ MIT License ## 👤 作者 -OpenClaw/iFlow Community +DuanZ & iFlow Community From 3ad35fe3e5d50660437327fbfd80434ad1d348e1 Mon Sep 17 00:00:00 2001 From: DuanZ Date: Wed, 11 Mar 2026 17:18:28 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20README=20=E5=92=8C?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E9=85=8D=E7=BD=AE=EF=BC=8C=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E6=8C=87=E5=90=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 103 +++++++++++++++++++-------------------- guardian-event.service | 12 +++++ openclaw-gateway.service | 4 ++ 3 files changed, 66 insertions(+), 53 deletions(-) create mode 100644 guardian-event.service diff --git a/README.md b/README.md index 5aec126..e64dde6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# oopsclaw - 智能守护者系统 +# OopsClaw - OpenClaw 智能守护者 -> OpenClaw/iFlow 的智能故障修复与自主进化系统 +> OpenClaw/iFlow 的自动故障修复与自主进化系统 ## 🌟 特性 @@ -8,57 +8,57 @@ - **AI 驱动**: 使用 LLM 分析日志、推理根因、执行修复 - **知识积累**: 故障指纹库 + 历史经验,持续学习优化 - **自主进化**: 评估修复效果,自动优化 Agent Prompt -- **多渠道通知**: 支持飞书等渠道实时推送告警 +- **多渠道通知**: 飞书实时推送告警 ## 🏗️ 架构 ``` ┌─────────────────────────────────────────────────────────┐ │ 故障检测层 │ -│ systemd OnFailure / timer / cron │ +│ systemd OnFailure (Gateway 故障时触发) │ └─────────────────┬───────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ -│ 守护者核心 (guardian-event.sh) │ -│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ -│ │ 故障诊断 │→ │ 根因分析 │→ │ 自动修复 │ │ -│ └─────────────┘ └─────────────┘ └─────────────┘ │ +│ 守护者核心 (guardian-event.sh) │ +│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ +│ │ 故障诊断 │→ │ 根因分析 │→ │ 自动修复 │ │ +│ └─────────────┘ └─────────────┘ └─────────────┘ │ └─────────────────┬───────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ 知识库系统 │ -│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ -│ │ 故障指纹库 │ │ 经验文档 │ │ 评分数据 │ │ -│ └─────────────┘ └─────────────┘ └─────────────┘ │ +│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ +│ │ 故障指纹库 │ │ 经验文档 │ │ 评分数据 │ │ +│ └─────────────┘ └─────────────┘ └─────────────┘ │ └─────────────────┬───────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ -│ 进化优化层 (guardian-evolve.sh) │ -│ 评估修复效果 → 优化 Prompt → 自我进化 │ +│ 进化优化层 (guardian-evolve.sh) │ +│ 评估修复效果 → 优化 Prompt → 自我进化 │ └─────────────────────────────────────────────────────────┘ ``` ## 📁 目录结构 ``` -guardian/ +.oopsclaw/ ├── guardian-event.sh # 事件驱动修复脚本 (核心) -├── guardian-evolve.sh # 自主进化优化脚本 +├── guardian-evolve.sh # 自主进化优化脚本 ├── monitor.sh # 定时监控脚本 ├── ai-evolve.sh # AI 进化脚本 -├── knowledge/ # 知识库 -│ ├── base/ -│ │ ├── fingerprints.txt # 故障指纹库 -│ │ └── troubleshooting.md # 故障排查手册 -│ └── learned/ # 历史经验文档 -├── fixes/ # 修复方案库 -├── evolutions/ # 进化版本 -├── scores/ # 评分数据 -├── logs/ # 运行日志 -└── openclaw-gateway.service # systemd 服务配置 +├── install.sh # 一键安装脚本 +├── openclaw-gateway.service # Gateway 服务配置 +├── guardian-event.service # 故障修复服务 +├── guardian-monitor.service # 定时监控服务 +├── guardian-monitor.timer # 定时器 +└── knowledge/ # 知识库 + ├── base/ + │ ├── fingerprints.txt # 故障指纹库 + │ └── troubleshooting.md # 故障排查手册 + └── learned/ # 历史经验文档 ``` ## 🚀 快速开始 @@ -71,60 +71,57 @@ guardian/ ### 安装 +```bash +# 一键安装 +bash ~/.oopsclaw/install.sh +``` + +或手动安装: + ```bash # 1. 复制服务配置 -cp guardian/openclaw-gateway.service ~/.config/systemd/user/ -cp guardian/guardian-monitor.service ~/.config/systemd/user/ -cp guardian/guardian-monitor.timer ~/.config/systemd/user/ +cp openclaw-gateway.service ~/.config/systemd/user/ +cp guardian-event.service ~/.config/systemd/user/ +cp guardian-monitor.service ~/.config/systemd/user/ +cp guardian-monitor.timer ~/.config/systemd/user/ # 2. 重新加载 systemd systemctl --user daemon-reload -# 3. 启用定时任务 -systemctl --user enable --now guardian-monitor.timer - -# 4. 启用故障触发 (可选) +# 3. 启用服务 systemctl --user enable --now openclaw-gateway.service +systemctl --user enable --now guardian-monitor.timer ``` -### 配置 - -```bash -# 设置飞书通知用户 ID (可选) -echo "ou_xxxxx" > ~/.iflow/guardian/feishu_user_id.txt -``` - -## 🔧 使用 - -### 手动运行守护者 +### 手动运行 ```bash # 事件驱动模式 (Gateway 故障时自动触发) -bash ~/.iflow/guardian/guardian-event.sh +bash ~/.oopsclaw/guardian-event.sh # 定时监控模式 -bash ~/.iflow/guardian/monitor.sh +bash ~/.oopsclaw/monitor.sh # 进化优化 (评估并优化 Agent) -bash ~/.iflow/guardian/guardian-evolve.sh +bash ~/.oopsclaw/guardian-evolve.sh ``` ### 查看日志 ```bash # 守护者事件日志 -tail -f ~/.iflow/guardian/logs/guardian-event.log +journalctl --user -u guardian-event.service -f -# 修复历史 -cat ~/.iflow/guardian/logs/repair_history.log +# 或查看脚本内日志 +tail -f ~/.iflow/guardian/logs/guardian-event.log ``` ## 🤖 Agent Prompt 守护者使用专门的 Agent Prompt 进行故障分析: -- **guardian.md**: 故障诊断与修复专家 -- **guardian-evolve.md**: 进化优化评估专家 +- **guardian**: 故障诊断与修复专家 +- **guardian-evolve**: 进化优化评估专家 详见 `~/.iflow/agents/guardian.md` @@ -139,8 +136,8 @@ cat ~/.iflow/guardian/logs/repair_history.log ## 🔄 进化流程 -1. **检测**: 定时/事件触发故障检测 -2. **修复**: guardian-agent 执行修复 +1. **检测**: systemd OnFailure 触发故障检测 +2. **修复**: iFlow guardian-agent 执行修复 3. **评估**: 记录修复结果和时间 4. **进化**: guardian-evolve-agent 评估并优化 5. **学习**: 更新知识库和 Prompt @@ -151,4 +148,4 @@ MIT License ## 👤 作者 -DuanZ & iFlow Community +DuanZ & iFlow Community \ No newline at end of file diff --git a/guardian-event.service b/guardian-event.service new file mode 100644 index 0000000..8265049 --- /dev/null +++ b/guardian-event.service @@ -0,0 +1,12 @@ +[Unit] +Description=Guardian Event - OpenClaw故障自动修复 +After=network-online.target + +[Service] +Type=oneshot +ExecStart=/bin/bash /home/duanz/.oopsclaw/guardian-event.sh +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=multi-user.target diff --git a/openclaw-gateway.service b/openclaw-gateway.service index 7a01872..086a76d 100644 --- a/openclaw-gateway.service +++ b/openclaw-gateway.service @@ -2,6 +2,10 @@ Description=OpenClaw Gateway (v2026.2.26) After=network-online.target Wants=network-online.target +OnFailure=guardian-event.service + +# Oopsclaw 路径 +Environment=OOPSCLAW_DIR=/home/duanz/.oopsclaw [Service] ExecStart=/usr/bin/node /home/duanz/.npm-global/lib/node_modules/openclaw/dist/index.js gateway --port 18789 From b3d99e272578735b387f649dd70e41095ff410ad Mon Sep 17 00:00:00 2001 From: DuanZ Date: Wed, 11 Mar 2026 18:12:57 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=89=80=E6=9C=89?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E6=8C=87=E5=90=91=20.oopsclaw=20=E7=9B=AE?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- ai-evolve-meta.py | 4 ++-- ai-evolve.sh | 2 +- guardian-event.sh | 4 ++-- guardian-evolve.sh | 2 +- install.sh | 27 +++++++++++++-------------- knowledge/KNOWLEDGE_BASE.md | 2 +- knowledge/NOTIFICATION.md | 2 +- monitor.sh | 2 +- 9 files changed, 23 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index e64dde6..7f48806 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,7 @@ bash ~/.oopsclaw/guardian-evolve.sh journalctl --user -u guardian-event.service -f # 或查看脚本内日志 -tail -f ~/.iflow/guardian/logs/guardian-event.log +tail -f ~/.oopsclaw/logs/guardian-event.log ``` ## 🤖 Agent Prompt diff --git a/ai-evolve-meta.py b/ai-evolve-meta.py index fe454e9..0209732 100755 --- a/ai-evolve-meta.py +++ b/ai-evolve-meta.py @@ -17,7 +17,7 @@ from typing import Dict, List, Optional # 路径配置 -GUARDIAN_DIR = os.path.expanduser("~/.iflow/guardian") +GUARDIAN_DIR = os.path.expanduser("~/.oopsclaw") EVOLUTIONS_DIR = f"{GUARDIAN_DIR}/evolutions" SCORES_DIR = f"{GUARDIAN_DIR}/scores" LEARNED_DIR = f"{GUARDIAN_DIR}/knowledge/learned" @@ -219,7 +219,7 @@ def create_evolution_v2() -> str: import sys import os -GUARDIAN_DIR = os.path.expanduser("~/.iflow/guardian") +GUARDIAN_DIR = os.path.expanduser("~/.oopsclaw") IFLOW_CONFIG = os.path.expanduser("~/.iflow/settings.json") def get_iflow_config(): diff --git a/ai-evolve.sh b/ai-evolve.sh index 28117b9..50490cf 100755 --- a/ai-evolve.sh +++ b/ai-evolve.sh @@ -8,7 +8,7 @@ set -e # 配置 -GUARDIAN_DIR="$HOME/.iflow/guardian" +GUARDIAN_DIR="$HOME/.oopsclaw" EVOLUTIONS_DIR="$GUARDIAN_DIR/evolutions" LOG_DIR="$GUARDIAN_DIR/evolutions/logs" LEARNED_DIR="$GUARDIAN_DIR/knowledge/learned" diff --git a/guardian-event.sh b/guardian-event.sh index 9375bec..56410e5 100755 --- a/guardian-event.sh +++ b/guardian-event.sh @@ -8,13 +8,13 @@ set -euo pipefail # 配置 -GUARDIAN_DIR="$HOME/.iflow/guardian" +GUARDIAN_DIR="$HOME/.oopsclaw" LOG_DIR="$GUARDIAN_DIR/logs" KNOWLEDGE_DIR="$GUARDIAN_DIR/knowledge" OPENCLAW_CONFIG="$HOME/.openclaw/openclaw.json" GATEWAY_PORT=18789 SERVICE_NAME="openclaw-gateway.service" -FEISHU_USER_ID_FILE="$GUARDIAN_DIR/feishu_user_id.txt" +FEISHU_USER_ID_FILE="$HOME/.oopsclaw/feishu_user_id.txt" # 超时配置 IFLOW_TIMEOUT=300 diff --git a/guardian-evolve.sh b/guardian-evolve.sh index e03bfe8..798c2de 100755 --- a/guardian-evolve.sh +++ b/guardian-evolve.sh @@ -6,7 +6,7 @@ set -euo pipefail -GUARDIAN_DIR="$HOME/.iflow/guardian" +GUARDIAN_DIR="$HOME/.oopsclaw" LOG_DIR="$GUARDIAN_DIR/logs" KNOWLEDGE_DIR="$GUARDIAN_DIR/knowledge" PROMPT_FILE="$HOME/.iflow/agents/guardian.md" diff --git a/install.sh b/install.sh index 90020c9..854fa2a 100644 --- a/install.sh +++ b/install.sh @@ -62,8 +62,7 @@ install_iflow() { setup_directories() { echo -e "\n${YELLOW}[2/4] 创建目录结构...${NC}" - mkdir -p ~/.iflow/guardian/{knowledge/base,logs,fixes,evolutions,scores} - mkdir -p ~/.iflow/monitor/{logs,knowledge} + mkdir -p ~/.oopsclaw/{knowledge/base,logs,fixes,evolutions,scores} echo -e "${GREEN}✓${NC} 目录已创建" } @@ -75,18 +74,18 @@ copy_files() { SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 复制守护者脚本 - cp -f "$SCRIPT_DIR/guardian-event.sh" ~/.iflow/guardian/ - cp -f "$SCRIPT_DIR/guardian-evolve.sh" ~/.iflow/guardian/ - cp -f "$SCRIPT_DIR/monitor.sh" ~/.iflow/guardian/ - cp -f "$SCRIPT_DIR/ai-evolve.sh" ~/.iflow/guardian/ + cp -f "$SCRIPT_DIR/guardian-event.sh" ~/.oopsclaw/ + cp -f "$SCRIPT_DIR/guardian-evolve.sh" ~/.oopsclaw/ + cp -f "$SCRIPT_DIR/monitor.sh" ~/.oopsclaw/ + cp -f "$SCRIPT_DIR/ai-evolve.sh" ~/.oopsclaw/ # 复制知识库 - cp -rf "$SCRIPT_DIR/knowledge/"* ~/.iflow/guardian/knowledge/ + cp -rf "$SCRIPT_DIR/knowledge/"* ~/.oopsclaw/knowledge/ # 复制 systemd 服务 mkdir -p ~/.config/systemd/user cp -f "$SCRIPT_DIR/openclaw-gateway.service" ~/.config/systemd/user/ - cp -f "$SCRIPT_DIR/iflow-guardian-event.service" ~/.config/systemd/user/ + cp -f "$SCRIPT_DIR/guardian-event.service" ~/.config/systemd/user/ echo -e "${GREEN}✓${NC} 文件已复制" } @@ -102,7 +101,7 @@ setup_services() { mkdir -p ~/.config/systemd/user/openclaw-gateway.service.d cat > ~/.config/systemd/user/openclaw-gateway.service.d/auto-fix.conf << 'EOF' [Unit] -OnFailure=iflow-guardian-event.service +OnFailure=guardian-event.service StartLimitIntervalSec=60 StartLimitBurst=5 @@ -113,7 +112,7 @@ EOF echo -e "${GREEN}✓${NC} OnFailure 已配置" # 设置权限 - chmod +x ~/.iflow/guardian/*.sh + chmod +x ~/.oopsclaw/*.sh echo -e "${GREEN}✓${NC} 服务已配置" } @@ -131,12 +130,12 @@ main() { echo "" echo "📖 使用说明:" echo " • 故障自动修复: OnFailure 机制 (Gateway 失败时自动触发)" - echo " • 手动运行守护者: bash ~/.iflow/guardian/guardian-event.sh" - echo " • 查看日志: tail -f ~/.iflow/guardian/logs/guardian-event.log" + echo " • 手动运行守护者: bash ~/.oopsclaw/guardian-event.sh" + echo " • 查看日志: journalctl --user -u guardian-event.service -f" echo "" - echo "📁 文件位置: ~/.iflow/guardian/" + echo "📁 文件位置: ~/.oopsclaw/" echo "📚 文档: https://github.com/DuanZGit/oopsclaw" echo "" } -main "$@" +main "$@" \ No newline at end of file diff --git a/knowledge/KNOWLEDGE_BASE.md b/knowledge/KNOWLEDGE_BASE.md index 8f587c0..0ec2bb5 100644 --- a/knowledge/KNOWLEDGE_BASE.md +++ b/knowledge/KNOWLEDGE_BASE.md @@ -126,7 +126,7 @@ npm install <缺失的模块> - **检查频率**: 每小时 - **分析方式**: AI 错误分析 -- **存储位置**: `~/.iflow/guardian/knowledge/` +- **存储位置**: `~/.oopsclaw/knowledge/` --- diff --git a/knowledge/NOTIFICATION.md b/knowledge/NOTIFICATION.md index 7c93042..526ceab 100644 --- a/knowledge/NOTIFICATION.md +++ b/knowledge/NOTIFICATION.md @@ -7,7 +7,7 @@ 3. 保存到文件: ```bash -echo "https://open.feishu.cn/open-apis/bot/v2/hook/xxx" > ~/.iflow/guardian/feishu_webhook.txt +echo "https://open.feishu.cn/open-apis/bot/v2/hook/xxx" > ~/.oopsclaw/feishu_webhook.txt ``` ## 通知类型 diff --git a/monitor.sh b/monitor.sh index 96e0da6..ec1eb3a 100755 --- a/monitor.sh +++ b/monitor.sh @@ -7,7 +7,7 @@ set -e # 配置 -GUARDIAN_DIR="$HOME/.iflow/guardian" +GUARDIAN_DIR="$HOME/.oopsclaw" LOG_DIR="$GUARDIAN_DIR/logs" KNOWLEDGE_DIR="$GUARDIAN_DIR/knowledge" BACKUP_DIR="$GUARDIAN_DIR" From 5f70b821e525befb6da301232e36d4a6519633f2 Mon Sep 17 00:00:00 2001 From: DuanZ Date: Wed, 11 Mar 2026 23:25:38 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D:=20Guardian=20-?= =?UTF-8?q?>=20Oopsclaw?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 40 +++++++++---------- ai-evolve-meta.py | 20 +++++----- ai-evolve.sh | 30 +++++++------- guardian-monitor.timer | 11 ----- install.sh | 12 +++--- knowledge/NOTIFICATION.md | 2 +- knowledge/base/fingerprints.txt | 2 +- knowledge/lessons_2026-03-03.md | 2 +- monitor.sh | 18 ++++----- ...an-event.service => oopsclaw-event.service | 4 +- guardian-event.sh => oopsclaw-event.sh | 28 ++++++------- guardian-evolve.sh => oopsclaw-evolve.sh | 24 +++++------ ...onitor.service => oopsclaw-monitor.service | 6 +-- oopsclaw-monitor.timer | 11 +++++ openclaw-gateway.service | 2 +- 15 files changed, 106 insertions(+), 106 deletions(-) delete mode 100644 guardian-monitor.timer rename guardian-event.service => oopsclaw-event.service (55%) rename guardian-event.sh => oopsclaw-event.sh (89%) rename guardian-evolve.sh => oopsclaw-evolve.sh (91%) rename guardian-monitor.service => oopsclaw-monitor.service (50%) create mode 100644 oopsclaw-monitor.timer diff --git a/README.md b/README.md index 7f48806..97699d1 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ │ ▼ ┌─────────────────────────────────────────────────────────┐ -│ 守护者核心 (guardian-event.sh) │ +│ 守护者核心 (oopsclaw-event.sh) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 故障诊断 │→ │ 根因分析 │→ │ 自动修复 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ @@ -36,7 +36,7 @@ │ ▼ ┌─────────────────────────────────────────────────────────┐ -│ 进化优化层 (guardian-evolve.sh) │ +│ 进化优化层 (oopsclaw-evolve.sh) │ │ 评估修复效果 → 优化 Prompt → 自我进化 │ └─────────────────────────────────────────────────────────┘ ``` @@ -45,15 +45,15 @@ ``` .oopsclaw/ -├── guardian-event.sh # 事件驱动修复脚本 (核心) -├── guardian-evolve.sh # 自主进化优化脚本 +├── oopsclaw-event.sh # 事件驱动修复脚本 (核心) +├── oopsclaw-evolve.sh # 自主进化优化脚本 ├── monitor.sh # 定时监控脚本 ├── ai-evolve.sh # AI 进化脚本 ├── install.sh # 一键安装脚本 ├── openclaw-gateway.service # Gateway 服务配置 -├── guardian-event.service # 故障修复服务 -├── guardian-monitor.service # 定时监控服务 -├── guardian-monitor.timer # 定时器 +├── oopsclaw-event.service # 故障修复服务 +├── oopsclaw-monitor.service # 定时监控服务 +├── oopsclaw-monitor.timer # 定时器 └── knowledge/ # 知识库 ├── base/ │ ├── fingerprints.txt # 故障指纹库 @@ -81,49 +81,49 @@ bash ~/.oopsclaw/install.sh ```bash # 1. 复制服务配置 cp openclaw-gateway.service ~/.config/systemd/user/ -cp guardian-event.service ~/.config/systemd/user/ -cp guardian-monitor.service ~/.config/systemd/user/ -cp guardian-monitor.timer ~/.config/systemd/user/ +cp oopsclaw-event.service ~/.config/systemd/user/ +cp oopsclaw-monitor.service ~/.config/systemd/user/ +cp oopsclaw-monitor.timer ~/.config/systemd/user/ # 2. 重新加载 systemd systemctl --user daemon-reload # 3. 启用服务 systemctl --user enable --now openclaw-gateway.service -systemctl --user enable --now guardian-monitor.timer +systemctl --user enable --now oopsclaw-monitor.timer ``` ### 手动运行 ```bash # 事件驱动模式 (Gateway 故障时自动触发) -bash ~/.oopsclaw/guardian-event.sh +bash ~/.oopsclaw/oopsclaw-event.sh # 定时监控模式 bash ~/.oopsclaw/monitor.sh # 进化优化 (评估并优化 Agent) -bash ~/.oopsclaw/guardian-evolve.sh +bash ~/.oopsclaw/oopsclaw-evolve.sh ``` ### 查看日志 ```bash # 守护者事件日志 -journalctl --user -u guardian-event.service -f +journalctl --user -u oopsclaw-event.service -f # 或查看脚本内日志 -tail -f ~/.oopsclaw/logs/guardian-event.log +tail -f ~/.oopsclaw/logs/oopsclaw-event.log ``` ## 🤖 Agent Prompt 守护者使用专门的 Agent Prompt 进行故障分析: -- **guardian**: 故障诊断与修复专家 -- **guardian-evolve**: 进化优化评估专家 +- **oopsclaw**: 故障诊断与修复专家 +- **oopsclaw-evolve**: 进化优化评估专家 -详见 `~/.iflow/agents/guardian.md` +详见 `~/.iflow/agents/oopsclaw.md` ## 📊 评分体系 @@ -137,9 +137,9 @@ tail -f ~/.oopsclaw/logs/guardian-event.log ## 🔄 进化流程 1. **检测**: systemd OnFailure 触发故障检测 -2. **修复**: iFlow guardian-agent 执行修复 +2. **修复**: iFlow oopsclaw-agent 执行修复 3. **评估**: 记录修复结果和时间 -4. **进化**: guardian-evolve-agent 评估并优化 +4. **进化**: oopsclaw-evolve-agent 评估并优化 5. **学习**: 更新知识库和 Prompt ## 📝 许可证 diff --git a/ai-evolve-meta.py b/ai-evolve-meta.py index 0209732..209668f 100755 --- a/ai-evolve-meta.py +++ b/ai-evolve-meta.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 """ -iFlow Guardian Meta-Evolution System +iFlow Oopsclaw Meta-Evolution System 进化的进化 - 评分选择器 + 精简优化 功能: @@ -17,11 +17,11 @@ from typing import Dict, List, Optional # 路径配置 -GUARDIAN_DIR = os.path.expanduser("~/.oopsclaw") -EVOLUTIONS_DIR = f"{GUARDIAN_DIR}/evolutions" -SCORES_DIR = f"{GUARDIAN_DIR}/scores" -LEARNED_DIR = f"{GUARDIAN_DIR}/knowledge/learned" -LOG_DIR = f"{GUARDIAN_DIR}/logs" +OOPSCLAW_DIR = os.path.expanduser("~/.oopsclaw") +EVOLUTIONS_DIR = f"{OOPSCLAW_DIR}/evolutions" +SCORES_DIR = f"{OOPSCLAW_DIR}/scores" +LEARNED_DIR = f"{OOPSCLAW_DIR}/knowledge/learned" +LOG_DIR = f"{OOPSCLAW_DIR}/logs" # 评分配置文件 SCORES_FILE = f"{SCORES_DIR}/evolution_scores.json" @@ -189,7 +189,7 @@ def get_report(self) -> str: """生成评分报告""" report = [] report.append("=" * 50) - report.append("📊 iFlow Guardian 进化评分报告") + report.append("📊 iFlow Oopsclaw 进化评分报告") report.append("=" * 50) report.append(f"\n当前权重配置:") for k, v in self.weights.items(): @@ -211,7 +211,7 @@ def create_evolution_v2() -> str: """创建精简版进化器 (v2.0 - 减少 token)""" v2_content = '''#!/usr/bin/env python3 """ -iFlow Guardian AI 进化模块 - v2.0 精简版 +iFlow Oopsclaw AI 进化模块 - v2.0 精简版 优化目标: 减少 token 消耗,提高效率 """ @@ -219,7 +219,7 @@ def create_evolution_v2() -> str: import sys import os -GUARDIAN_DIR = os.path.expanduser("~/.oopsclaw") +OOPSCLAW_DIR = os.path.expanduser("~/.oopsclaw") IFLOW_CONFIG = os.path.expanduser("~/.iflow/settings.json") def get_iflow_config(): @@ -287,7 +287,7 @@ def main(): def main(): import argparse - parser = argparse.ArgumentParser(description='iFlow Guardian Meta-Evolution') + parser = argparse.ArgumentParser(description='iFlow Oopsclaw Meta-Evolution') parser.add_argument('--score', help='记录评分', nargs='+') parser.add_argument('--best', action='store_true', help='获取最佳版本') parser.add_argument('--report', action='store_true', help='生成评分报告') diff --git a/ai-evolve.sh b/ai-evolve.sh index 50490cf..5e3dcd1 100755 --- a/ai-evolve.sh +++ b/ai-evolve.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# iFlow Guardian - AI 自我进化模块 (Meta-Evolution) +# iFlow Oopsclaw - AI 自我进化模块 (Meta-Evolution) # 功能: 调用 iFlow AI 分析故障,生成优化建议,自动应用到监控系统 # 版本: 支持多版本,通过评分系统选择最佳策略 # @@ -8,21 +8,21 @@ set -e # 配置 -GUARDIAN_DIR="$HOME/.oopsclaw" -EVOLUTIONS_DIR="$GUARDIAN_DIR/evolutions" -LOG_DIR="$GUARDIAN_DIR/evolutions/logs" -LEARNED_DIR="$GUARDIAN_DIR/knowledge/learned" +OOPSCLAW_DIR="$HOME/.oopsclaw" +EVOLUTIONS_DIR="$OOPSCLAW_DIR/evolutions" +LOG_DIR="$OOPSCLAW_DIR/evolutions/logs" +LEARNED_DIR="$OOPSCLAW_DIR/knowledge/learned" OPENCLAW_CONFIG="$HOME/.openclaw/openclaw.json" -MONITOR_SCRIPT="$GUARDIAN_DIR/monitor.sh" -FINGERPRINTS="$GUARDIAN_DIR/knowledge/base/fingerprints.txt" -FEISHU_USER_ID_FILE="$GUARDIAN_DIR/feishu_user_id.txt" +MONITOR_SCRIPT="$OOPSCLAW_DIR/monitor.sh" +FINGERPRINTS="$OOPSCLAW_DIR/knowledge/base/fingerprints.txt" +FEISHU_USER_ID_FILE="$OOPSCLAW_DIR/feishu_user_id.txt" # 确保目录存在 mkdir -p "$LEARNED_DIR" "$LOG_DIR" # 选择最佳进化版本 select_best_evolution() { - local best=$(python3 "$GUARDIAN_DIR/ai-evolve-meta.py" --best 2>/dev/null || echo "ai-evolve-v1.0") + local best=$(python3 "$OOPSCLAW_DIR/ai-evolve-meta.py" --best 2>/dev/null || echo "ai-evolve-v1.0") echo "$EVOLUTIONS_DIR/$best.py" } @@ -124,7 +124,7 @@ build_prompt() { local recent_logs="$5" cat << EOF -你是一个系统自愈专家。请分析以下 iFlow Guardian 监控系统的故障: +你是一个系统自愈专家。请分析以下 iFlow Oopsclaw 监控系统的故障: ## 【问题描述】 错误类型: $error_type @@ -181,7 +181,7 @@ call_llm() { # 记录评分 local tokens_estimate=$(echo "$response" | wc -c | xargs -I {} echo "$(({} / 4))") - local score_result=$(python3 "$GUARDIAN_DIR/ai-evolve-meta.py" \ + local score_result=$(python3 "$OOPSCLAW_DIR/ai-evolve-meta.py" \ --score "$(basename $EVOLUTION_SCRIPT .py)" \ "$tokens_estimate" "$elapsed" "1" "0" "0" 2>/dev/null || true) @@ -236,11 +236,11 @@ ai_analyze() { local error_message="$2" local fix_tried="$3" - log_ai "========== 开始 Guardian 自我进化 ==========" + log_ai "========== 开始 Oopsclaw 自我进化 ==========" log_ai "问题: $error_type" # ========== 节点1: 监控到问题 ========== - send_feishu_card "⚠️ Guardian 检测到问题" "**问题类型:** $error_type + send_feishu_card "⚠️ Oopsclaw 检测到问题" "**问题类型:** $error_type **错误信息:** $error_message @@ -258,7 +258,7 @@ ai_analyze() { # 调用 Python 模块进行完整进化 log_ai "调用 iFlow AI 进行全面分析..." local start_time=$(date +%s) - python3 "$GUARDIAN_DIR/ai-evolve.py" --evolve "$error_type" "$context" > /tmp/ai-evolve-output.txt 2>&1 + python3 "$OOPSCLAW_DIR/ai-evolve.py" --evolve "$error_type" "$context" > /tmp/ai-evolve-output.txt 2>&1 local end_time=$(date +%s) local elapsed=$((end_time - start_time)) @@ -289,7 +289,7 @@ $fix_result fi # ========== 节点3: 进化成功 ========== - send_feishu_card "🎉 Guardian 进化完成" "**问题:** $error_type + send_feishu_card "🎉 Oopsclaw 进化完成" "**问题:** $error_type **进化结果:** diff --git a/guardian-monitor.timer b/guardian-monitor.timer deleted file mode 100644 index e39a2fa..0000000 --- a/guardian-monitor.timer +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Guardian Monitor Timer - 每5分钟执行一次健康检查 -Requires=guardian-monitor.service - -[Timer] -OnBootSec=1min -OnUnitActiveSec=5min -Unit=guardian-monitor.service - -[Install] -WantedBy=timers.target diff --git a/install.sh b/install.sh index 854fa2a..890f476 100644 --- a/install.sh +++ b/install.sh @@ -74,8 +74,8 @@ copy_files() { SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 复制守护者脚本 - cp -f "$SCRIPT_DIR/guardian-event.sh" ~/.oopsclaw/ - cp -f "$SCRIPT_DIR/guardian-evolve.sh" ~/.oopsclaw/ + cp -f "$SCRIPT_DIR/oopsclaw-event.sh" ~/.oopsclaw/ + cp -f "$SCRIPT_DIR/oopsclaw-evolve.sh" ~/.oopsclaw/ cp -f "$SCRIPT_DIR/monitor.sh" ~/.oopsclaw/ cp -f "$SCRIPT_DIR/ai-evolve.sh" ~/.oopsclaw/ @@ -85,7 +85,7 @@ copy_files() { # 复制 systemd 服务 mkdir -p ~/.config/systemd/user cp -f "$SCRIPT_DIR/openclaw-gateway.service" ~/.config/systemd/user/ - cp -f "$SCRIPT_DIR/guardian-event.service" ~/.config/systemd/user/ + cp -f "$SCRIPT_DIR/oopsclaw-event.service" ~/.config/systemd/user/ echo -e "${GREEN}✓${NC} 文件已复制" } @@ -101,7 +101,7 @@ setup_services() { mkdir -p ~/.config/systemd/user/openclaw-gateway.service.d cat > ~/.config/systemd/user/openclaw-gateway.service.d/auto-fix.conf << 'EOF' [Unit] -OnFailure=guardian-event.service +OnFailure=oopsclaw-event.service StartLimitIntervalSec=60 StartLimitBurst=5 @@ -130,8 +130,8 @@ main() { echo "" echo "📖 使用说明:" echo " • 故障自动修复: OnFailure 机制 (Gateway 失败时自动触发)" - echo " • 手动运行守护者: bash ~/.oopsclaw/guardian-event.sh" - echo " • 查看日志: journalctl --user -u guardian-event.service -f" + echo " • 手动运行守护者: bash ~/.oopsclaw/oopsclaw-event.sh" + echo " • 查看日志: journalctl --user -u oopsclaw-event.service -f" echo "" echo "📁 文件位置: ~/.oopsclaw/" echo "📚 文档: https://github.com/DuanZGit/oopsclaw" diff --git a/knowledge/NOTIFICATION.md b/knowledge/NOTIFICATION.md index 526ceab..9c9ed61 100644 --- a/knowledge/NOTIFICATION.md +++ b/knowledge/NOTIFICATION.md @@ -1,4 +1,4 @@ -# iFlow Guardian 飞书通知配置 +# iFlow Oopsclaw 飞书通知配置 ## 启用飞书通知 diff --git a/knowledge/base/fingerprints.txt b/knowledge/base/fingerprints.txt index 09afc9c..dcab629 100644 --- a/knowledge/base/fingerprints.txt +++ b/knowledge/base/fingerprints.txt @@ -1,4 +1,4 @@ -# iFlow Guardian 故障指纹库 +# iFlow Oopsclaw 故障指纹库 # 格式: 错误关键词 | 故障类型 | 修复策略 # 配置错误类 diff --git a/knowledge/lessons_2026-03-03.md b/knowledge/lessons_2026-03-03.md index c8d4cb6..17bbbd0 100644 --- a/knowledge/lessons_2026-03-03.md +++ b/knowledge/lessons_2026-03-03.md @@ -21,4 +21,4 @@ openclaw status --- -*本报告由 Guardian Agent 自动生成* +*本报告由 Oopsclaw Agent 自动生成* diff --git a/monitor.sh b/monitor.sh index ec1eb3a..2eece9d 100755 --- a/monitor.sh +++ b/monitor.sh @@ -1,16 +1,16 @@ #!/bin/bash # -# iFlow Guardian - OpenClaw 监控脚本 v1.5 +# iFlow Oopsclaw - OpenClaw 监控脚本 v1.5 # 功能: 进程监控 + 端口检查 + 日志分析 + 自动修复 + 状态综合检查 # set -e # 配置 -GUARDIAN_DIR="$HOME/.oopsclaw" -LOG_DIR="$GUARDIAN_DIR/logs" -KNOWLEDGE_DIR="$GUARDIAN_DIR/knowledge" -BACKUP_DIR="$GUARDIAN_DIR" +OOPSCLAW_DIR="$HOME/.oopsclaw" +LOG_DIR="$OOPSCLAW_DIR/logs" +KNOWLEDGE_DIR="$OOPSCLAW_DIR/knowledge" +BACKUP_DIR="$OOPSCLAW_DIR" OPENCLAW_CONFIG="$HOME/.openclaw/openclaw.json" OPENCLAW_LOG="$HOME/.openclaw/logs" GATEWAY_PORT=18789 @@ -23,7 +23,7 @@ NEWAPI_KEY="sk-QqQgqwesxdxDmcLbAAenApKjuGM9VfRowI75l8R5YwkqsTpz" AI_MODEL="qwen/qwen3.5-397b-a17b" # 飞书配置 -FEISHU_USER_ID_FILE="$GUARDIAN_DIR/feishu_user_id.txt" +FEISHU_USER_ID_FILE="$OOPSCLAW_DIR/feishu_user_id.txt" # 使用 OpenClaw AI 生成守护者问题分析报告 guardian_analyze() { @@ -439,7 +439,7 @@ ai_analyze() { return 0 } -# 发送通知 (启用飞书通知 + Guardian AI 分析) +# 发送通知 (启用飞书通知 + Oopsclaw AI 分析) send_notification() { local message="$1" local issue_type="$2" @@ -448,7 +448,7 @@ send_notification() { log "NOTIFICATION: $message" - # 调用 Guardian AI 进行深度分析 + # 调用 Oopsclaw AI 进行深度分析 local guardian_analysis="" if [ -n "$issue_detail" ]; then guardian_analysis=$(guardian_analyze "$issue_type" "$issue_detail" "$fix_action") @@ -507,7 +507,7 @@ learn_repair_result() { # 如果成功率低于50%,发出警告并触发 AI 分析 if [ "$rate" -lt 50 ] && [ "$total" -gt 5 ]; then log_warn "修复成功率过低,触发 AI 自我进化..." - "$GUARDIAN_DIR/ai-evolve.sh" analyze "低成功率" "修复成功率: $rate%" "已尝试多种修复但效果不佳" + "$OOPSCLAW_DIR/ai-evolve.sh" analyze "低成功率" "修复成功率: $rate%" "已尝试多种修复但效果不佳" fi fi } diff --git a/guardian-event.service b/oopsclaw-event.service similarity index 55% rename from guardian-event.service rename to oopsclaw-event.service index 8265049..85b4602 100644 --- a/guardian-event.service +++ b/oopsclaw-event.service @@ -1,10 +1,10 @@ [Unit] -Description=Guardian Event - OpenClaw故障自动修复 +Description=Oopsclaw Event - OpenClaw故障自动修复 After=network-online.target [Service] Type=oneshot -ExecStart=/bin/bash /home/duanz/.oopsclaw/guardian-event.sh +ExecStart=/bin/bash /home/duanz/.oopsclaw/oopsclaw-event.sh StandardOutput=journal StandardError=journal diff --git a/guardian-event.sh b/oopsclaw-event.sh similarity index 89% rename from guardian-event.sh rename to oopsclaw-event.sh index 56410e5..ea9ab5b 100755 --- a/guardian-event.sh +++ b/oopsclaw-event.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# iFlow Guardian - 事件驱动修复脚本 +# iFlow Oopsclaw - 事件驱动修复脚本 # 当 OpenClaw Gateway 失败时由 systemd OnFailure 触发 # 简化版:直接调用 iflow + guardian agent # @@ -8,9 +8,9 @@ set -euo pipefail # 配置 -GUARDIAN_DIR="$HOME/.oopsclaw" -LOG_DIR="$GUARDIAN_DIR/logs" -KNOWLEDGE_DIR="$GUARDIAN_DIR/knowledge" +OOPSCLAW_DIR="$HOME/.oopsclaw" +LOG_DIR="$OOPSCLAW_DIR/logs" +KNOWLEDGE_DIR="$OOPSCLAW_DIR/knowledge" OPENCLAW_CONFIG="$HOME/.openclaw/openclaw.json" GATEWAY_PORT=18789 SERVICE_NAME="openclaw-gateway.service" @@ -20,13 +20,13 @@ FEISHU_USER_ID_FILE="$HOME/.oopsclaw/feishu_user_id.txt" IFLOW_TIMEOUT=300 # 单实例锁 -LOCK_FILE="${XDG_RUNTIME_DIR:-/tmp}/guardian-event.lock" +LOCK_FILE="${XDG_RUNTIME_DIR:-/tmp}/oopsclaw-event.lock" exec 9>"$LOCK_FILE" -flock -n 9 || { echo "Guardian 已在运行中,退出."; exit 0; } +flock -n 9 || { echo "Oopsclaw 已在运行中,退出."; exit 0; } # 日志 log() { - echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_DIR/guardian-event.log" + echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_DIR/oopsclaw-event.log" } log_error() { @@ -113,7 +113,7 @@ call_iflow_guardian() { local knowledge=$(read_knowledge) # 构建 prompt - local prompt="你是 iFlow Guardian 守护者,专门负责修复 OpenClaw Gateway 故障。 + local prompt="你是 iFlow Oopsclaw 守护者,专门负责修复 OpenClaw Gateway 故障。 ## 你的任务 1. 读取并理解故障信息 @@ -194,7 +194,7 @@ verify_service() { write_result() { local status="$1" local message="$2" - local out="${XDG_RUNTIME_DIR:-/tmp}/guardian-event-result.json" + local out="${XDG_RUNTIME_DIR:-/tmp}/oopsclaw-event-result.json" cat > "$out" <> "$LOG_DIR/evolution.log" 2>&1 + bash "$OOPSCLAW_DIR/oopsclaw-evolve.sh" success 120 no yes "服务启动失败" >> "$LOG_DIR/evolution.log" 2>&1 ) & - send_feishu "✅ OpenClaw 已修复" "Guardian AI 修复成功,服务已恢复正常\n自我进化评估已触发" "green" - write_result "success" "Fixed by Guardian AI" + send_feishu "✅ OpenClaw 已修复" "Oopsclaw AI 修复成功,服务已恢复正常\n自我进化评估已触发" "green" + write_result "success" "Fixed by Oopsclaw AI" exit 0 fi fi diff --git a/guardian-evolve.sh b/oopsclaw-evolve.sh similarity index 91% rename from guardian-evolve.sh rename to oopsclaw-evolve.sh index 798c2de..e8aa91f 100755 --- a/guardian-evolve.sh +++ b/oopsclaw-evolve.sh @@ -1,16 +1,16 @@ #!/bin/bash # -# Guardian Prompt 进化模块 -# 调用专门的 guardian-evolve agent 进行评估和优化 +# Oopsclaw Prompt 进化模块 +# 调用专门的 oopsclaw-evolve agent 进行评估和优化 # set -euo pipefail -GUARDIAN_DIR="$HOME/.oopsclaw" -LOG_DIR="$GUARDIAN_DIR/logs" -KNOWLEDGE_DIR="$GUARDIAN_DIR/knowledge" +OOPSCLAW_DIR="$HOME/.oopsclaw" +LOG_DIR="$OOPSCLAW_DIR/logs" +KNOWLEDGE_DIR="$OOPSCLAW_DIR/knowledge" PROMPT_FILE="$HOME/.iflow/agents/guardian.md" -EVOLVE_PROMPT_FILE="$HOME/.iflow/agents/guardian-evolve.md" +EVOLVE_PROMPT_FILE="$HOME/.iflow/agents/oopsclaw-evolve.md" # 评分权重 WEIGHT_RESULT=0.4 @@ -103,7 +103,7 @@ build_evolve_prompt() { [ "$used_kb" = "yes" ] && score_knowledge=1 || score_knowledge=0.3 cat < "$PROMPT_FILE" - echo "✅ Guardian prompt 已更新" + echo "✅ Oopsclaw prompt 已更新" return 0 fi return 1 @@ -187,7 +187,7 @@ main() { local used_kb="${4:-yes}" local last_error="${5:-未知}" - echo "=== Guardian Prompt 进化评估 ===" + echo "=== Oopsclaw Prompt 进化评估 ===" # 计算评分 local score=$(calculate_score "$last_result" "$duration" "$is_new" "$used_kb") @@ -202,12 +202,12 @@ main() { echo "需要进化: $evolve" if [ "$evolve" = "yes" ]; then - echo "🚀 调用 Guardian Evolve Agent..." + echo "🚀 调用 Oopsclaw Evolve Agent..." # 构建 prompt local evolve_prompt=$(build_evolve_prompt "$score" "$success_rate" "$last_result" "$duration" "$is_new" "$used_kb" "$last_error") - # 调用 iflow guardian-evolve agent + # 调用 iflow oopsclaw-evolve agent local evolution_result evolution_result=$(timeout 180 iflow -p "$evolve_prompt" -y 2>&1) || evolution_result="调用失败: $?" diff --git a/guardian-monitor.service b/oopsclaw-monitor.service similarity index 50% rename from guardian-monitor.service rename to oopsclaw-monitor.service index 609039a..6913f71 100644 --- a/guardian-monitor.service +++ b/oopsclaw-monitor.service @@ -1,12 +1,12 @@ [Unit] -Description=Guardian Monitor Service +Description=Oopsclaw Monitor Service After=network-online.target Wants=network-online.target [Service] Type=oneshot -ExecStart=/home/duanz/iflow-guardian/bin/monitor.sh -WorkingDirectory=/home/duanz/iflow-guardian +ExecStart=/home/duanz/.oopsclaw/monitor.sh +WorkingDirectory=/home/duanz/.oopsclaw User=duanz [Install] diff --git a/oopsclaw-monitor.timer b/oopsclaw-monitor.timer new file mode 100644 index 0000000..068c8bd --- /dev/null +++ b/oopsclaw-monitor.timer @@ -0,0 +1,11 @@ +[Unit] +Description=Oopsclaw Monitor Timer - 每5分钟执行一次健康检查 +Requires=oopsclaw-monitor.service + +[Timer] +OnBootSec=1min +OnUnitActiveSec=5min +Unit=oopsclaw-monitor.service + +[Install] +WantedBy=timers.target diff --git a/openclaw-gateway.service b/openclaw-gateway.service index 086a76d..eae9865 100644 --- a/openclaw-gateway.service +++ b/openclaw-gateway.service @@ -2,7 +2,7 @@ Description=OpenClaw Gateway (v2026.2.26) After=network-online.target Wants=network-online.target -OnFailure=guardian-event.service +OnFailure=oopsclaw-event.service # Oopsclaw 路径 Environment=OOPSCLAW_DIR=/home/duanz/.oopsclaw