以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。
编程
Log Collector
试用Permanent log collection agent. Collects logs and history from all nodes via SSH/VPN every 3 hours. Stores in logs.db with 30-day retention. Multi-node capab...
它能做什么
Permanenter Log-Sammel-Agent für alle Nodes im Cluster.
技能文档
Log Collector Sub-Agent
Permanenter Log-Sammel-Agent für alle Nodes im Cluster.
Aufgaben
| Intervall | Aufgabe | Details |
|---|---|---|
| 3 Stunden | Node-Abfrage | SSH über VPN zu allen Nodes |
| 3 Stunden | Log-Collection | System-Logs, OpenClaw-Logs, VPN-Status |
| 3 Stunden | Datenbank-Update | Schreibt in logs.db |
| Täglich | Retention-Cleanup | Löscht Logs > 30 Tage |
Multi-Node Support
| Node | Verbindung | Priorität |
|---|---|---|
| Node 1 (Gateway) | Lokal | Primär (Sammel-Node) |
| Node 2 (Netcup) | SSH → 10.10.0.2 | Abfrage-Ziel |
| Node 3 (xNetX) | SSH → 10.10.0.3 | Abfrage-Ziel |
| Node 4+ | SSH → 10.10.0.X | Variable Erreichbarkeit |
VPN-Priorität
1. Tailscale (primär) → schneller, stabil
2. WireGuard (fallback) → zuverlässiger Tunnel
3. SSH WAN (letzter Fallback) → langsamster
Datenbank: logs.db
Tabellen
| Tabelle | Inhalt |
|---|---|
| nodes | Bekannte Nodes mit VPN-IP, SSH-Keys |
| logs | Gesammelte Logs (max. 30 Tage) |
| ssh_connections | Verbindungs-Log (Erfolg/Fehler) |
| vpn_status | Tailscale/WireGuard Status |
| collection_runs | Abfrage-Tracking pro Durchlauf |
| node_logs_raw | Roh-Logs unverarbeitet |
Retention
-- Automatisch: Logs > 30 Tage löschen
DELETE FROM logs WHERE retention_until < datetime('now');
Abfrage-Workflow
# Für jeden Node in nodes-Tabelle:
for node in nodes:
# 1. VPN-Status prüfen
vpn_status = check_vpn(node.tailscale_ip) or \
check_vpn(node.wireguard_ip)
# 2. SSH-Verbindung versuchen
if ssh_connect(node.ssh_key_path, node.vpn_ip):
# 3. Logs abholen
logs = ssh_exec('journalctl -n 1000')
# 4. In logs.db speichern
insert_logs(node.node_id, logs)
else:
# 5. Fehler loggen
insert_ssh_error(node.node_id, "Connection failed")
Variable Erreichbarkeit
| Szenario | Verhalten |
|---|---|
| Node immer erreichbar | Normale Abfrage, vollständige Logs |
| Node manchmal erreichbar | Best-effort, sammelt wenn möglich |
| Node nie erreichbar | Wird trotzdem versucht, Fehler geloggt |
| Gateway offline | Lokale Buffer, später Übertragung |
Berechtigungen
exec: read_write_ssh
nodes: query_all
logs: collect_store
retention: cleanup_30d
Konfiguration
{
"log-collector": {
"enabled": true,
"collection_interval_hours": 3,
"retention_days": 30,
"nodes": [
{"id": "node1", "local": true},
{"id": "node2", "ssh_key": "~/.ssh/node2_key"},
{"id": "node3", "ssh_key": "~/.ssh/node3_key"},
{"id": "node4", "ssh_key": "~/.ssh/node4_key", "optional": true}
],
"vpn_priority": ["tailscale", "wireguard", "wan"]
}
}
Scripts
| Script | Zweck |
|---|---|
log_collector.py | Haupt-Collection-Logik |
ssh_connector.py | SSH-Verbindungen mit Fallback |
vpn_checker.py | VPN-Status-Prüfung |
retention_cleanup.py | 30-Tage Cleanup |
Logs
logs/log-collector/
├── 2026-04-18.log
├── collection-errors.log
└── run-summary.json
Installation
# Skill installieren
clawhub install log-collector
# Cron aktivieren (alle 3 Stunden)
0 */3 * * * /usr/bin/python3 /home/openclaw/.openclaw/workspace/skills/log-collector/scripts/log_collector.py
Troubleshooting
Problem: SSH-Verbindung fehlgeschlagen
Prüfung:
# VPN erreichbar?
ping 10.10.0.2
# SSH-Key korrekt?
ssh -i ~/.ssh/node2_key openclaw@10.10.0.2
Problem: Logs nicht in Datenbank
Prüfung:
# logs.db existiert?
ls -la db/logs.db
# Fehler-Log
tail logs/log-collector/collection-errors.log
Integration
- db-maintainer: Separate DB, gleiche Backup-Strategie
- workspace-db: Dokumentations-Index (separat)
- tree.db v2: Datei-Tracking (separat)
Hinweis: Konfiguration (SSH-Keys, IPs) nicht im Skill - muss in env/db konfiguriert werden.
相关技能
在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。
从 AdMapix API 拉取广告创意、应用、榜单和收入预估等数据,原样返回结构化 JSON。
把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。
诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。
编写、调试与调优 Playwright 测试,涵盖定位器策略、追踪诊断与 CI 友好的超时配置。
kikikari 的更多技能
浏览全部技能Robust JSON parsing and validation with Pydantic schemas, JSON Schema validation, batch processing, and automatic JSON repair for LLM outputs. Use when Codex...
Musikerkennung und AudD-Kontoverwaltung über den offiziellen AudD-MCP-Server (https://mcp.audd.io) und/oder die direkte HTTP-API. Ein eigener api_token ist optional — funktioniert per OAuth-MCP ganz ohne Token, mit Trial-Plan und mit bezahltem Plan, ebenso mit dauerhaft hinterlegtem Token. Nutze diesen Skill bei Songerkennung — "welcher Song ist das?", Audio-Clip oder Datei identifizieren, Shazam-artig, Radio-/Twitch-/YouTube-Streams überwachen, DJ-Sets, Podcasts oder Videos nach Tracks durchsuchen, Tracklists, Airplay-Monitoring, Copyright-Check — und bei allem rund um das AudD-Konto: api_token eintragen, hinterlegen, aus der Zwischenablage in den Secret-Vault übernehmen, in .env setzen, rotieren; Request-Kontingent, Verbrauch, Trial-Restlaufzeit, Plan-Upgrade, Rechnungen. Auch anwenden, wenn AudD nicht namentlich genannt wird, aber ein Audio-/Video-Link oder eine lokale Audiodatei identifiziert werden soll.
Baut einen "Companion" — eine lokal laufende Beobachtungs-Anwendung: kleiner Server auf 127.0.0.1, Doppelklick-Starter, installierbare PWA, optionale Browser-Erweiterung, Meldung beim Zustandswechsel, Dauerbetrieb im Container. Nutze diesen Skill, sobald jemand etwas dauerhaft im Auge behalten und benachrichtigt werden will — Livestreams, Kanäle, Feeds, Preise, Build-Zustände, Serververfügbarkeit, Ordner, Warteschlangen. Auch wenn die Anfrage nur nach einem Teil klingt: "sag mir Bescheid wenn X online geht", "kleines Tool das im Hintergrund läuft", "Statusseite für Y", "als App installierbar", "soll dauerhaft laufen", "auch nach Neustart", "als Docker-Container". Besonders wichtig bei einer einzelnen HTML-Datei, die fremde Daten abruft: ob das trägt, hängt an einer CORS-Freigabe, die man vorher prüfen muss — sonst bleibt die Datei beim Nutzer leer.
Diagnose und Einrichtung fremder, offizieller MCP-Server (Konnektoren) in der Claude-App. Nutze diesen Skill, wenn jemand fragt: gibt es für diesen Anbieter einen offiziellen MCP-Server, trag mir den als Konnektor ein, warum sehe ich die Tools von dem Dienst nicht, welche Scopes braucht er, mein Konnektor antwortet nicht, MCP-Server hinzufügen, Connector verbinden, Server hängt in "connecting", invalid_scope, 401 nach Wochen, Tools verschwunden. Unterscheidet fünf Zustände — offen ohne Konto, verbunden mit Tools, verbunden ohne Tools, installiert aber unangemeldet, gar nicht vorhanden — und nennt pro Zustand den konkreten nächsten Schritt. Nicht anwenden bei reinen Preisfragen zu einer API, bei Code-Anfragen oder bei der allgemeinen Frage, was MCP überhaupt ist.
Führt Architekturanalyse, Komplexitätsmessung, Abstraktionsschicht-Design, Vendor Lock-in Bewertung, Refactoring-Planung und Software-Qualitätsbewertung durch.
TikTok LIVE monitor. Check whether a TikTok user is live right now, resolve their current m3u8 stream URL, or spawn a background daemon that polls them over a timer window and emits go_live / go_offline / rename_detected events for the sub-agent to announce.