본문으로 건너뛰기
cccskills
무료GitHub에 공개

webhook-engine

Use for Webhook Engine on port 8900: rules, actions, API.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md4.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Webhook Engine — Event-Triggered Automation

Überblick

Event-getriggerter Automatisierungsserver auf Port 8900. Empfängt Webhooks, wertet Regeln aus und führt Aktionen aus (Scripts ausführen, Alarme senden, Dienste neu starten, Loggen).

Standorte

KomponentePfad
ScriptC:\Users\damir\scripts\webhook-engine.py
RegelnC:\Users\damir\.webhook-engine\rules.json
ZustandC:\Users\damir\.webhook-engine\state.json
LockC:\Users\damir\.webhook-engine\server.lock

Verwendung

# Server starten
python3 /c/Users/damir/scripts/webhook-engine.py --start

# Regel hinzufügen
python3 /c/Users/damir/scripts/webhook-engine.py --add-rule '{"event":"git-push","action":"send-alert"}'

# Regel mit Bedingung + Action-Dict
python3 /c/Users/damir/scripts/webhook-engine.py --add-rule '{"event":"cron-fail","condition":{"job_id":"backup"},"action":{"type":"run-script","path":"notify.py"}}'

# Regeln auflisten
python3 /c/Users/damir/scripts/webhook-engine.py --list-rules

# Log anzeigen (letzte 50 Events)
python3 /c/Users/damir/scripts/webhook-engine.py --log

# Regel entfernen
python3 /c/Users/damir/scripts/webhook-engine.py --remove-rule rule-1

# Log leeren
python3 /c/Users/damir/scripts/webhook-engine.py --clear-log

# Health-Check
python3 /c/Users/damir/scripts/webhook-engine.py --health

# Cron: Restart wenn down
python3 /c/Users/damir/scripts/webhook-engine.py --ensure-running

API Endpoints

MethodePfadBeschreibung
POST/webhook/<name>Webhook empfangen (JSON-Body)
POST/webhookGenerisches Event
GET/healthHealth-Check
GET/rulesRegeln auflisten
GET/stateZustand anzeigen

Events

Standard-Event-Typen:

EventBeschreibungTypische Daten
git-pushGit Push{"repo":"...","branch":"...","commits":[...]}
cron-failCron-Job Fehler{"job_id":"...","error":"..."}
thresholdMetrik-Schwellwert{"metric":"...","value":42}

Der Event-Typ wird aus event oder event_type im JSON-Body gelesen; fällt der auf den Webhook-Namen zurück.

Actions

ActionParameterBeschreibung
run-scriptpath, args[]Python-Script ausführen
send-alertmessageAlert ausgeben (stdout, für Monitoring)
restart-servicenameService neustarten (taskkill/systemctl)
log-eventdataDaten loggen

Action als String (Kurzform)

{"event":"cron-fail","action":"send-alert"}

Action als Dict (mit Parametern)

{"event":"cron-fail","action":{"type":"run-script","path":"notify.py","args":["cron-fail"]}}

Bedingungen (Conditions)

Bedingungen verwenden Dot-Notation für den Zugriff auf Event-Daten:

{
  "event": "git-push",
  "condition": {"branch": "main"},
  "action": "send-alert"
}
{
  "event": "cron-fail",
  "condition": {"job_id": "backup"},
  "action": {"type": "run-script", "path": "alert_admin.py"}
}

Regelformat (rules.json)

[
  {
    "id": "rule-1",
    "event": "git-push",
    "condition": {"branch": "main", "repo": "openamer/openamer"},
    "action": {"type": "send-alert", "message": "Push on main: {branch}"}
  },
  {
    "id": "rule-2",
    "event": "cron-fail",
    "action": {"type": "run-script", "path": "notify.py"}
  }
]

Cron-Job (alle 5 Minuten)

Der Cron-Job webhook-engine-health prüft alle 5 Minuten, ob der Server läuft, und startet ihn bei Bedarf neu. Definiert in der OpenAmer jobs.json.

Manuelle Events senden (Test)

# git-push Event
curl -X POST http://localhost:8900/webhook/git \
  -H "Content-Type: application/json" \
  -d '{"event":"git-push","repo":"openamer/openamer","branch":"main","commits":["abc123"]}'

# cron-fail Event
curl -X POST http://localhost:8900/webhook/monitoring \
  -H "Content-Type: application/json" \
  -d '{"event":"cron-fail","job_id":"backup","error":"Timeout"}'

# threshold Event
curl -X POST http://localhost:8900/webhook/metrics \
  -H "Content-Type: application/json" \
  -d '{"event":"threshold","metric":"cpu","value":95}'

# Health-Check
curl http://localhost:8900/health

Troubleshooting

  • Port 8900 already in use: netstat -ano | findstr :8900 → taskkill /PID <id> /F
  • Rules not matching: Prüfe den Event-Namen im JSON-Body (event oder event_type Feld)
  • Script not found: Pfad in rule["action"]["path"] muss relativ zu ~/scripts/ oder absolut sein
  • Server hängt: taskkill /F /IM python.exe und Neustart
  • Lock stale: Lösche C:\Users\damir\.webhook-engine\server.lock

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Build integrated IS/BS/CF financial workbooks in Excel.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

openamer/openamer82026년 10월 21일 업데이트

a2a-swarm

무료

Run and grow the OpenAmer Agent-to-Agent swarm: identity, trust, node-to-node ask, signed skill/insight sharing, and the autonomous self-learning loop.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

openamer/openamer82026년 10월 21일 업데이트

Use for A/B experiments on OpenAmer configs and skills.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

openamer/openamer82026년 10월 21일 업데이트

Roleplay a hostile user to find and triage UX pain points.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

openamer/openamer82026년 10월 21일 업데이트

Agent mesh: master/worker nodes, HTTP delegation, heartbeat.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

openamer/openamer82026년 10월 21일 업데이트

Use for agentic commerce payments tasks. Candidate synthesized from trend radar; awaiting trial promotion.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

openamer/openamer82026년 10월 21일 업데이트

openamer의 스킬 모두 보기

이 스킬의 문제 신고