TypeScript · JavaScript · LLM tools
Zwei Libraries für Textreviews.
Regeln und Prüf-Prompts für deinen Agenten. Markierungen und Textauswahl für deine Website. Beide Pakete lassen sich unabhängig einbinden.
Tooling · @voice/writing-rules
Ein Textreview vorbereiten
20 Regeln mit Beispielen und Ausnahmen, vier Review-Profile, zusammensetzbare Prompts und lokale Musterprüfungen. Vier LLM-Tools machen diese Funktionen aus einem Agent-Ablauf aufrufbar.
Tool-Aufrufe und Beispiel ↗HTML · @voice/review
Befunde auf der Seite zeigen
Befunde am passenden Text markieren, native Textauswahl erhalten und Zitat sowie Quellposition an deine Anwendung zurückgeben. Deine Anwendung stellt Entscheidungen und Alternativen dar und speichert sie.
Die HTML-Library ausprobieren ↗Voice als LLM-Tool verwenden
Deine Anwendung registriert die Tool-Schemas beim Modell und übergibt dessen Aufrufe an den Dispatcher. Zielgruppe und Textziel kommen aus deiner Anwendung. Der Dispatcher liefert Regelwissen, einen Prüf-Prompt oder lokale Signale zurück.
import {
createWritingToolDispatcher,
writingReviewTools,
} from '@voice/writing-rules/tools';
const dispatcher = createWritingToolDispatcher({
reviewContext: {
audience: 'Developers reading the setup guide',
goal: 'Open a folder and complete a review',
},
});
// Register these schemas in your model's tool format.
const definitions = writingReviewTools;
// Dispatch a decoded tool call from your agent.
const result = await dispatcher.dispatch({
name: 'compose_writing_review_prompt',
arguments: { profile: 'public-docs', language: 'en' },
});Das Beispiel läuft lokal. Deine Anwendung führt Modellaufrufe aus und validiert die Antworten. Die ESM-Pakete enthalten TypeScript-Deklarationen; sie werden im Workspace gebaut und sind noch nicht auf npm veröffentlicht.
Tool-Schemas, Rückgaben und vollständige Beispiele ↗
Passende Prompts und Modellvergleiche
Wähle ein Review-Profil und bei Bedarf einzelne Regeln. Der Prüf-Prompt enthält konkrete Anweisungen, bedingte Beispiele und Fälle, in denen der Text bleiben soll. Er bezieht Zielgruppe und Ziel in den Prüfauftrag ein.
Für die verfügbaren Modelle kann deine Anwendung gespeicherte Benchmark-Ergebnisse anbinden. Das Tool get_model_comparison_evidence kann je nach Nachweislage einen oder beide Vergleiche zurückgeben: die günstigste Option, die deine Qualitätskriterien erfüllt, und die höchste beobachtete Problemerkennung. Sprache, Review-Profil und Testbestand müssen passen; Fehlalarme, Quellnachweise und Grenzen gehören zum Ergebnis.
Aktuell liegt kein qualifizierter Modellvergleich vor. Ohne passende Nachweise liefert das Tool evidence-missing. Die Library berechnet keine Rangliste; die Benchmark-Auswertung prüft gespeicherte Antworten und unabhängige menschliche Bewertungen.
Qualitätskriterien, Dateibaum und reproduzierbare Auswertung ↗ · Forschung, Regeln und statische Analyse ↗
Die HTML-Library ausprobieren
Das Beispiel verwendet das gebaute Browser-Bundle. Die Unterstreichung ist ein vorgegebener Beispielbefund, kein Analyzer-Urteil. Eine Textauswahl zeigt das genaue Zitat und seinen UTF-16-Bereich. Es wird nichts gespeichert und kein Modell aufgerufen.
Was das Paket macht
mountVoiceReview zeichnet übergebene Befunde und Feedback anhand von Textbereichen. Die normale Textauswahl und Seitenbedienung bleiben erhalten. Explizite Text-IDs und exakte Vergleiche verhindern stille Fehlzuordnungen. Die Anwendung liefert eine zugängliche Befundliste und Speicherfunktionen.
import { mountVoiceReview, type TextUnit }
from '@voice/review';
export function review(root: HTMLElement) {
const text = 'Clear copy.';
root.textContent = text;
root.dataset.voiceUnit = 'intro';
const unit: TextUnit = {
id: 'intro', text, kind: 'paragraph', language: 'en',
sourceSpan: { start: 0, end: text.length, encoding: 'utf16' }
};
const controller = mountVoiceReview({
root, units: [unit], findings: [], feedback: [],
onSelect: selection => console.info(selection.quote)
});
return () => controller.dispose();
}Das ESM-Paket im Workspace verwenden oder voice-review.js in lokale Assets kopieren. Die Library benötigt keine Angular-Laufzeit und wurde nicht auf npm veröffentlicht.
IntelliSense für TypeScript und JavaScript
Der öffentliche ESM-Einstieg liefert Deklarationen und JSDoc. Editoren mit TypeScript Language Service ergänzen update, selectFinding, getDiagnostics und dispose; Auswahl-Callbacks kennen unitId, quote, start und end. JavaScript verwendet // @ts-check und JSDoc-Typimporte. Auch der globale Einstieg des Browser-Bundles besitzt eine reine Typreferenz.
Die Tests kompilieren isolierte Anwendungen gegen die ausgelieferten Deklarationen und prüfen echte Vervollständigung sowie Hover-Texte im Language Service. Die VS-Code-Oberfläche wird dabei nicht automatisiert.
Typisierte Beispiele und Vertrag öffnen
Eigene KI- oder Agent-Abläufe verbinden
Deine Anwendung startet die Analyse und validiert die Antwort. Codepoint-Positionen in UTF-16 umrechnen, Text-ID und genaues Zitat prüfen und die Quellversion festhalten, bevor Befunde übergeben werden. Die Library stellt die Befunde dar; das Backend verwaltet Zugangsdaten, dauerhafte Entscheidungen, Vorschläge und Quelländerungen. Die Live-Bridge tauscht nur Review-Nachrichten mit dem konfigurierten Studio-Elternfenster oder Öffner aus.
Agent-Anbindung und Ergebnisgrenzen · Runner-Adapter im Studio
Prüfregeln zusammenstellen
@voice/writing-rules liefert einen versionierten Regelkatalog, Review-Profile und zusammensetzbare Prompts. Lokale Musterprüfungen markieren Kandidaten für das Review. Deine Anwendung führt Modellanalysen aus und validiert die zurückgegebenen Befunde.