以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。
编程
JSON Utils
试用Robust JSON parsing and validation with Pydantic schemas, JSON Schema validation, batch processing, and automatic JSON repair for LLM outputs. Use when Codex...
它能做什么
Robuste JSON-Verarbeitung mit Pydantic-Validierung, JSON Schema Support und automatischer JSON-Reparatur.
技能文档
JSON Utils
Robuste JSON-Verarbeitung mit Pydantic-Validierung, JSON Schema Support und automatischer JSON-Reparatur.
Erweiterte Nutzung
Für WebSearch-Integration und Multi-Environment JSON-Verarbeitung siehe:
../scripting-utils/- Kombiniert JSON-Utils mit WebSearch für API-Dokumentation und Response-Validierung
Module
Installation
pip install pydantic json-repair jsonschema
Module
| Script | Zweck |
|---|---|
json_processor.py | Kern-Funktionen: Parsing, Validierung, Tool-Calls |
json_schema_validator.py | JSON Schema Draft 7/2020-12 Validierung |
json_batch_processor.py | Batch-Verarbeitung & JSON-Lines (NDJSON) |
validate_tool_output.py | CLI für Tool-Output Validierung |
Quick Start
from json_processor import parse_json, parse_and_validate, validate_tool_call
from pydantic import BaseModel
# Einfaches Parsing mit Auto-Reparatur
result = parse_json('{"name": "test", "value": 123,}') # trailing comma OK
# Mit Pydantic-Validierung
class ToolCall(BaseModel):
tool: str
arguments: dict = {}
llm_output = '{"tool": "search", "arguments": {"q": "hello"},}'
validated = parse_and_validate(llm_output, ToolCall)
Integration mit scripting-utils
# Für erweiterte JSON-Verarbeitung mit WebSearch:
from scripting_utils.json_websearch import WebSearchJSON
# Sucht API-Doku, validiert Responses, generiert Schemas
ws = WebSearchJSON()
result = ws.search_and_validate(
query="github api repos endpoint",
schema_path="github_schema.json"
)
Siehe ../scripting-utils/scripts/json_websearch.py für:
- API-Dokumentation via WebSearch
- Auto-Generierung von JSON-Schemas
- Batch-Validierung von API-Endpoints
- Cross-Platform JSON-Verarbeitung
Szenarien
1. LLM-Output verarbeiten
from json_processor import parse_json
# Verschiedene Input-Formate
parse_json('{"valid": true}') # Direkt OK
parse_json('```json\n{"valid": true}\n```') # Aus Code-Block extrahiert
parse_json('{"valid": true,}') # Trailing comma repariert
parse_json('Some text {"tool": "x"} more text') # JSON aus Text extrahiert
2. JSON Schema Validierung
from json_schema_validator import validate_with_jsonschema, SchemaBuilder
# Gegen Datei validieren
validate_with_jsonschema(data, "/path/to/schema.json")
# Dynamisches Schema erstellen
schema = SchemaBuilder.object(
properties={
"name": SchemaBuilder.string(min_length=1),
"age": SchemaBuilder.integer(minimum=0),
"tags": SchemaBuilder.array(SchemaBuilder.string())
},
required=["name"]
)
3. Batch-Verarbeitung
from json_batch_processor import process_file_batch, process_jsonl_file
from pathlib import Path
# Mehrere JSON-Dateien parallel
results = process_file_batch(
[Path("a.json"), Path("b.json"), Path("c.json")],
repair=True,
max_workers=4
)
# JSON-Lines (NDJSON) verarbeiten
results = process_jsonl_file(Path("data.jsonl"))
for result in results:
if result.success:
print(f"[{result.source}] OK: {result.data}")
else:
print(f"[{result.source}] ERROR: {result.error}")
4. JSON-Lines verarbeiten
# Konvertiere JSON-Array zu JSON-Lines
python json_batch_processor.py data/*.json --output output.jsonl
# JSON-Lines validieren
python json_batch_processor.py data.jsonl --jsonl --repair
5. Tool-Call validieren
from json_processor import validate_tool_call
result = validate_tool_call('{"tool": "weather", "arguments": {"city": "Berlin"}}')
# Mit Tool-Namensprüfung
try:
result = validate_tool_call(raw_json, tool_name="weather")
except JSONValidationError:
pass # Falscher Tool-Name
CLI-Nutzung
Einzelnes JSON:
# Datei parsen
python scripts/json_processor.py -f output.json --pretty
# String parsen mit Reparatur
python scripts/json_processor.py '{"test": 123,}' --repair --pretty
JSON Schema Validierung:
python scripts/json_schema_validator.py input.json -s schema.json
Batch-Verarbeitung:
# Mehrere Dateien
python scripts/json_batch_processor.py *.json --workers 8
# JSON-Lines
python scripts/json_batch_processor.py data.jsonl --jsonl --output results.jsonl
# Nur Summary
python scripts/json_batch_processor.py *.json --summary
API-Dokumentation
Siehe references/api_reference.md für vollständige API-Dokumentation.
Exception-Hierarchie
JSONProcessingError (Base)
├── JSONValidationError (Pydantic/Schema-Fehler)
│ └── SchemaValidationError (JSON Schema spezifisch)
└── JSONRepairError (Reparatur nicht möglich)
Häufige Fehler repariert
- ✅ Trailing commas:
{"a": 1,}→{"a": 1} - ✅ Markdown-Blocks:
\``json\n{}\n```→{}` - ✅ JavaScript-Kommentare:
{"a": 1} // comment→{"a": 1} - ✅ Unescaped newlines in Strings
- ✅ Einzelne statt doppelte Anführungszeichen
相关技能
在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。
把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。
诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。
编写、调试与调优 Playwright 测试,涵盖定位器策略、追踪诊断与 CI 友好的超时配置。
从 AdMapix API 拉取广告创意、应用、榜单和收入预估等数据,原样返回结构化 JSON。
kikikari 的更多技能
浏览全部技能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...
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.