Strojový překlad, nekontrolovaný rodilým mluvčím. Referenční je anglická verze.

API a integraceUpravit na GitHubuZdroj: ide/jetbrains/README.md

Kshana pro IDE JetBrains

Install: Kshana — PNT simulator na JetBrains Marketplace — nebo v kterémkoli IDE JetBrains Settings → Plugins → Marketplace → vyhledejte „Kshana“.

Nativní zásuvný modul, který spouští simulátor odolnosti PNT Kshana uvnitř kteréhokoli IDE JetBrains (IntelliJ IDEA, CLion, RustRover, PyCharm, …). Klikněte pravým tlačítkem na scénář .toml → Run Kshana Scenario; ukazatele kvality a výsledek JSON se průběžně zobrazují v okně nástroje Kshana.

Doplňuje server MCP (který dává AI Assistant od JetBrains přístup ke Kshaně): tento zásuvný modul je cesta pro člověka, klikáním.

Co dělá#

  • Akce Run Kshana Scenario na libovolném .toml (kontextové nabídky editoru a zobrazení projektu) — spustí kshana <file> a zobrazí výstup v okně nástroje Kshana.
  • Assess Receiver Trust na scénáři receiver-trust .toml (kshana receiver-trust): časová osa důvěry se skóre 0–100 a důvody pro plavidlo. Software pouze poradního charakteru, nikoli typově schválené navigační zařízení (IEC 61108, IEC 61162): za navigaci plavidla zůstává odpovědný provozovatel.
  • Generate Training NMEA na nmea-scenario .toml (kshana nmea-scenario): syntetické mostové NMEA a záznam instruktora, zapsané vedle scénáře. Pouze text; pro výcvik, nikdy pro živé navigační systémy plavidla.
  • Build Interference Map na ADS-B nebo AIS .csv (zobrazení projektu; zeptá se, o který schválený dataset jde) a Route Exposure na souboru trasy (zeptá se na složku s mapami). Zhoršená buňka neidentifikuje interferenci jako příčinu; není to předpověď.
  • Export Test-Bench Files na scénáři .toml (kshana bench-export): pohyb vozidla, NMEA a označené události pro laboratorní simulátor GNSS, zapsané vedle scénáře. Nezapisuje žádný signál; simulátor provozujte jen tam, kde je to povoleno.
  • Build Compliance Report na výsledku běhu .json (kshana compliance-report) a Tools → Show Compliance Mapping (kshana compliance-report --mapping): mapování na veřejný rámec, zobrazené s vlastním prohlášením enginu doslova.
  • Verify Evidence Pack na složce balíčku důkazů (zobrazení projektu; kshana evidence verify): zeptá se na veřejný klíč podepisujícího (64 hexadecimálních číslic nebo soubor .pub; vždy zafixovaný, zásuvný modul nikdy nepřijme nezafixovaného podepisujícího) a volitelně na úplný záznam relace. Jako ověřený se zobrazí jen ověřený výsledek; neporušený balíček s nezafixovaným podepisujícím se zobrazí jako „NOT VERIFIED“.
  • Render Trust Telemetry na výsledku receiver-trust .json (kshana trust-telemetry --result): text pro Prometheus, události syslog CEF/LEEF nebo řádky MQTT pro Home Assistant vypsané do okna Kshana. Nic se neodesílá ani neposkytuje; běžící exportéry zůstávají na příkazovém řádku.
  • Fit Sensor Parameters from IMU Log na stacionárním IMU .csv (kshana imu-fit): parametry akcelerometru a gyroskopu scénářů hybrid a fusion prokládané podle Allanovy odchylky, vypsané do okna Kshana jako tabulka [accel_classical]. Nic se nezapisuje; proložení je MODELLED.
  • Validate Scenario (kshana --validate), List Scenario Kinds (nabídka Tools; kshana kinds) a Assess Receiver Stream (relace plavidla .toml plus uložený záznam NMEA, který zvolíte; kshana receiver-trust live --file, hodnoceno jednou bez soketu a bez brány).
  • Insert Example Scenario (složka v zobrazení projektu nebo nabídka Tools; kshana example): vyberte přibalený scénář a zapíše se jako nový .toml (nikdy přes existující soubor). Export Scenario na .toml (SP3, OMM, OEM, CZML, KML, GeoJSON, STK, SigMF; pouze simulovaný výstup), Animate Scenario (HTML nebo SVG, otevřené v prohlížeči) a Import Route na trase .geojson (zeptá se, do kterého scénáře).
  • Create Evidence Pack na relaci důvěry v přijímač .toml (kshana receiver-trust evidence): zeptá se na okno, soubor podpisového klíče, který už máte, a výstupní složku. Zásuvný modul klíč nikdy nevytváří, nečte ani neukládá (kshana evidence keygen zůstává na příkazovém řádku). Attach Timestamp na složce balíčku (kshana evidence attach-timestamp): Kshana nekontroluje podpis autority časových razítek; spusťte si openssl ts -verify sami.
  • Stále jen na příkazovém řádku: příkazy IQ, evidence keygen a receiver-trust live.
  • Spodní okno nástroje Kshana hostující konzoli běhu.
  • Není v zásuvném modulu: kshana receiver-trust live (dlouho běžící proces proudu s bránou a volitelným posluchačem TCP) a kshana trust-telemetry zůstávají na příkazovém řádku, protože akce IDE spustí příkaz do konce a zobrazí jeho výstup; viz docs/MARITIME-TRUST.md.
  • Settings → Tools → Kshana pro nasměrování na binárku kshana (prázdné → najde se v PATH; instalace pomocí cargo install kshana).

Zásuvný modul je čistě platformní (bez závislostí na konkrétním jazyku), takže se načte v každém IDE JetBrains od sestavení 243 (2024,3) výše.

Sestavení a spuštění#

Vyžaduje JDK 17+ (sestavení zafixuje JDK 21) a přibalený wrapper Gradle.

cd ide/jetbrains
./gradlew test          # unit tests (pure CLI helpers)
./gradlew buildPlugin    # assembles build/distributions/kshana-jetbrains-<version>.zip
./gradlew runIde         # launches a sandbox IDE with the plugin loaded
./gradlew verifyPlugin   # JetBrains plugin-verifier compatibility check (downloads IDEs)

verifyPlugin ve výchozím nastavení kontroluje since-build 2024,3. Chcete-li zkontrolovat další řady, uveďte je jako TYPE:VERSION (každé IDE je stažení o velikosti asi 1 GB):

KSHANA_VERIFY_IDES="IC:2024.3,IC:2025.2,IU:2026.2.3,IU:263.6259.32" ./gradlew verifyPlugin

Zásuvný modul na žádném z nich nepoužívá zastaralé API platformy ani API určené k odstranění; ať to tak zůstane (dialog volby jde přes KshanaChooser, ne přes Messages.showChooseDialog).

Sestavený zip nainstalujte přes Settings → Plugins → ⚙ → Install Plugin from Disk….

Rozvržení#

build.gradle.kts / settings.gradle.kts / gradle.properties   build config (IntelliJ Platform Gradle Plugin 2.x)
src/main/kotlin/dev/kshana/ide/
  KshanaCli.kt            pure binary-resolution + command helpers (unit-tested)
  KshanaSettings.kt       persisted binary-path setting (app service)
  KshanaConsole.kt        per-project output console (project service)
  KshanaToolWindowFactory.kt   the "Kshana" tool window
  RunScenarioAction.kt    the Run-scenario action
  KshanaRunner.kt         runs one command in the background into the tool window
  MarineActions.kt        receiver trust, training NMEA, interference map, route exposure
  KshanaConfigurable.kt   Settings → Tools → Kshana
src/main/resources/META-INF/plugin.xml   plugin descriptor
src/test/kotlin/.../KshanaCliTest.kt      unit tests

Izolace#

Stejně jako mcp/ a xval/ jde o samostatný projekt Gradle, vyloučený z publikovaného balíčku kshana (/ide v exclude balíčku); jeho výstup sestavení je v gitignore.

Licence: AGPL-3.0-only (nebo komerční licence od Ashforde OÜ — viz LICENSING.md v repozitáři).