Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
360 changes: 52 additions & 308 deletions README.md

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions ai-evolve-meta.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
"""
iFlow Guardian Meta-Evolution System
iFlow Oopsclaw Meta-Evolution System
进化的进化 - 评分选择器 + 精简优化

功能:
Expand All @@ -17,11 +17,11 @@
from typing import Dict, List, Optional

# 路径配置
GUARDIAN_DIR = os.path.expanduser("~/.iflow/guardian")
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"
Expand Down Expand Up @@ -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():
Expand All @@ -211,15 +211,15 @@ 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 消耗,提高效率
"""

import json
import sys
import os

GUARDIAN_DIR = os.path.expanduser("~/.iflow/guardian")
OOPSCLAW_DIR = os.path.expanduser("~/.oopsclaw")
IFLOW_CONFIG = os.path.expanduser("~/.iflow/settings.json")

def get_iflow_config():
Expand Down Expand Up @@ -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='生成评分报告')
Expand Down
30 changes: 15 additions & 15 deletions ai-evolve.sh
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
#!/bin/bash
#
# iFlow Guardian - AI 自我进化模块 (Meta-Evolution)
# iFlow Oopsclaw - AI 自我进化模块 (Meta-Evolution)
# 功能: 调用 iFlow AI 分析故障,生成优化建议,自动应用到监控系统
# 版本: 支持多版本,通过评分系统选择最佳策略
#

set -e

# 配置
GUARDIAN_DIR="$HOME/.iflow/guardian"
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"
}

Expand Down Expand Up @@ -124,7 +124,7 @@ build_prompt() {
local recent_logs="$5"

cat << EOF
你是一个系统自愈专家。请分析以下 iFlow Guardian 监控系统的故障:
你是一个系统自愈专家。请分析以下 iFlow Oopsclaw 监控系统的故障:

## 【问题描述】
错误类型: $error_type
Expand Down Expand Up @@ -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)

Expand Down Expand Up @@ -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

Expand All @@ -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))

Expand Down Expand Up @@ -289,7 +289,7 @@ $fix_result
fi

# ========== 节点3: 进化成功 ==========
send_feishu_card "🎉 Guardian 进化完成" "**问题:** $error_type
send_feishu_card "🎉 Oopsclaw 进化完成" "**问题:** $error_type

**进化结果:**

Expand Down
11 changes: 0 additions & 11 deletions guardian-monitor.timer

This file was deleted.

35 changes: 17 additions & 18 deletions install.sh
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#!/bin/bash
#==============================================
# OppsClaw 一键安装脚本
# oopsclaw 一键安装脚本
#==============================================

set -e

echo "🤖 OppsClaw 安装向导"
echo "🤖 oopsclaw 安装向导"
echo "===================="

# 颜色
Expand Down Expand Up @@ -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} 目录已创建"
}
Expand All @@ -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/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/

# 复制知识库
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/oopsclaw-event.service" ~/.config/systemd/user/

echo -e "${GREEN}✓${NC} 文件已复制"
}
Expand All @@ -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=oopsclaw-event.service
StartLimitIntervalSec=60
StartLimitBurst=5

Expand All @@ -113,7 +112,7 @@ EOF
echo -e "${GREEN}✓${NC} OnFailure 已配置"

# 设置权限
chmod +x ~/.iflow/guardian/*.sh
chmod +x ~/.oopsclaw/*.sh

echo -e "${GREEN}✓${NC} 服务已配置"
}
Expand All @@ -126,17 +125,17 @@ main() {
setup_services

echo -e "\n${GREEN}======================================${NC}"
echo -e "${GREEN}🎉 OppsClaw 安装完成!${NC}"
echo -e "${GREEN}🎉 oopsclaw 安装完成!${NC}"
echo -e "${GREEN}======================================${NC}"
echo ""
echo "📖 使用说明:"
echo " • 故障自动修复: OnFailure 机制 (Gateway 失败时自动触发)"
echo " • 手动运行守护者: bash ~/.iflow/guardian/guardian-event.sh"
echo " • 查看日志: tail -f ~/.iflow/guardian/logs/guardian-event.log"
echo " • 手动运行守护者: bash ~/.oopsclaw/oopsclaw-event.sh"
echo " • 查看日志: journalctl --user -u oopsclaw-event.service -f"
echo ""
echo "📁 文件位置: ~/.iflow/guardian/"
echo "📚 文档: https://github.com/DuanZGit/OppsClaw"
echo "📁 文件位置: ~/.oopsclaw/"
echo "📚 文档: https://github.com/DuanZGit/oopsclaw"
echo ""
}

main "$@"
main "$@"
2 changes: 1 addition & 1 deletion knowledge/KNOWLEDGE_BASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ npm install <缺失的模块>

- **检查频率**: 每小时
- **分析方式**: AI 错误分析
- **存储位置**: `~/.iflow/guardian/knowledge/`
- **存储位置**: `~/.oopsclaw/knowledge/`

---

Expand Down
4 changes: 2 additions & 2 deletions knowledge/NOTIFICATION.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# iFlow Guardian 飞书通知配置
# iFlow Oopsclaw 飞书通知配置

## 启用飞书通知

Expand All @@ -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
```

## 通知类型
Expand Down
2 changes: 1 addition & 1 deletion knowledge/base/fingerprints.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# iFlow Guardian 故障指纹库
# iFlow Oopsclaw 故障指纹库
# 格式: 错误关键词 | 故障类型 | 修复策略

# 配置错误类
Expand Down
2 changes: 1 addition & 1 deletion knowledge/lessons_2026-03-03.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ openclaw
status

---
*本报告由 Guardian Agent 自动生成*
*本报告由 Oopsclaw Agent 自动生成*
18 changes: 9 additions & 9 deletions monitor.sh
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
#!/bin/bash
#
# iFlow Guardian - OpenClaw 监控脚本 v1.5
# iFlow Oopsclaw - OpenClaw 监控脚本 v1.5
# 功能: 进程监控 + 端口检查 + 日志分析 + 自动修复 + 状态综合检查
#

set -e

# 配置
GUARDIAN_DIR="$HOME/.iflow/guardian"
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
Expand All @@ -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() {
Expand Down Expand Up @@ -439,7 +439,7 @@ ai_analyze() {
return 0
}

# 发送通知 (启用飞书通知 + Guardian AI 分析)
# 发送通知 (启用飞书通知 + Oopsclaw AI 分析)
send_notification() {
local message="$1"
local issue_type="$2"
Expand All @@ -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")
Expand Down Expand Up @@ -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
}
Expand Down
12 changes: 12 additions & 0 deletions oopsclaw-event.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[Unit]
Description=Oopsclaw Event - OpenClaw故障自动修复
After=network-online.target

[Service]
Type=oneshot
ExecStart=/bin/bash /home/duanz/.oopsclaw/oopsclaw-event.sh
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
Loading