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
.tomlpeal (redaktori ja projektivaate kontekstimenüüd) — käivitabkshana <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
.csvpeal (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
.csvpeal (kshana imu-fit): stsenaariumidehybridjafusionkiirendusmõõ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.tomlpluss 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 keygenjääb käsureale). Attach Timestamp paketi kaustal (kshana evidence attach-timestamp): Kshana ei kontrolli ajatempli autoriteedi allkirja;openssl ts -verifytuleb ise käivitada. - Endiselt ainult käsureal: IQ käsud,
evidence keygenjareceiver-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) jakshana trust-telemetryjäävad käsureale, sest IDE toiming käivitab käsu lõpuni ja näitab selle väljundit; vtdocs/MARITIME-TRUST.md. - Settings → Tools → Kshana binaarfaili
kshanamääramiseks (tühi → lahendatakse asukohastPATH; paigaldamine käsugacargo 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).