機械翻訳であり、ネイティブスピーカーによる確認は行われていません。英語版が基準です。

API とインテグレーションGitHub で編集ソース:ide/jetbrains/README.md

JetBrains IDE向けKshana

Install: JetBrains MarketplaceのKshana — PNT simulator。または、任意のJetBrains IDEでSettings → Plugins → Marketplace → 「Kshana」を検索してください。

任意のJetBrains IDE(IntelliJ IDEA、CLion、RustRover、PyCharmなど)の中からKshanaのPNTレジリエンスシミュレーターを実行するネイティブプラグインです。シナリオの.tomlを右クリックしてRun Kshana Scenarioを選ぶと、性能指標と結果JSONがKshanaツールウィンドウにストリーム表示されます。

MCPサーバー(JetBrainsのAI AssistantがKshanaを利用できるようにするもの)を補完します。このプラグインは、人間がポイント&クリックで使う経路です。

内容#

  • 任意の.tomlに対するRun Kshana Scenarioアクション(エディターとプロジェクトビューのコンテキストメニュー)。kshana <file>を実行し、出力をKshanaツールウィンドウに表示します。
  • receiver-trustシナリオ.tomlに対するAssess Receiver Trust(kshana receiver-trust):船舶向けの、0〜100のスコアと理由を伴う信頼性タイムライン。助言用ソフトウェアであり、型式承認を受けた航法装置(IEC 61108、IEC 61162)ではありません。船舶の航行の責任は引き続き運用者にあります。
  • nmea-scenario .tomlに対するGenerate Training NMEA(kshana nmea-scenario):合成の船橋用NMEAと教官ログを、シナリオの隣に書き出します。テキストのみで、訓練用です。船舶の実際の航法システムには決して使用しないでください。
  • ADS-BまたはAISの.csvに対するBuild Interference Map(プロジェクトビュー。承認済みのどのデータセットかを尋ねます)、およびルートファイルに対するRoute Exposure(マップのフォルダーを尋ねます)。劣化したセルは、干渉が原因であることを示すものではありません。予報でもありません。
  • シナリオ.tomlに対するExport Test-Bench Files(kshana bench-export):実験室用GNSSシミュレーター向けの、機体の運動、NMEA、ラベル付きイベントを、シナリオの隣に書き出します。信号は書き出しません。シミュレーターは許可された場所でのみ動作させてください。
  • 実行結果.jsonに対するBuild Compliance Report(kshana compliance-report)、およびTools → Show Compliance Mapping(kshana compliance-report --mapping):公開フレームワークとの対応表を、エンジン自身の記述のとおりに一字一句そのまま表示します。
  • エビデンスパックのフォルダーに対するVerify Evidence Pack(プロジェクトビュー。kshana evidence verify):署名者の公開鍵(64桁の 十六進数、または.pubファイル。常にピン留めされ、プラグインは署名者がピン留めされていないものを受け付けません)と、任意で完全なセッションログを尋ねます。検証に成功した結果だけがverifiedと表示されます。署名者がピン留めされていない無傷のパックは「NOT VERIFIED」と表示されます。
  • receiver-trustの結果.jsonに対するRender Trust Telemetry(kshana trust-telemetry --result):Prometheusテキスト、CEF/LEEFのsyslogイベント、またはHome AssistantのMQTT行を、Kshanaウィンドウに出力します。何も送信せず、何も提供しません。稼働し続けるエクスポーターはコマンドラインで扱います。
  • 静止状態のIMUの.csvに対するFit Sensor Parameters from IMU Log(kshana imu-fit):hybridおよびfusionシナリオの加速度計とジャイロのパラメーターをアラン偏差でフィットし、[accel_classical]テーブルとしてKshanaウィンドウに出力します。何も書き込みません。このフィットはMODELLEDです。
  • Validate Scenario(kshana --validate)、List Scenario Kinds(Toolsメニュー。kshana kinds)、Assess Receiver Stream(船舶セッション.tomlと、選択した保存済みNMEAログ。kshana receiver-trust live --file。ソケットもゲートもなしで 一回スコアリング)。
  • Insert Example Scenario(プロジェクトビューのフォルダーまたはToolsメニュー。kshana example):同梱のシナリオを選ぶと、新しい.tomlとして書き出されます(既存のファイルを上書きすることはありません)。.tomlに対するExport Scenario(SP3、OMM、OEM、CZML、KML、GeoJSON、STK、SigMF。シミュレーションによる出力のみ)、Animate Scenario(HTMLまたはSVG。ブラウザーで開きます)、およびルートの.geojsonに対するImport Route(どのシナリオかを尋ねます)。
  • receiver-trustセッション.tomlに対するCreate Evidence Pack(kshana receiver-trust evidence):ウィンドウ、すでにお持ちの署名鍵ファイル、出力フォルダーを尋ねます。プラグインは鍵の作成、読み取り、保存を一切行いません(kshana evidence keygenはコマンドラインのままです)。パックフォルダーに対するAttach Timestamp(kshana evidence attach-timestamp):Kshanaはタイムスタンプ局の署名を確認しません。openssl ts -verifyはご自身で実行してください。
  • 引き続きコマンドラインのみ:IQコマンド、evidence keygen、receiver-trust live。
  • 実行コンソールを収容する、下部のKshanaツールウィンドウ。
  • プラグインにないもの:kshana receiver-trust live(ゲートと任意のTCPリスナーを備えた、長時間動作するストリームプロセス)とkshana trust-telemetryは、IDEのアクションがコマンドを最後まで実行して出力を表示するものであるため、コマンドラインのままです。docs/MARITIME-TRUST.mdを参照してください。
  • Settings → Tools → Kshanaでkshanaバイナリを指定します(空欄の場合はPATHから解決。インストールはcargo install kshana)。

このプラグインはプラットフォームのみで構成され(言語固有の依存関係なし)、ビルド243(2024.3)以降のすべてのJetBrains IDEで読み込まれます。

ビルドと実行#

JDK 17以上(ビルドはJDK 21に固定)と、同梱の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は、既定ではsince-buildの2024.3を検査します。他のラインを検査するにはTYPE:VERSIONとして列挙します(各IDEは約1 GBのダウンロードです):

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

このプラグインは、それらのいずれにおいても、非推奨または削除予定のプラットフォームAPIを使用していません。この状態を維持してください(選択ダイアログはMessages.showChooseDialogではなくKshanaChooserを通します)。

ビルドしたzipはSettings → Plugins → ⚙ → Install Plugin from Disk…からインストールします。

構成#

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

分離#

mcp/やxval/と同様に、これは独立したGradleプロジェクトであり、公開されるkshanaクレートからは除外されています(パッケージのexclude内の/ide)。ビルド出力はgitignoreの対象です。

ライセンス:AGPL-3.0-only(またはAshforde OÜ の商用ライセンス。リポジトリのLICENSING.mdを参照)。