本文へ移動
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

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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

日本語の概要は準備中です。原文の説明を表示しています。

openamer/openamer52026年10月11日 更新

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/openamer52026年10月11日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

openamer/openamer52026年10月11日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

openamer/openamer52026年10月11日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

openamer/openamer52026年10月11日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

openamer/openamer52026年10月11日 更新

openamer のスキルをすべて見る

このスキルの問題を報告する