Masintõlge, mida emakeelne kõneleja pole üle vaadanud. Võrdlusallikaks on ingliskeelne versioon.

API-d ja integratsioonidMuuda GitHubisAllikas: ide/jetbrains/README.md

Kshana JetBrainsi IDE-dele

Install: Kshana — PNT simulator JetBrains Marketplace'is — või mis tahes JetBrainsi IDE-s Settings → Plugins → Marketplace → search "Kshana".

Natiivne plugin, mis käivitab Kshana PNT-vastupidavuse simulaatori mis tahes JetBrainsi IDE-s (IntelliJ IDEA, CLion, RustRover, PyCharm, …). Paremklõps stsenaariumil .toml → Run Kshana Scenario; kvaliteedinäitajad ja tulemuse JSON voogavad tööriistaaknasse Kshana.

Täiendab MCP serverit (mis annab JetBrainsi AI Assistant-ile juurdepääsu Kshanale): see plugin on inimese osutamise ja klõpsamise tee.

Mida see teeb#

  • Toiming Run Kshana Scenario mis tahes .toml peal (redaktori ja projektivaate kontekstimenüüd) — käivitab kshana <file> ja näitab väljundit Kshana tööriistaaknas.
  • Assess Receiver Trust stsenaariumil receiver-trust .toml (kshana receiver-trust): usalduse ajatelg, laeva jaoks 0-100 skoori ja põhjustega. Nõuandev tarkvara, mitte tüübikinnitust omav navigatsiooniseade (IEC 61108, IEC 61162): laeva navigeerimise eest vastutab jätkuvalt operaator.
  • Generate Training NMEA stsenaariumil nmea-scenario .toml (kshana nmea-scenario): sünteetiline sillal kasutatav NMEA ja instruktori logi, kirjutatud stsenaariumi kõrvale. Ainult tekst; treenimiseks, mitte kunagi laeva reaalajas navigatsioonisüsteemide jaoks.
  • Build Interference Map ADS-B või AIS .csv peal (projektivaade; küsib, milline heaks kiidetud andmekogum see on) ja Route Exposure marsruudifailil (küsib kaartide kausta). Halvenenud lahter ei tuvasta häiret põhjusena; mitte prognoos.
  • Export Test-Bench Files stsenaariumil .toml (kshana bench-export): sõiduki liikumine, NMEA ja märgendatud sündmused laboratoorse GNSS-simulaatori jaoks, kirjutatud stsenaariumi kõrvale. See ei kirjuta signaali; simulaatorit tohib käitada ainult seal, kus see on lubatud.
  • Build Compliance Report käivitustulemusel .json (kshana compliance-report) ja Tools → Show Compliance Mapping (kshana compliance-report --mapping): avaliku raamistiku vastendus, näidatud mootori enda väitega sõna-sõnalt.
  • Verify Evidence Pack tõendipaketi kaustal (projektivaade; kshana evidence verify): küsib allkirjastaja avalikku võtit (64 kuueteistkümnendnumbrit või fail .pub; alati kinnitatud, plugin ei aktsepteeri kunagi kinnitamata allkirjastajat) ja valikuliselt täielikku seansilogi. Ainult kontrollitud tulemus loetakse kontrollituks; terve pakett kinnitamata allkirjastajaga loetakse „NOT VERIFIED“.
  • Render Trust Telemetry tulemusel receiver-trust .json (kshana trust-telemetry --result): Prometheuse tekst, CEF/LEEF süsteemilogi sündmused või Home Assistant MQTT read, mis trükitakse Kshana aknasse. Midagi ei saadeta ega serveerita; töötavad eksportijad jäävad käsureale.
  • Fit Sensor Parameters from IMU Log paigalseisva IMU .csv peal (kshana imu-fit): stsenaariumide hybrid ja fusion kiirendusmõõturi ja güroskoobi parameetrid sobitatuna Alani hälbega, trükitud Kshana aknasse tabelina [accel_classical]. Midagi ei kirjutata; sobitus on MODELLED.
  • Validate Scenario (kshana --validate), List Scenario Kinds (menüü Tools; kshana kinds) ja Assess Receiver Stream (laevaseanss .toml pluss valitud salvestatud NMEA logi; kshana receiver-trust live --file, hinnatakse üks kord, ilma sokli ja väravata).
  • Insert Example Scenario (projektivaate kaust või menüü Tools; kshana example): valida kaasasolev stsenaarium ja see kirjutatakse uue failina .toml (mitte kunagi olemasoleva peale). Export Scenario failil .toml (SP3, OMM, OEM, CZML, KML, GeoJSON, STK, SigMF; ainult simuleeritud väljund), Animate Scenario (HTML või SVG, avatakse brauseris) ja Import Route marsruudil .geojson (küsib, milline stsenaarium).
  • Create Evidence Pack vastuvõtja usalduse seansil .toml (kshana receiver-trust evidence): küsib akent, olemasolevat allkirjastamisvõtme faili ja väljundkausta. Plugin ei loo, loe ega salvesta kunagi võtit (kshana evidence keygen jääb käsureale). Attach Timestamp paketi kaustal (kshana evidence attach-timestamp): Kshana ei kontrolli ajatempli autoriteedi allkirja; openssl ts -verify tuleb ise käivitada.
  • Endiselt ainult käsureal: IQ käsud, evidence keygen ja receiver-trust live.
  • Alumine tööriistaaken Kshana, mis majutab käivituskonsooli.
  • Pluginas ei ole: kshana receiver-trust live (pikaajaline vooguprotsess värava ja valikulise TCP-kuulajaga) ja kshana trust-telemetry jäävad käsureale, sest IDE toiming käivitab käsu lõpuni ja näitab selle väljundit; vt docs/MARITIME-TRUST.md.
  • Settings → Tools → Kshana binaarfaili kshana määramiseks (tühi → lahendatakse asukohast PATH; paigaldamine käsuga cargo install kshana).

Plugin on puhas platvormiplugin (keelespetsiifilisi sõltuvusi ei ole), nii et see laadib igas JetBrainsi IDE-s ehituse 243 (2024,3) ja uuemates.

Ehitamine ja käivitamine#

Nõuab JDK-d 17+ (ehitus kinnitab JDK 21) ja kaasasolevat Gradle'i ümbrist.

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 kontrollib vaikimisi since-build'i, 2024,3. Muude liinide kontrollimiseks tuleb need loetleda kujul TYPE:VERSION (iga IDE on umbes 1 GB allalaadimine):

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

Plugin ei kasuta ühelgi neist aegunud ega eemaldamiseks ajastatud platvormi API-t; nii peabki jääma (valikudialoog käib läbi KshanaChooser, mitte Messages.showChooseDialog).

Ehitatud zip paigaldatakse läbi Settings → Plugins → ⚙ → Install Plugin from Disk….

Paigutus#

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

Isolatsioon#

Nagu mcp/ ja xval/, on see eraldiseisev Gradle'i projekt, mis on välja jäetud avaldatud paketist kshana (/ide paketi väljal exclude); selle ehitusväljund on gitignore'is.

Litsents: AGPL-3.0-only (või Ashforde OÜ kommertslitsents — vt hoidla LICENSING.md).