Maskinoversettelse, ikke gjennomgått av en morsmålsbruker. Engelsk er referansen.

API-er og integrasjonerRediger på GitHubKilde: ide/jetbrains/README.md

Kshana for JetBrains IDE-er

Install: Kshana — PNT simulator på JetBrains Marketplace, eller, i en hvilken som helst JetBrains IDE, Settings → Plugins → Marketplace → søk etter «Kshana».

Et native programtillegg som kjører Kshana-simulatoren for PNT-robusthet fra innsiden av en hvilken som helst JetBrains IDE (IntelliJ IDEA, CLion, RustRover, PyCharm, …). Høyreklikk et scenario .toml → Run Kshana Scenario; kvalitetsmålene og resultat-JSON strømmer inn i verktøyvinduet Kshana.

Utfyller MCP-serveren (som gir JetBrains AI Assistant tilgang til Kshana): dette programtillegget er den menneskelige pek-og-klikk-veien.

Hva den gjør#

  • Handlingen Run Kshana Scenario på en hvilken som helst .toml (kontekstmenyene i editor og prosjektvisning): kjører kshana <file> og viser utdataene i verktøyvinduet Kshana.
  • Assess Receiver Trust på et receiver-trust-scenario .toml (kshana receiver-trust): tillitstidslinjen, med en score fra 0 til 100 og begrunnelser for et fartøy. Veiledende programvare, ikke typegodkjent navigasjonsutstyr (IEC 61108, IEC 61162): operatøren er fortsatt ansvarlig for fartøyets navigasjon.
  • Generate Training NMEA på et nmea-scenario .toml (kshana nmea-scenario): syntetisk bro-NMEA og en instruktørlogg, skrevet ved siden av scenarioet. Bare tekst; til trening, aldri for et fartøys live navigasjonssystemer.
  • Build Interference Map på en ADS-B- eller AIS-.csv (prosjektvisning; spør hvilket klarert datasett det er) og Route Exposure på en rutefil (spør etter mappen med kart). En degradert celle identifiserer ikke interferens som årsak; ikke en prognose.
  • Export Test-Bench Files på et scenario .toml (kshana bench-export): kjøretøybevegelse, NMEA og merkede hendelser for en GNSS-simulator i laboratorium, skrevet ved siden av scenarioet. Den skriver intet signal; kjør en simulator bare der det er tillatt.
  • Build Compliance Report på et kjøringsresultat .json (kshana compliance-report) og Tools → Show Compliance Mapping (kshana compliance-report --mapping): kartleggingen mot offentlige rammeverk, vist med motorens egen erklæring ord for ord.
  • Verify Evidence Pack på en mappe med bevispakke (prosjektvisning; kshana evidence verify): spør etter signerens offentlige nøkkel (64 heksadesimale sifre eller en .pub-fil; alltid festet, programtillegget godtar aldri en signer som ikke er festet) og eventuelt hele øktloggen. Bare et verifisert resultat leses som verifisert; en intakt pakke med en signer som ikke er festet leses «NOT VERIFIED».
  • Render Trust Telemetry på et receiver-trust-resultat .json (kshana trust-telemetry --result): Prometheus-tekst, CEF/LEEF-syslog-hendelser eller Home Assistant MQTT-linjer skrevet ut i Kshana-vinduet. Ingenting sendes eller serveres; de kjørende eksportørene blir på kommandolinjen.
  • Fit Sensor Parameters from IMU Log på en stasjonær IMU-.csv (kshana imu-fit): akselerometer- og gyroparametrene i scenarioene hybrid og fusion tilpasset med Allan-deviasjon, skrevet ut i Kshana-vinduet som en [accel_classical]-tabell. Ingenting skrives; tilpasningen er MODELLED.
  • Validate Scenario (kshana --validate), List Scenario Kinds (Tools-menyen; kshana kinds) og Assess Receiver Stream (en fartøyøkt .toml pluss en lagret NMEA-logg du velger; kshana receiver-trust live --file, poengsatt én gang uten socket og uten gate).
  • Insert Example Scenario (mappe i prosjektvisning eller Tools-menyen; kshana example): velg et medfølgende scenario, så skrives det som en ny .toml (aldri over en eksisterende fil). Export Scenario på en .toml (SP3, OMM, OEM, CZML, KML, GeoJSON, STK, SigMF; bare simulerte utdata), Animate Scenario (HTML eller SVG, åpnet i nettleseren) og Import Route på en rute-.geojson (spør hvilket scenario).
  • Create Evidence Pack på en økt for mottakertillit .toml (kshana receiver-trust evidence): spør etter vinduet, en signeringsnøkkelfil du allerede har, og utdatamappen. Programtillegget lager, leser eller lagrer aldri en nøkkel (kshana evidence keygen blir på kommandolinjen). Attach Timestamp på en pakkemappe (kshana evidence attach-timestamp): Kshana kontrollerer ikke signaturen til tidsstempelautoriteten; kjør openssl ts -verify selv.
  • Fortsatt bare på kommandolinjen: IQ-kommandoene, evidence keygen og receiver-trust live.
  • Et Kshana-verktøyvindu nederst som rommer kjørekonsollen.
  • Ikke i programtillegget: kshana receiver-trust live (en langvarig strømprosess med en gate og en valgfri TCP-lytter) og kshana trust-telemetry blir på kommandolinjen, fordi en IDE-handling kjører en kommando til den er ferdig og viser utdataene; se docs/MARITIME-TRUST.md.
  • Settings → Tools → Kshana for å peke på binærfilen kshana (tom → løses fra PATH; installer med cargo install kshana).

Programtillegget er rent plattformbasert (ingen språkspesifikke avhengigheter), så det lastes i alle JetBrains IDE-er fra build 243 (2024,3) og nyere.

Bygg og kjør#

Krever JDK 17+ (bygget fester JDK 21) og den medfølgende Gradle-wrapperen.

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 kontrollerer som standard since-build, 2024,3. For å kontrollere andre linjer, list dem som TYPE:VERSION (hver IDE er en nedlasting på omtrent 1 GB):

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

Programtillegget bruker ingen utfasede plattform-API-er, eller API-er som er planlagt fjernet, på noen av disse; hold det slik (en valgdialog går gjennom KshanaChooser, ikke Messages.showChooseDialog).

Installer den bygde zip-filen via Settings → Plugins → ⚙ → Install Plugin from Disk….

Oppbygning#

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

Isolasjon#

Som mcp/ og xval/ er dette et selvstendig Gradle-prosjekt, utelatt fra den publiserte kshana-cratet (/ide i pakken exclude); byggeutdataene er gitignorert.

Lisens: AGPL-3.0-only (eller en kommersiell lisens fra Ashforde OÜ, se repositoriets LICENSING.md).