Maskinoversættelse, ikke gennemgået af en modersmålstalende. Engelsk er referencen.

API'er og integrationerRedigér på GitHubKilde: ide/jetbrains/README.md

Kshana til JetBrains IDE'er

Install: Kshana — PNT simulator på JetBrains Marketplace — eller i en hvilken som helst JetBrains IDE: Settings → Plugins → Marketplace → search "Kshana".

Et native plugin, der kører PNT-robusthedssimulatoren Kshana inde fra en hvilken som helst JetBrains IDE (IntelliJ IDEA, CLion, RustRover, PyCharm, …). Højreklik på et scenarie .toml → Run Kshana Scenario; kvalitetsmålene og resultat-JSON strømmer ind i værktøjsvinduet Kshana.

Supplerer MCP-serveren (som giver JetBrains AI Assistant adgang til Kshana): dette plugin er den menneskelige vej med peg og klik.

Hvad det gør#

  • Handlingen Run Kshana Scenario på enhver .toml (kontekstmenuer i editor og projektvisning) — kører kshana <file> og viser outputtet i værktøjsvinduet Kshana.
  • Assess Receiver Trust på et scenarie receiver-trust .toml (kshana receiver-trust): tillidstidslinjen med en score fra 0 til 100 og begrundelser for et fartøj. Vejledende software, ikke typegodkendt navigationsudstyr (IEC 61108, IEC 61162): operatøren er fortsat ansvarlig for fartøjets navigation.
  • Generate Training NMEA på et nmea-scenario .toml (kshana nmea-scenario): syntetisk NMEA fra broen og en instruktørlog, skrevet ved siden af scenariet. Kun tekst; til træning, aldrig til et fartøjs levende navigationssystemer.
  • Build Interference Map på en ADS-B- eller AIS-.csv (projektvisning; spørger, hvilket godkendt datasæt det er) og Route Exposure på en rutefil (spørger efter mappen med kort). En forringet celle identificerer ikke interferens som årsag; ikke en prognose.
  • Export Test-Bench Files på et scenarie .toml (kshana bench-export): køretøjets bevægelse, NMEA og mærkede hændelser til en GNSS-simulator i laboratoriet, skrevet ved siden af scenariet. Det skriver intet signal; kør kun en simulator, hvor det er tilladt.
  • Build Compliance Report på et kørselsresultat .json (kshana compliance-report) og Tools → Show Compliance Mapping (kshana compliance-report --mapping): afbildningen på offentlige rammeværker, vist med motorens egen erklæring ord for ord.
  • Verify Evidence Pack på en mappe med en bevispakke (projektvisning; kshana evidence verify): spørger efter underskriverens offentlige nøgle (64 hex-cifre eller en fil .pub; altid fastlåst, pluginet accepterer aldrig en ufastlåst underskriver) og eventuelt den fulde sessionslog. Kun et verificeret resultat læses som verificeret; en intakt pakke med en ufastlåst underskriver læses som "NOT VERIFIED".
  • Render Trust Telemetry på et resultat receiver-trust .json (kshana trust-telemetry --result): Prometheus-tekst, syslog-hændelser i CEF/LEEF eller MQTT-linjer til Home Assistant, udskrevet i Kshana-vinduet. Intet sendes eller serveres; de kørende eksportører bliver på kommandolinjen.
  • Fit Sensor Parameters from IMU Log på en IMU .csv i hvile (kshana imu-fit): accelerometer- og gyroparametrene for scenarierne hybrid og fusion tilpasset med Allan-afvigelse, udskrevet i Kshana-vinduet som en tabel [accel_classical]. Intet skrives; tilpasningen er MODELLED.
  • Validate Scenario (kshana --validate), List Scenario Kinds (menuen Tools; kshana kinds) og Assess Receiver Stream (en fartøjssession .toml plus en gemt NMEA-log, du vælger; kshana receiver-trust live --file, bedømt én gang uden socket og uden gate).
  • Insert Example Scenario (mappe i projektvisning eller menuen Tools; kshana example): vælg et medfølgende scenarie, så skrives det som en ny .toml (aldrig oven på en fil). Export Scenario på en .toml (SP3, OMM, OEM, CZML, KML, GeoJSON, STK, SigMF; kun simuleret output), Animate Scenario (HTML eller SVG, åbnet i browseren) og Import Route på en rute .geojson (spørger, hvilket scenarie).
  • Create Evidence Pack på en session for modtagertillid .toml (kshana receiver-trust evidence): spørger efter vinduet, en signeringsnøglefil, du allerede har, og outputmappen. Pluginet laver, læser eller gemmer aldrig en nøgle (kshana evidence keygen bliver på kommandolinjen). Attach Timestamp på en pakkemappe (kshana evidence attach-timestamp): Kshana kontrollerer ikke tidsstempelmyndighedens signatur; kør openssl ts -verify selv.
  • Fortsat kun på kommandolinjen: IQ-kommandoerne, evidence keygen og receiver-trust live.
  • Et værktøjsvindue Kshana nederst, der rummer kørselskonsollen.
  • Ikke i pluginet: kshana receiver-trust live (en langvarig strømproces med en gate og en valgfri TCP-lytter) og kshana trust-telemetry bliver på kommandolinjen, fordi en IDE-handling kører en kommando til ende og viser dens output; se docs/MARITIME-TRUST.md.
  • Settings → Tools → Kshana for at pege på binæren kshana (tom → findes via PATH; installér med cargo install kshana).

Pluginet er rent platformsbaseret (ingen sprogspecifikke afhængigheder), så det indlæses i alle JetBrains IDE'er fra build 243 (2024,3) og nyere.

Byg og kør#

Kræver JDK 17+ (buildet fastlåser JDK 21) og den medfølgende Gradle-wrapper.

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. Hvis du vil kontrollere andre linjer, så angiv dem som TYPE:VERSION (hver IDE er en download på ca. 1 GB):

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

Pluginet bruger ingen forældede platform-API'er eller API'er, der er planlagt fjernet, på nogen af dem; bevar det sådan (en valgdialog går gennem KshanaChooser, ikke Messages.showChooseDialog).

Installér den byggede zip via Settings → Plugins → ⚙ → Install Plugin from Disk….

Opbygning#

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

Isolation#

Som mcp/ og xval/ er dette et selvstændigt Gradle-projekt, udeladt fra den publicerede crate kshana (/ide i pakkens exclude); dets build-output er gitignoreret.

Licens: AGPL-3.0-only (eller en kommerciel licens fra Ashforde OÜ — se repositoriets LICENSING.md).