Kshana aus einem KI-Agenten nutzen
Für einen Agenten (oder die Person, die ihn anleitet): welches Werkzeug für welche Frage aufzurufen ist, was die Werkzeuge tun und nicht tun und was bei jeder Antwort mitzuführen ist. Oberflächen und die Zellen, die auf einer bestimmten Oberfläche nicht verfügbar sind: SURFACES.md.
Verbinden#
npx -y kshana-mcp@0.37.0 # or: uvx kshana-mcp==0.37.0, brew, scoop, winget, cargo, docker
Eine Passage, die KI-Clients von Drittanbietern nennt, ist hier ausgelassen; sie steht in docs/AGENTS.md auf GitHub.
Die Regel für jede Antwort#
Führen Sie die Engine aus; raten Sie die Zahlen nicht. Geben Sie wieder, was ein Werkzeug zurückgab, mit seiner Einheit und seiner Evidenzstufe (VALIDATED gegen eine unabhängige externe Referenz, oder MODELLED), dem Szenario, dem Seed und der Engine-Version, damit der Lauf wiederholt werden kann. Behalten Sie die eigenen Vorbehalte jedes Ergebnisses bei ihm.
Welches Werkzeug für welche Frage#
| Die Frage | Werkzeug (MCP) | Slash-Befehl |
|---|---|---|
| Ein PNT-Szenario ausführen oder erklären (Orbits, GNSS, Zeitgebung, Fusion, Mond, optische Verbindungen, ...) | list_scenario_kinds, list_example_scenarios, get_example_scenario, validate_scenario, run_scenario, report_scenario, animate_scenario, export_sp3, export_omm, export_oem, export_interop, list_export_formats, export_table_csv |
/kshana-run |
| War dieses Empfängerprotokoll oder das NMEA dieses Schiffes vertrauenswürdig, und wann hörte es auf, es zu sein? | assess_receiver_log (jedes Protokollformat), assess_vessel_log (NMEA eines Schiffes, Stapellauf), assess_vessel_stream (begrenzter Ausschnitt) |
/kshana-assess-receiver |
| Ich brauche synthetisches NMEA mit einem jamming-, Drag-off-, Zeit-spoofing- oder Replay-Ereignis für die Ausbildung | generate_training_nmea |
/kshana-training-scenario |
| Den Vertrauenswert eines Schiffes in Monitoring- oder SIEM-Formaten zeigen (Prometheus, CEF, LEEF, OTLP) | trust_telemetry |
/kshana-trust-telemetry |
| Ein Empfängerprotokoll gegen den veröffentlichten Jammertest-Zeitplan bewerten (Erkennungslatenz, verpasste Alarme, Fehlalarme, Zeit bis zur Erholung) oder diesen Plan in Ereignisse umwandeln | jammertest_score, jammertest_import |
/kshana-jammertest |
| Einen manipulationssicheren Nachweis darüber erstellen, was die Engine zu einem Zeitfenster des Protokolls eines Schiffes gesagt hat, oder einen prüfen | create_evidence_pack, verify_evidence_pack, attach_evidence_timestamp |
/kshana-evidence-pack |
| Für welche Galileo-Satelliten authentifiziert dieser Empfängerdatenstrom die Navigationsdaten (OSNMA)? | keines: nicht auf MCP. Verwenden Sie kshana osnma verify (CLI), kshana.osnma_verify (Python) oder osnma_verify (WASM, die OSNMA-Karte im Studio) |
kein Slash-Befehl |
| Ich brauche die Fahrzeugbewegung und die Ereigniszeiten eines Szenarios, um sie über einen GNSS-Simulator im Labor abzuspielen | export_test_bench |
/kshana-bench-export |
| Für welche Anforderungszeilen öffentlicher Rahmenwerke liefern diese Läufe Belege, und wie groß ist die Lücke? | compliance_report (aus Ergebnistext), compliance_mapping (die Tabellen, keine Läufe) |
/kshana-compliance-report |
| Ein bewertetes Normenpaket (DHS-RPCF-Testprofile, IMO MSC.1/Circ.1575, ICAO Doc 9849 Anhang F) gegen Zielwerte ausführen, die vor dem Lauf festgelegt wurden? | list_standards_packs, run_standards_pack (den Bericht für die Zeilen an compliance_report übergeben) |
|
| Das LunaNet Augmented Forward Signal (Codes, SB1, Rahmenformat) gegen LNIS V5 / LSIS-AFS V1.0 prüfen oder einen Symbolstrom prüfen? | lunanet_afs_check (mode spec, symbols oder generate); LDPC und CRC-24Q der Subframes 2 bis 4 sind nicht verifiziert |
|
| Einen Laborlauf (Szenario, angegebene Testbedingungen, Empfängerprotokoll, Bewertung) in einem signierten Paket verknüpfen? | create_round_trip_pack nach export_test_bench (docs/spec/TEST-CONDITIONS.md) |
|
| Eine Erkennungs- oder holdover-Einreichung gegen eine kshana-bench-Wahrheitsdatei bewerten oder Ergebnisdateien als Bestenlistenseite darstellen? | score_benchmark, render_leaderboard |
— |
| Ich brauche ein Szenario, das eine GeoJSON-Route abfliegt (terrain-nav, terrain-slam, gravity-map, combined-altpnt) | import_route |
/kshana-import-route |
| Welche Satelliten sieht ein Nutzer in einer Straße, einem Hafen, einem Fjord oder einem Containerterminal, und wie groß sind DOP und Fehlerellipse? | sky_geometry (eine Anfrage oder ein skyline_preset); der Abschnitt [skyline] eines Szenarios über run_scenario (orbit und integrity brauchen user_site) |
/kshana-run |
| Wo sah GNSS gestört aus, und wie viel dieser Route liegt darin? | build_interference_map, dann route_exposure |
/kshana-interference-map |
| GNSS-IQ-Aufzeichnungen (Szene, Akquisition, Verfolgung, Front-End, Kampagnen) | zuerst iq_signals, dann die iq_*-Werkzeuge |
/kshana-iq |
Die Skills vessel-receiver-trust, training-nmea-scenario, trust-telemetry, compliance-mapping, test-bench-export, gnss-iq und interference-map-route-exposure tragen die folgenden Regeln für Agenten, die Skills laden.
Was jedes Werkzeug nicht tut#
- Dateien lesen oder schreiben. Der Inhalt ist inline: Eingaben sind Text in der Anfrage, auf 4 MiB begrenzt, und ein Szenariofeld, das eine Datei benennt, wird abgelehnt. Nur die
iq_*-Werkzeuge berühren einen Ordner, und zwar nur den, denKSHANA_MCP_IQ_DIRbenennt, wobei jeder Pfad darauf beschränkt ist. - OSNMA verifizieren. Es gibt kein MCP-Werkzeug: Die Eingabe ist ein langer roher Empfängerdatenstrom (I/NAV-Seiten oder eine UBX-Aufzeichnung), was zur CLI und zu Python passt, und ein Werkzeug, das einen solchen annähme, würde eine große Eingabefläche ohne Nutzen hinzufügen. Verweisen Sie den Benutzer auf
kshana osnma verify <file> --public-key ... --json(oder Pythonosnma_verify). Was auch immer seine Ausgabe sagt, geben Sie den Hinweis wörtlich weiter: nur Authentifizierungsstatus, kein Navigationsintegritätsdienst, keine typzugelassene Navigationsausrüstung und keine Aussage zur spoofing-Abwehrleistung; ein Ergebnis ist nur mit einer Merkle-Wurzel oder einem öffentlichen Schlüssel aussagekräftig, den der Benutzer auf anderem Weg erhalten hat. - Einen Prozess ausführen.
receiver-trust liveals laufender Datenstrom (mit einem Gate und--listen), die Telemetrie-Exporter (trust-telemetry: Prometheus, syslog, OTLP) und das Streamen von Trainings-NMEA an eine Adresse gibt es nur auf der Befehlszeile.assess_vessel_streambewertet einen Ausschnitt mit derselben Engine und schreibt an keinen Port. Die Ausschnittswerkzeuge geben das Live-JSON-Lines-Schema 1,3 zurück (eineadvisory-Aussage und die Satelliten-geometryin jeder Epoche, eineclassbei jedem Abzug); die CSV eines Schiffslaufs beginnt mit einer#-Kommentarzeile, die dieselbe Aussage trägt, lesen Sie sie also mit einer Kommentaroption.--udpund--listen tcp:binden an die Loopback-Adresse, sofern nichts anderes vorgegeben ist. - Ein Signal schreiben.
export_test_benchgibt Fahrzeugbewegung und benannte Ereignisintervalle als Text zurück; nichts davon ist ein Hochfrequenz- oder Basisbandsignal, modelliert eines oder steuert eines, und ein Ereignis ist keine Anleitung zur Erzeugung von Störungen. Geben Sie seinennoticemit den Dateien weiter; der Simulator und sein Betreiber sind dafür verantwortlich, sie nur dort auszuführen, wo es erlaubt ist. - Mehr sagen, als die Zuordnung sagt.
compliance_reportgibt an, für welche Rahmenwerkzeilen eine Reihe von Läufen Belege liefert, mit der Lücke jeder Zeile. Es sagt nie, dass ein Rahmenwerk erfüllt ist oder ein Produkt bewertet oder genehmigt wurde; geben Sie seinestatementwörtlich weiter und sagen Sie „liefert Belege für“, nichts Stärkeres. Es liest Ergebnis- und Szenariotext, den Sie übergeben, nie einen Pfad. - Daten abrufen. Der Download der Landpolygone gibt es nur auf der Befehlszeile, und er braucht
--allow-network. Übergeben Sie die Landdatei, falls gewünscht, als Text. Verwenden Sie nur Daten, die der Benutzer nutzen darf. - Irgendetwas senden oder HF synthetisieren. Der Trainingsgenerator schreibt NMEA-Text; die IQ-Schicht schreibt Abtastdateien für Software-Empfänger.
Was bei der Antwort mitzuführen ist#
| Ausgabe | Mitführen |
|---|---|
| Satellitengeometrie und Abzugsklassen (0,36) | Geben Sie die Geometrie neben der Bewertung und die Klasse jedes Abzugs so wieder, wie sie zurückgegeben wurden: geometry bedeutet den Himmel (eine Aussage über den Himmel, kein Befund, dass kein Angriff stattfand), environment die Signalumgebung, inconsistency angriffsartige Belege. Sagen Sie „Geometrie unbekannt“, wenn der Status unknown ist (kein GSV oder GSA im Protokoll); leiten Sie keine ab. Die Schwellen sind MODELLED mit angegebener Herkunft. |
| Vertrauenswert des Empfängers | Beratend: keine typzugelassene Navigationsausrüstung (IEC 61108, IEC 61162); der Betreiber bleibt verantwortlich. MODELLED. Geben Sie die Grenzen des Schiffes vor dem Lauf an und stimmen Sie keine Schwelle auf ein Ergebnis ab. Ein hoher Wert ist kein Beweis für eine echte Positionslösung; die Prüfungen können einen Spoofer nicht sehen, der mit jedem anderen Sensor konsistent ist. |
| Nachweispaket | Ein technischer Nachweis, kein Rechtsgutachten, keine Tatsachenfeststellung und keine Genehmigung. Verifizieren Sie mit dem öffentlichen Schlüssel des Unterzeichners, den Sie auf anderem Weg erhalten haben; ohne ihn lautet das Urteil intact-signer-not-pinned, was nur die Integrität gegen den Schlüssel belegt, den das Paket selbst nennt: Sagen Sie „unversehrt, Unterzeichner nicht festgestellt“, nie „verifiziert“. Geben Sie in einer Unterhaltung nie einen Signatur-Seed zurück, protokollieren oder erfragen Sie ihn nicht, wenn der Schlüssel zählt: Verwenden Sie die CLI. |
| Trainings-NMEA | Nur Text, für Ausbildung und Test, nie für die Live-Navigationssysteme eines Schiffes. Geben Sie den Seed und das Ausbilderprotokoll zurück. |
| Störungskarte, Routenexposition | Wie die Genauigkeitscodes gelesen werden und die Raster- und Routengeometrie sind gegen unabhängige Bibliotheken an synthetischen Eingaben VALIDATED; die Schwellen der Methode bleiben MODELLED, und dass eine gestörte Zelle Störung ist, wird nicht geprüft: Eine gestörte Zelle benennt Störung nicht als Ursache. Eine nicht beobachtete Zelle ist kein Beleg für eine freie Route. Vergangene Meldungen, keine Prognose. Nur aggregiert: Versuchen Sie nicht, Kennungen wiederherzustellen. ADS-B- und AIS-Karten bleiben getrennt. |
Senderregion (interference-map locate) |
MODELLED: eine zulässige Region unter Funksichtverbindung, keine Positionsbestimmung. Geben Sie die Region mit ihrer genannten Konfidenz zusammen mit dem Schwerpunkt und seiner Ellipse an, nie den Schwerpunkt allein; sagen Sie unconstrained, wenn die Daten sie nicht eingrenzen; sagen Sie, dass sie vom Modell abhängt (nur an synthetischen Daten geprüft; der vorab festgelegte Jammertest-Vergleich wurde einmal ausgeführt und war für beide Quellen NOT ASSESSABLE, es wurde also extern nichts getestet). Neutrale Formulierung: „geschätzte Senderregion“; benennen oder unterstellen Sie nie, wer oder was hinter einer Quelle, einem Staat, einer Streitmacht oder einer Absicht steht. Nur aggregiert; versuchen Sie nicht, Kennungen wiederherzustellen. Das Veröffentlichen von Senderregionen im öffentlichen Observatorium ist ausgeschaltet. |
| Himmelsgeometrie, Horizontlinie | MODELLED-Geometrie unter einem angegebenen Fehlermodell, nur Sichtverbindung: keine Beugung, Mehrwegeausbreitung oder Nicht-Sichtverbindungs-Empfang. Die Vorgaben sind REPRESENTATIVE, keine Vermessungen; geben Sie die Herkunft der Vorgabe mit. Konstellationsvorgaben sind ein repräsentativer Himmel, nicht der Himmel eines bestimmten Datums. Die Ellipse skaliert ein angegebenes UERE: keine gemessene Genauigkeit und keine Integritätsschranke. Behalten Sie den advisory bei. |
Verfügbarkeit optischer Verbindungen (optical-atmosphere, 0,37) |
MODELLED, beratend. Die Wolkenklimate sind angegebene Eingaben, kein Datensatz, und es wurde kein gemessener Verfügbarkeitsnachweis verglichen: Sagen Sie „unter diesen Annahmen“, nie „die Verfügbarkeit an diesem Standort“. Behalten Sie die Obergrenze des Standorts (availability_ceiling_pct: was keine Reserve anhebt) neben seiner Verfügbarkeit bei und sagen Sie, welche Technikgewinne Eingaben sind (Kshana modelliert keine adaptive Optikschleife). Die Numerik ist gegen ein unabhängiges Programm geprüft, das die Implementierung der Formeln prüft und nicht die Atmosphäre. |
Holdover-Test (holdover-test, 0,38) |
MODELLED, beratend. Sagen Sie „gegen die Maske gemessen“, nie, dass eine Uhr oder ein System eine Empfehlung erfüllt oder gegen sie zugelassen ist. Die zwei Zeiten (GNSS entfernt, GNSS wiederhergestellt) sind die Aussage des Betreibers: Kshana hat nichts entfernt oder wiederhergestellt und kann sie nicht prüfen, zitieren Sie sie also wie angegeben. Eine Maske, für die der Nachweis zu kurz ist, ist INCOMPLETE, nie bestanden. Ein Servoprotokoll (linuxptp, chrony) ist der Fehler unter Servoregelung, keine unabhängige Messung gegen UTC; sagen Sie, aus welchem Nachweis die Zahlen stammen. Siehe docs/TIMING-HIL.md. |
| Jedes Szenarioergebnis | Das figure_tiers oder label, das es angibt, und die Herkunftszeile. |
Grenzen#
Verwenden Sie synthetische oder die eigenen Daten des Benutzers. Nennen Sie in Ausgaben keine Personen, Schiffe oder Organisationen, die nicht in der Eingabe des Benutzers standen. Kshana ist ein Analyse- und Ausbildungswerkzeug, kein Flug- oder Navigationsprodukt.