Машинний переклад, не перевірений носієм мови. Еталоном є англійська версія.

API та інтеграціїРедагувати на GitHubДжерело: docs/SURFACES.md

Де доступна кожна можливість

Кожна можливість доступна на тих поверхнях, де це має сенс; якщо поверхня не може її забезпечити, у комірці зазначено N/A і причину. За кожною поверхнею працює один і той самий рушій: точки входу Python, WebAssembly і MCP для можливостей 0,35 — це тонкі обгортки над kshana::surface, що викликає код, який запускає командний рядок.

Уривок із назвами сторонніх ШІ-клієнтів тут пропущено; він є в docs/SURFACES.md на GitHub.

Можливість CLI Rust Python WASM MCP Плагін JetBrains Ноутбук Studio
Довіра до приймача на судні, пакетний журнал (оцінка 0–100, причини) receiver-trust receiver_trust::assess::assess_vessel_log receiver_trust, assess_vessel_log receiver_trust, assess_vessel_log assess_receiver_log, assess_vessel_log /kshana-assess-receiver, навичка vessel-receiver-trust Assess Receiver Trust vessel-trust-and-training Сторінка морської довіри
Довіра до приймача на обмеженому фрагменті потоку (оцінки, стани, причини; без шлюзу) receiver-trust live receiver_trust::assess::assess_stream_excerpt receiver_trust_replay receiver_trust_replay assess_vessel_stream так само Assess Receiver Stream (збережений журнал) vessel-trust-and-training Сторінка морської довіри
Геометрія супутників і класи відрахувань (0,36: geometry добре/погіршено/невідомо з причинами та DOP, label добре/задовільно/погано, що звітується завжди, монітор geometry (нічого, якщо геометрія не погана, інакше до 15 пунктів; указується останнім у monitors_run, коли він вирішував, тож кількість моніторів у вердикті враховує геометрію), class для кожного відрахування, geometry_model, geometry_summary) receiver-trust, receiver-trust live (у JSON результату й кожному рядку JSON; CSV, SVG, однорядковий вердикт і $PKSHT несуть відрахування за геометрію, як і будь-яке інше, а в решті не змінюються) receiver_trust::geometry, у EpochTrust, Deduction і EpochReport receiver_trust, assess_vessel_log, receiver_trust_replay (у повернених словниках) ті самі три (у поверненому JSON) assess_receiver_log, assess_vessel_log, assess_vessel_stream (у відповіді; відповідь для журналу судна зберігає geometry_model і geometry_summary); відображає це trust_telemetry так само, навички vessel-receiver-trust, trust-telemetry наведені вище дії друкують вивід CLI, який це містить vessel-trust-and-training (у результаті, який воно завантажує) очікується: сторінка морської довіри це ще не показує (поля перелічені в docs/MARITIME-TRUST.md, пункт подання Studio 6)
receiver-trust live як запущений процес (stdin, відстежуваний файл, TCP, UDP, --gate, --listen) receiver-trust live receiver_trust::live::LiveEngine N/A N/A N/A N/A N/A N/A Інструменти: картка «Командний рядок» (команда для запуску; браузер не є процесом у тракті даних)
Пакет доказів: створення (підписаний, вікно журналу; 0,38: необов'язковий lab-attestation, твердження оператора про лабораторну установку, яке записується в підписаний маніфест і ніколи не перевіряється) receiver-trust evidence (--lab-attestation <file.toml>) evidence::create_bundle, evidence::create_bundle_attested, surface::evidence_create, surface::evidence_create_attested evidence_create (lab_attestation) N/A (ключ підпису) create_evidence_pack (lab_attestation_toml) /kshana-evidence-pack, навичка evidence-pack Create Evidence Pack (у 0,38 у діалозі немає поля атестації: очікується; командний рядок його приймає) vessel-trust-and-training N/A (ключ підпису не місце на сторінці); Інструменти: картка «Командний рядок»
Jammertest як арбітр (0,38): опублікований каталог NPRA і план передавання, прочитані як запланована істина (import), журнал приймача, оцінений за ним для кожного тесту (score: затримка виявлення, пропуски, хибні тривоги, час відновлення; MODELLED) jammertest import, jammertest score jammertest::plan, jammertest::score, surface::jammertest_import_json, surface::jammertest_score_json jammertest_import, jammertest_score jammertest_import, jammertest_score jammertest_import, jammertest_score /kshana-jammertest, навичка jammertest N/A (потрібні файли плану та журнал на диску; запускайте з термінала) N/A (ноутбука ще немає) очікується: картка інструментів для командного рядка (смуга та подання Studio — справа WS-A)
Підписаний пакет оцінки Jammertest (jammertest score --key: пакет доказів довіри до приймача зі скоркартою і розкладом усередині config.json) jammertest score --key <keyfile> --out <dir> jammertest::score_pack N/A (ключ підпису) N/A (ключ підпису) N/A (ключ підпису: використовуйте create_evidence_pack на вікні або командний рядок) N/A N/A N/A N/A (ключ підпису не місце на сторінці); Інструменти: картка «Командний рядок»
Самозвіт приймача (0,38): UBX-NAV-STATUS spoofDetState і UBX-SEC-SIG, зчитані в self_report на кожній епосі, та порівняння receiver_self_report (обидва / лише приймач / лише Kshana / жоден) у результаті; не піднімає тривоги і не змінює жодної оцінки receiver-trust (у JSON результату; jammertest score) receiver_trust::ReceiverSelfReport, monitors::SelfReportEpoch, monitors::SelfReportSummary receiver_trust, assess_receiver_log (у повернених словниках) receiver_trust (у поверненому JSON) assess_receiver_log (у відповіді) /kshana-assess-receiver наведені вище дії друкують вивід CLI, який це містить N/A очікується: смуга на сторінці Trust (WS-A; поле — epochs[].self_report)
Формат журналу Septentrio SBF (0,38, лише читання: PVTGeodetic, MeasEpoch, RFStatus) receiver-trust з [log] format = "sbf" receiver_trust::ingest::read_sbf, LogFormat::Sbf receiver_trust, assess_receiver_log (format = "sbf", журнал як base64) так само assess_receiver_log (base64) /kshana-assess-receiver наведені вище дії N/A N/A (завантаження двійкового журналу на сторінці Trust у 0,38 не пропонується)
receiver-trust live --serial <device> [--baud n]: послідовний або USB-канал NMEA, лише читання (відкриває пристрій для читання, ніколи не пише в приймач; --configure відхиляється) receiver-trust live --serial N/A (пристрій і процес) N/A N/A N/A N/A N/A N/A Інструменти: картка «Командний рядок» (команда для запуску; браузер не є процесом у тракті даних)
Пакет доказів: створення (підписаний, вікно журналу) receiver-trust evidence evidence::create_bundle, surface::evidence_create evidence_create N/A (ключ підпису) create_evidence_pack /kshana-evidence-pack, навичка evidence-pack Create Evidence Pack vessel-trust-and-training N/A (ключ підпису не місце на сторінці); Інструменти: картка «Командний рядок»
Лабораторний пакет повного циклу (сценарій, умови випробування, журнал приймача й оцінка, пов'язані хешем) evidence round-trip evidence::build_round_trip_pack, surface::evidence_round_trip evidence_round_trip N/A (ключ підпису) create_round_trip_pack /kshana-evidence-pack N/A (дії JetBrains прив'язані до одного вибраного файлу; пакету потрібні сценарій, умови, журнал і ключ: запускайте з термінала IDE) N/A (ключ підпису не місце на сторінці); Інструменти: картка «Командний рядок»
Пакет доказів: перевірка evidence verify evidence::verify_bundle evidence_verify evidence_verify verify_evidence_pack так само Verify Evidence Pack (лише закріплений ключ) vessel-trust-and-training Інструменти: Пакети доказів (перевірка, додавання мітки часу)
Телеметрія довіри (Prometheus, syslog CEF/LEEF, OTLP; 0,38: format = "mqtt", виявлення Home Assistant і рядки стану; --mqtt-tcp публікує з CLI) trust-telemetry telemetry trust_telemetry trust_telemetry (текстовий вивід; без сокета) trust_telemetry /kshana-trust-telemetry, навичка trust-telemetry Render Trust Telemetry (збережений результат) vessel-trust-and-training Інструменти: картка «Телеметрія» (вкладка «Командний рядок»; лише формати, без сокетів)
Машинні та сенсорні входи (0,38): формати receiver-trust rtklib-pos, novatel, gnss-sdr і [log.imu] (csv, euroc) receiver-trust (сценарій [log] format) receiver_trust::machines receiver_trust, assess_receiver_log (вбудовано) receiver_trust (вбудовано) assess_receiver_log (вбудований текст/base64; path відхиляється) /kshana-assess-receiver Assess Receiver Trust vessel-trust-and-training N/A (сторінка Trust у Studio читає формати, які вона перелічує; нові формати з'являться з її наступним портуванням)
Журнал IMU у параметри гібридного сенсора/сенсора злиття (таблиця [accel_classical] зі стаціонарного журналу, підгонка Аллана) imu-fit surface::imu_fit, receiver_trust::machines::imu_fit imu_fit imu_fit fit_imu_log /kshana-fit-imu N/A (дії в IDE ще немає) N/A N/A (редактор сценаріїв Studio приймає вставлену таблицю)
Вузол ROS 2, ретранслятор UDP для GNSS-SDR, trust-telemetry --mqtt-tcp (integrations/ros2, integrations/gnss-sdr) процеси N/A N/A N/A N/A N/A N/A N/A N/A (довготривалі процеси та сокети; текстові форми: trust_telemetry з mqtt)
Верифікація Galileo OSNMA сторінок I/NAV або потоку UBX (docs/OSNMA.md) osnma verify osnma::cli::verify_report, surface::osnma_verify osnma_verify osnma_verify N/A (довгий сирий потік приймача пасує до CLI і Python; інструмент для агента додав би поверхню з великим входом без жодної користі) N/A (команди плагіна працюють через сервер MCP, у якого немає інструмента OSNMA з причини, наведеної в комірці MCP; запустіть kshana osnma verify) N/A (результат нічого не означає без довіреного кореня Меркла або відкритого ключа, отриманого з ICD іншим шляхом, а для актуальності — без незалежного опорного часу; дія за правою кнопкою миші не має, звідки їх узяти, а незакріплене типове значення читалося б як верифікація; запустіть kshana osnma verify) N/A (потік на вході, звіт JSON на виході; без ноутбука) Інструменти: OSNMA
Навчальні NMEA з журналом інструктора nmea-scenario nmea_synth::generate_from_toml nmea_training nmea_training generate_training_nmea /kshana-training-scenario, навичка training-nmea-scenario Generate Training NMEA vessel-trust-and-training Сторінка розбору навчання
Навчальні NMEA, що передаються на адресу TCP або UDP nmea-scenario --tcp/--udp nmea_synth::stream N/A N/A N/A N/A N/A N/A Інструменти: картка «Командний рядок» (передає на адресу)
Карта завад (ADS-B, AIS) interference-map adsb|ais interference_map::api interference_map interference_map build_interference_map /kshana-interference-map, навичка interference-map-route-exposure Build Interference Map interference-map-route-exposure Сторінка карти завад
Область випромінювача (ADS-B, AIS; MODELLED) interference-map locate interference_map::api::emitter_regions_from_adsb_csv, emitter_regions_from_readsb_traces, emitter_regions_from_ais_csv interference_emitter_regions interference_emitter_regions N/A (ще не підтримується; охоплюють поверхні Rust, Python і WASM) N/A N/A N/A (публікація областей випромінювачів у публічній обсерваторії — окреме рішення власника, і вона вимкнена)
Вплив на маршрут route-exposure interference_map::api::route_exposure route_exposure route_exposure route_exposure так само Route Exposure interference-map-route-exposure Сторінка карти завад
Плагін Signal K і канал шлюзу OpenCPN (docs/MARINE-INTEGRATIONS.md) integrations/, receiver-trust live --gate --listen N/A (процеси) N/A N/A N/A лише інструкція: /kshana-marine-integrations, навичка marine-integrations N/A N/A Інструменти: картка «Командний рядок» (інструкція; розгортання)
Експорт для випробувального стенда (CSV руху, NMEA, шляхові точки, події для лабораторного симулятора) bench-export interop::testbench::export_with_notes, surface::bench_export bench_export bench_export export_test_bench /kshana-bench-export, навичка test-bench-export Export Test-Bench Files compliance-and-test-bench Інструменти: Експорт для випробувального стенда
Зіставлення compliance за прогонами (які рядки публічних рамок прогони підтримують доказами) compliance-report compliance::assess_texts, surface::compliance_report compliance_report compliance_report compliance_report /kshana-compliance-report, навичка compliance-mapping Build Compliance Report compliance-and-test-bench Інструменти: Зіставлення compliance
Таблиці та джерела зіставлення compliance compliance-report --mapping, --sources compliance::mapping, surface::compliance_mapping compliance_mapping compliance_mapping compliance_mapping так само Show Compliance Mapping N/A Інструменти: Зіставлення compliance
Пакети стандартів (оцінювані набори сценаріїв із порогами, визначеними до прогону: тестові профілі DHS RPCF, IMO MSC.1/Circ.1575, ICAO Doc 9849 додаток F) standards-pack standards_pack, surface::standards_pack_list, surface::standards_pack_run standards_pack_list, standards_pack_run standards_pack_list, standards_pack_run list_standards_packs, run_standards_pack /kshana-standards-pack N/A (дії JetBrains прив'язані до вибраного файлу; пакети вбудовані й файлу не потребують: запустіть kshana standards-pack з термінала IDE) N/A (картки інструментів Studio для пакетів належать до робочого потоку Studio; CLI або вивід будь-якої поверхні живить картку зіставлення compliance)
Перевірка подання даних партнера (формат і метадані подання виміряних даних, kshana.partner-submission/1; нічого не оцінює) partner check partner::check_file, partner::check N/A (перевірка читає локальні файли та їхній SHA-256; API Rust — поверхня бібліотеки, а CLI — інструмент) N/A (у збірці для браузера немає файлової системи) N/A (MCP за задумом відхиляє файлові джерела (лише вбудований текст)) N/A (слеш-команди викликають інструменти MCP, а ця перевірка потребує файлів на диску) N/A (дії JetBrains прив'язані до одного вибраного файла; подання — це тека) N/A (ноутбука ще немає) N/A (Studio не має доступу до файлової системи; запустіть команду)
LunaNet Augmented Forward Signal: коди, SB1/CRC/перемежувач і перевірка за LSIS-AFS V1.0 (docs/LUNANET-AFS.md) lunanet-afs-check; сигнали lunanet-afs-i, lunanet-afs-q у iq scene/acquire/track/sweep iq::signals::lunanet, iq::lunanet_afs, surface::lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate; iq_scene тощо з двома назвами сигналів lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate; iq_scene тощо через короткі прогони в пам'яті lunanet_afs_check /kshana-lunanet-afs-check N/A (дії JetBrains прив'язані до вибраного файлу; запустіть kshana lunanet-afs-check з термінала IDE) N/A (картка Studio — завдання робочого потоку Studio; CLI та кожна інша поверхня її забезпечують)
Геометрія неба під лінією горизонту: видимі та замасковані супутники, DOP, коваріація ENU, еліпс похибок (docs/SKYLINE.md) sky geometry::sky_geometry, surface::sky_geometry sky_geometry sky_geometry sky_geometry /kshana-run (вказує на інструмент) N/A (інтерактивний скайплот — подання в браузері; kshana sky охоплює числа) notebooks/geometry.ipynb — (подання Геометрії в Studio додається окремо в 0,36)
Хмара Монте-Карло для неба (похибки найменших квадратів із зерном, RMS, 95 % охоплення) sky --monte-carlo <n> --seed <s> geometry::sky_monte_carlo sky_monte_carlo sky_monte_carlo N/A (масові вибірки, які агент має підсумовувати, а не переносити) N/A (інструмента MCP немає) N/A (як вище) N/A — (як вище)
Пресети та профілі лінії горизонту (docs/SKYLINE.md) skyline --preset <name>, --presets, --profile <file> geometry::skyline_presets, geometry::skyline_profile skyline_presets, skyline_profile skyline_presets, skyline_profile sky_geometry (skyline_preset) так само N/A (як вище) N/A — (як вище)
Скайплот у вигляді SVG sky --svg geometry::skyplot_svg skyplot_svg skyplot_svg N/A (агент бере числа з sky_geometry) N/A N/A (як вище) N/A — (як вище)
Розділ лінії горизонту в сценарії ([skyline]: орбіта та цілісність з user_site, gnss-sim, jamming, leo-pvt, leo-pass, nmea-scenario) файл сценарію skyline::SkylineCfg run, nmea_training run, nmea_training run_scenario, generate_training_nmea /kshana-run Run Kshana Scenario N/A —
Оптична лінія часу крізь атмосферу: доступність за майданчиками, рознесення майданчиків, методи покращення, зв'язок між відмовою та holdover (тип сценарію optical-atmosphere; docs/OPTICAL-ATMOSPHERE.md; MODELLED, ILLUSTRATIVE майданчики, консультативно) kshana scenarios/optical-atmosphere-network.toml, scenarios/optical-atmosphere-techniques.toml optical_atmosphere, optical_weather, optical_sitediv, optical_techniques, optical_outage_holdover run, run_typed run run_scenario /kshana-run Run Kshana Scenario optical-atmosphere очікується: подання Studio ще немає; сценарій запускається в засобі запуску сценаріїв Studio та на картці інструментів «Командний рядок»
Тест holdover, оцінений за наданим оператором записом похибки часу: базовий рівень, GNSS, вимкнений оператором, holdover, відновлення, виміряні щодо масок ITU-T (тип сценарію holdover-test; docs/TIMING-HIL.md; MODELLED, консультативно; Kshana нічого не передає і не керує нічим) kshana scenarios/holdover-test-example.toml, scenarios/holdover-test-ptp4l.toml holdover_test, telecom_timing run, run_typed run (вбудований samples або clock_log.text; файлові ключі відхиляються) run_scenario (лише вбудовано) /kshana-run Run Kshana Scenario N/A (у 0,38 ноутбука немає; приклади сценаріїв запускаються в будь-якому ноутбуці через run) очікується: подання Studio ще немає; сценарій запускається в засобі запуску сценаріїв Studio та на картці інструментів «Командний рядок»
Бюджет похибок навігації та часу ланцюга фаз місії від старту до входу в атмосферу: вісім видів фаз, правила передачі, перетворення систем відліку та шкал часу, накладення наземної мережі, запас щодо заявлених вимог і найслабша ланка (вид сценарію mission-thread; docs/MISSION-THREAD.md; MODELLED, вхідні дані ILLUSTRATIVE, консультативно; лише публічні джерела, без схвалення будь-ким) kshana scenarios/mission-thread-artemis-class.toml (із локальної копії репозиторію: він читає закомічений зріз ядра Місяця) mission_thread run, run_typed run (moon_kernel_path є файловим ключем і відхиляється; без ядра Місяць задається аналітичним рядом, і рядок перетворення про це повідомляє) run_scenario (лише вбудований текст; ключ ядра відхиляється) /kshana-run Run Kshana Scenario N/A (немає блокнота; приклад запускається в будь-якому блокноті через run із локальної копії репозиторію) очікується: подання Studio ще немає; сценарій запускається в засобі запуску сценаріїв Studio та на картці інструментів «Командний рядок»
GNSS поза межами угруповання: доступність сигналів GPS, GLONASS, Galileo, BDS, QZSS і NavIC для користувача на оболонці або на траєкторії від LEO до місячного переходу (буклет, параметрична або виміряна діаграма передавання, середовище променя на лімбі, конструкція приймача слабких сигналів), бортовий GNSS EKF для високоорбітальних і місячних апаратів та відносна навігація формації (тип сценарію gnss-ssv; docs/SSV.md; MODELLED, консультативно; порівняно з буклетом ICG SSV за попередньою реєстрацією, xval/gnss-ssv/RESULTS.md) kshana scenarios/gnss-ssv-shell.toml, gnss-ssv-heo.toml, gnss-ssv-lunar-weak.toml, gnss-ssv-nav-lunar.toml, gnss-ssv-formation-heo.toml ssv run, run_typed run (вбудовано; transmit.pattern_text містить виміряну діаграму вбудовано) run_scenario (лише вбудовано; transmit.pattern_csv відхиляється) /kshana-run Run Kshana Scenario N/A (у 0,38 ноутбука немає; сценарії запускаються в будь-якому ноутбуці через run) очікується: подання Studio ще немає; сценарій запускається в засобі запуску сценаріїв Studio та на картці інструментів «Командний рядок»
Місячна орбіта та поверхня як навігаційна та геодезична інфраструктура: узгодженість визначення орбіти, розв'язання неоднозначностей фази несівної, спільне оцінювання систем відліку, космічний зв'язок і чутливість до чисел Лява (тип сценарію lunar-infrastructure, study = ...; docs/LUNAR-INFRASTRUCTURE.md; MODELLED, ILLUSTRATIVE вхідні дані, консультативно) kshana scenarios/lunar-infrastructure-od-consistency.toml (і п'ять споріднених прикладів) lunar_infra run, run_typed run run_scenario /kshana-run Run Kshana Scenario N/A (ноутбука немає; приклади запускаються в будь-якому ноутбуці через run) очікується: подання Studio ще немає; сценарії запускаються в засобі запуску сценаріїв Studio та на картці інструментів «Командний рядок»
Виміряні журнали годинників, зчитані в серію фази: linuxptp ptp4l, phc2sys, ts2phc, chrony tracking і statistics, поряд із годинником RINEX, TimeLab і TICC ([clock_log] / [series.clock_log]; docs/CLOCK-LOG-FORMATS.md; MODELLED, жоден оракул не порівнює розбір із читанням іншою програмою) сценарій із [clock_log] clock_log::read_input run run (text лише вбудовано; у браузері файли не читаються) run_scenario (text лише вбудовано; path відхиляється) /kshana-run Run Kshana Scenario N/A (ноутбука немає; журнал — це файл, який надає користувач) очікується: подання Studio немає; засіб запуску сценаріїв Studio приймає текст сценарію
Оптична лінія часу крізь атмосферу: доступність за майданчиками, рознесення майданчиків, методи покращення, зв'язок між відмовою та holdover (тип сценарію optical-atmosphere; docs/OPTICAL-ATMOSPHERE.md; MODELLED, ILLUSTRATIVE майданчики, консультативно) kshana scenarios/optical-atmosphere-network.toml, scenarios/optical-atmosphere-techniques.toml optical_atmosphere, optical_weather, optical_sitediv, optical_techniques, optical_outage_holdover run, run_typed run run_scenario /kshana-run Run Kshana Scenario optical-atmosphere подання Optical PNT у Studio (/studio/optical/, 0,38) малює записані результати двох вбудованих сценаріїв, зокрема часовий ряд із зерном; сценарій також запускається в засобі запуску сценаріїв Studio та на картці інструментів «Командний рядок»
Завантаження полігонів суходолу (interference-map fetch-land) --allow-network Код CLI N/A N/A N/A N/A N/A N/A Інструменти: картка «Командний рядок» (потрібен --allow-network)
Бенчмарк (kshana-bench v1: оцінювання внеску за файлом істинних даних, сторінка рейтингу; docs/BENCH.md, MODELLED, консультативно) bench score, bench leaderboard bench::score, bench::site::leaderboard_html, surface::bench_score, surface::bench_leaderboard bench_score, bench_leaderboard bench_score, bench_leaderboard score_benchmark, render_leaderboard N/A (це забезпечують два інструменти MCP; слеш-команда над двома файлами JSON нічого не додає) N/A (це не дія IDE) N/A (освітні ноутбуки — окремий робочий потік) N/A (рейтинг — це статична сторінка bench/site/, перенесена на сайт як є; Studio нічого не обчислює)
Інструменти бенчмарка та holdout (bench truth|cases|baseline|seal|reveal-check|manifest|verify-manifest|validate) так само bench::tasks, bench::seal N/A N/A N/A N/A N/A N/A N/A (CLI читає теки наборів даних і файли годинників, а для seal ще й секретний файл зерна; зерно не повинно проходити через агента чи сторінку)
Щоденний продукт і дослідження чутливості обсерваторії (interference-map daily|sensitivity; docs/observatory/METHOD.md) interference-map daily, interference-map sensitivity interference_map::observatory N/A N/A N/A N/A N/A N/A N/A (команди читають теку архіву з сотнями тисяч файлів, записують чотири файли, зокрема PNG, і забезпечують затримку випуску 24 h щодо годинника машини, яка публікує; карта CSV є на кожній поверхні в рядку вище)

Studio#

Kshana Studio — вебзастосунок, побудований на збірці WebAssembly, тож подання Studio існує там, де в стовпці WASM є точка входу, а де її немає, комірка вказує на картку «Командний рядок» (команду для запуску з її аргументами), але ніколи на результат, обчислений Studio. Сторінки (kshana.dev/studio/, на боці клієнта): Морська довіра (trust/), Розбір навчання (training/), Карта завад (interference/), Геометрія (geometry/: показовий скайплот, лінія горизонту, DOP, еліпс похибок і хмара Монте-Карло від рушія; 0,36), Місячна станція (lunar/: змодельоване покриття місячної опорної станції за типом lunar-station-coverage; 0,36) і сторінка Інструменти, розділи якої — OSNMA (#osnma), Пакети доказів (#evidence), Експорт для випробувального стенда (#bench), Зіставлення compliance (#compliance), вкладка «Командний рядок» (картка телеметрії, IQ, морські інтеграції: команди для запуску) і «Використання з вашим ШІ-асистентом» (#ai). Знак — у стовпці Studio таблиці підкоманд позначає команду, яка не входить до можливостей 0,35, що їх подає Studio.

Чому комірки N/A мають N/A#

  • Signal K і OpenCPN. Вони споживають запущений живий процес і його шлюз TCP, тож це розгортання в командному рядку; плагін містить команду-інструкцію та навичку, що вказують на docs/MARINE-INTEGRATIONS.md і не викликають жодного інструмента.

  • Запущений процес. receiver-trust live тримає потік відкритим, може віддавати потік через шлюз довільній кількості клієнтів TCP і працює, доки його не зупинять. Виклик Python, виклик із браузера, виклик інструмента MCP і дія IDE повертаються після завершення і не тримають сокет відкритим для інших. Натомість Python, WASM і MCP мають обмежену форму: фрагмент, оцінений тим самим рушієм, у живій схемі (рядки JSON 1,3: position, твердження advisory і geometry супутників на кожній епосі, class для кожного відрахування), без сокета і без шлюзу (шлюз позначає розв'язок недійсним у живому потоці, що може зробити лише процес у тракті даних). Дві поведінки належать процесу й відсутні в інструментах для фрагментів: потік, відтворений швидше за реальний час через receiver-trust live без --replay, оцінюється як недовірений (його час не збігається з годинником хоста; фрагмент читається без годинника хоста), а --udp <port> і --listen tcp:<port> прив'язуються до адреси зворотного зв'язку, якщо адресу не задано.

  • Телеметрія довіри. WASM містить trust_telemetry(input, format, host, input_kind, options_json): ті самі кодувальники, що повертають текст Prometheus, рядки syslog CEF або LEEF чи корисне навантаження OTLP JSON для потоку або пакетного результату, без годинника (рядки syslog містять нульову мітку часу RFC 5424) і нічого не надсилаючи. Python (trust_telemetry) і MCP (trust_telemetry, з командою плагіна /kshana-trust-telemetry) її також містять. Решта trust-telemetry віддає метрики Prometheus, надсилає syslog і експортує OpenTelemetry із запущеного потоку, тож це за своєю природою процес. Інструкція: спрямуйте до нього живу команду каналом або відтворіть файл результату (kshana trust-telemetry --result session.result.json --print-metrics); див. TRUST-TELEMETRY.md. Агент чи ноутбук, що потребує оцінок для кожної епохи, натомість викликає пакетні функції або функції для фрагментів.

  • Створення пакета в браузері. Підпис потребує приватного ключа, який не повинен проходити через вебсторінку; збірка для браузера перевіряє пакети (evidence_verify), а створюють їх інші поверхні. Інструмент MCP ніколи не повертає і не журналює зерно підпису, а без нього підписує одноразовим ключем (цілісність, а не особа); для ключа, що має значення, користуйтеся CLI. Те саме стосується потокового передавання навчальних NMEA на адресу: Python, WASM і MCP повертають згенерований текст, а CLI його надсилає.

  • Набори досліджень. --study <suite.toml> запускає маніфест, що називає споріднені файли сценаріїв на диску. Поверхні в пам'яті приймають текст сценарію, а не теку файлів, тому запускають кожного члена як окремий сценарій (run, run_scenario, run_all).

  • GNSS IQ у браузері та записи, що переписуються. Запис — це гігабайти відліків, які сторінка не вмістить, а протокол MCP не повинен передавати, тому WASM не має функцій IQ, а інструменти MCP читають і записують лише одну робочу теку (KSHANA_MCP_IQ_DIR, з бюджетом відліків на виклик). iq extract, convert і decimate існують для переписування записів на диску і залишаються лише в командному рядку. iq labfit і iq conditions працюють із текстом, тож MCP приймає їх вбудовано (журнал, що називає файл, відхиляється).

  • Завантаження суходолу. Це єдина команда, що відкриває мережеве з'єднання; вона потребує системного curl і явного --allow-network та перевіряє закріплений SHA-256. У браузері немає curl, а агент ШІ не повинен отримувати дані від імені користувача; інші поверхні натомість приймають файл суходолу як текст (land_geojson).

  • Архіви трас і теки. interference-map adsb для теки трас readsb читає файли з диска і є лише командним рядком; поверхні в пам'яті приймають текст CSV.

Кожна підкоманда командного рядка і хто її забезпечує#

Один рядок на підкоманду або режим kshana --help. так називає точку входу; ні — прогалина з причиною; N/A — поверхня, що не може її забезпечити з причини, наведеної вище чи в останньому стовпці. Дії JetBrains запускають командний рядок, тож N/A там пояснює, чому дії IDE не існує.

Підкоманда Python WASM MCP Плагін JetBrains Ноутбук Studio Примітка
kshana <scenario.toml> (запуск, діаграма, таблиця) run, run_full, run_typed run, chart_svg, summary, table_csv, run_all run_scenario, report_scenario, export_table_csv /kshana-run Run Kshana Scenario quantum-vs-classical-gdop —
--validate <scenario.toml> validate_toml error_kind (запуск видає помилку для недійсного сценарію) validate_scenario /kshana-run Validate Scenario —
--study <suite.toml> N/A N/A N/A N/A N/A (називає споріднені файли на диску) — Набір називає споріднені файли сценаріїв на диску (N/A вище); запускайте кожного члена як сценарій
--export-sp3/-omm/-oem export_sp3, export_omm, export_oem export_sp3, export_omm, export_oem export_sp3, export_omm, export_oem /kshana-run Export Scenario —
--export <czml,kml,geojson,stk,sigmf> export_scenario, export_formats export_scenario, export_formats export_interop, list_export_formats /kshana-run Export Scenario — Файли повертаються як текст (utf-8) або base64 (відліки SigMF)
--import-route import_route import_route import_route /kshana-import-route Import Route —
--animate <svg,html,frames> animate_scenario animate_scenario animate_scenario /kshana-run Animate Scenario — Не більше 120 кадрів за виклик; довші послідовності — через CLI
sky <request> (або прапорці), --monte-carlo, --svg sky_geometry, sky_monte_carlo, skyplot_svg sky_geometry, sky_monte_carlo, skyplot_svg sky_geometry (без Монте-Карло, без SVG) /kshana-run N/A (див. рядок можливості) — MODELLED геометрія; на виході JSON або SVG
skyline --preset, --presets, --profile skyline_presets, skyline_profile skyline_presets, skyline_profile sky_geometry (skyline_preset) /kshana-run N/A (див. рядок можливості) — REPRESENTATIVE пресети із зазначенням походження
kinds [--json] scenario_kinds, list_kinds list_kinds list_scenario_kinds /kshana-run List Scenario Kinds —
example [<name>] list_examples, get_example list_examples, get_example list_example_scenarios, get_example_scenario /kshana-run Insert Example Scenario — Можливості python і wasm вкомпілювують текст прикладів (близько 0,7 МБ)
receiver-trust <scenario.toml> (пакетно) receiver_trust, assess_vessel_log receiver_trust, assess_vessel_log assess_receiver_log, assess_vessel_log /kshana-assess-receiver Assess Receiver Trust vessel-trust-and-training Сторінка морської довіри
receiver-trust live фрагмент: receiver_trust_replay фрагмент: receiver_trust_replay фрагмент: assess_vessel_stream фрагмент Assess Receiver Stream (збережений журнал, --file) Сторінка морської довіри (фрагмент); картка «Командний рядок» для процесу Запущений процес; фрагмент не має сокета і шлюзу (N/A вище)
trust-telemetry trust_telemetry trust_telemetry trust_telemetry /kshana-trust-telemetry Render Trust Telemetry (збережений результат) vessel-trust-and-training Інструменти: картка «Телеметрія» (вкладка «Командний рядок»; лише формати, без сокетів) Лише текст на кожній поверхні, без сокета; запущені експортери — це процес (див. вище)
imu-fit <imu.csv> imu_fit imu_fit fit_imu_log /kshana-fit-imu N/A — Текст на вході, JSON на виході; MODELLED
osnma verify <pages|vectors.csv|stream.ubx> osnma_verify osnma_verify N/A (див. вище) N/A (див. вище) N/A (див. вище) Інструменти: OSNMA Той самий JSON, що й --json, із консультативним повідомленням у полі advisory; прочитаний файл стає байтами в пам'яті. Лише стан автентифікації: це не служба цілісності навігації, і жодного твердження про ефективність проти спуфінгу немає
receiver-trust evidence (створення пакета) evidence_create N/A create_evidence_pack /kshana-evidence-pack Create Evidence Pack vessel-trust-and-training Інструменти: картка «Командний рядок» (на сторінці немає ключа підпису) У браузері немає ключа підпису
jammertest import, jammertest score jammertest_import, jammertest_score jammertest_import, jammertest_score jammertest_import, jammertest_score /kshana-jammertest N/A (термінал; потрібні файли) очікується: Інструменти: картка «Командний рядок» План і каталог подаються як текст; підписаний пакет (--key) доступний лише з командного рядка (ключ підпису)
evidence round-trip evidence_round_trip N/A create_round_trip_pack /kshana-evidence-pack N/A (як вище) Інструменти: картка «Командний рядок» (на сторінці немає ключа підпису) У браузері немає ключа підпису; жоден сигнал не записується і не відтворюється
evidence verify evidence_verify evidence_verify verify_evidence_pack /kshana-evidence-pack Verify Evidence Pack (лише закріплений ключ) vessel-trust-and-training Інструменти: Пакети доказів (перевірка, додавання мітки часу)
evidence keygen evidence_keygen N/A N/A N/A N/A (приватний ключ плагін ніколи не створює і не читає) Інструменти: картка «Командний рядок» Python повертає ключ у пам'яті з попередженням; приватний ключ не повинен проходити через розмову чи сторінку
evidence attach-timestamp evidence_attach_timestamp evidence_attach_timestamp attach_evidence_timestamp /kshana-evidence-pack Attach Timestamp Інструменти: Пакети доказів (перевірка, додавання мітки часу) Токен як байти або base64, оновлений пакет повертається в пам'яті; підпис центру не перевіряється (openssl ts -verify)
nmea-scenario <scenario.toml> nmea_training nmea_training generate_training_nmea /kshana-training-scenario Generate Training NMEA vessel-trust-and-training Сторінка розбору навчання
nmea-scenario --tcp/--udp N/A N/A N/A N/A N/A (див. примітку) Інструменти: картка «Командний рядок» Надсилає на адресу (N/A вище)
interference-map adsb|ais (CSV) interference_map interference_map build_interference_map /kshana-interference-map Build Interference Map interference-map-route-exposure Сторінка карти завад
interference-map adsb (тека трас) N/A N/A N/A N/A N/A (див. примітку) Інструменти: картка «Командний рядок» Читає теку (N/A вище)
interference-map locate (CSV) interference_emitter_regions interference_emitter_regions N/A (ще не підтримується) N/A N/A — Оцінені області випромінювачів, MODELLED; теки трас і --tdoa лише в командному рядку
interference-map fetch-land N/A N/A N/A N/A N/A (див. примітку) Інструменти: картка «Командний рядок» Доступ до мережі (N/A вище)
interference-map daily, sensitivity N/A N/A N/A N/A N/A (див. примітку) — Читає теку архіву і записує файли; затримку випуску забезпечує машина, що публікує (N/A вище)
bench score bench_score bench_score score_benchmark N/A (це забезпечує інструмент MCP) N/A — Текст на вході, текст на виході; нічого не читається і не записується
bench leaderboard bench_leaderboard bench_leaderboard render_leaderboard N/A (це забезпечує інструмент MCP) N/A статична сторінка bench/site/ Текст HTML
bench truth|cases|baseline|seal|reveal-check|manifest|verify-manifest|validate N/A N/A N/A N/A N/A — Файли наборів даних і секретне зерно (N/A вище)
route-exposure route_exposure route_exposure route_exposure /kshana-interference-map Route Exposure interference-map-route-exposure Сторінка карти завад
bench-export bench_export bench_export export_test_bench /kshana-bench-export Export Test-Bench Files Інструменти: Експорт для випробувального стенда Повертає текст, нічого не записує; без сигналу
compliance-report compliance_report compliance_report compliance_report /kshana-compliance-report Build Compliance Report Інструменти: Зіставлення compliance
compliance-report --mapping, --sources compliance_mapping compliance_mapping compliance_mapping /kshana-compliance-report Show Compliance Mapping —
iq scene iq_scene, iq_scene_broadcast N/A iq_scene /kshana-iq N/A (записи — це гігабайти файлів; див. примітку) — Відліки — це файли. --format sdrx[:ci16_le] (або шлях виводу, що закінчується на .sdrx) записує метадані ION GNSS SDR поряд із відліками: їх записують CLI та MCP (format: "sdrx"); Python повертає відліки в пам'яті й не записує файл, тож метаданих у формі Python немає (N/A)
standards-pack list, run, rows, tests standards_pack_list, standards_pack_run standards_pack_list, standards_pack_run list_standards_packs, run_standards_pack /kshana-standards-pack N/A (як вище) Інструменти: картка «Командний рядок» Сценарії вбудовані; файлової системи немає; rows і tests друкують закомічені таблиці документації і доступні лише в CLI
partner check <submission.toml> N/A N/A N/A N/A N/A — Читає файл подання та його файл даних на диску й перевіряє SHA-256; жодна з цих поверхонь не має теки. Лише формат і метадані, нічого не оцінюється; див. docs/PARTNER-DATA.md
lunanet-afs-check spec, symbols, generate lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate lunanet_afs_check /kshana-lunanet-afs-check N/A (як вище) — Потоки символів — це текст із 0 і 1, не більше 4 MiB (MCP) або 100 кадрів, згенерованих за виклик; LDPC і CRC-24Q підкадрів від 2 до 4 не перевіряються; жоден сигнал не записується
iq scene iq_scene, iq_scene_broadcast N/A iq_scene /kshana-iq N/A (записи — це гігабайти файлів; див. примітку) — Відліки — це файли
iq acquire iq_acquire, iq_acq_surface N/A iq_acquire /kshana-iq N/A (записи — це гігабайти файлів; див. примітку) —
iq track iq_track, iq_loop_designs N/A iq_track /kshana-iq N/A (записи — це гігабайти файлів; див. примітку) —
iq sweep iq_sweep N/A iq_sweep /kshana-iq N/A (записи — це гігабайти файлів; див. примітку) —
iq labfit iq_labfit N/A iq_labfit (журнали вбудовано, без файлів) /kshana-iq N/A (записи — це гігабайти файлів; див. примітку) —
iq frontend iq_frontend N/A iq_frontend /kshana-iq N/A (записи — це гігабайти файлів; див. примітку) —
iq monitor iq_monitor N/A iq_monitor /kshana-iq N/A (записи — це гігабайти файлів; див. примітку) — --follow [--idle-timeout <s>] читає запис SigMF, який ще пишеться, лише на приймання (iq::io::follow::open_sigmf_follow у Rust): N/A для Python і MCP, бо виклик, що чекає зростання файлу, не повертається, коли роботу виконано; з цієї причини receiver-trust live також доступний лише з командного рядка; запис у його поточній довжині обробляється через iq_monitor
iq campaign, iq campaign report iq_campaign, iq_campaign_report N/A iq_campaign, iq_campaign_status /kshana-iq N/A (записи — це гігабайти файлів; див. примітку) —
iq conditions iq_test_conditions N/A iq_test_conditions (текст, вбудовано) /kshana-iq N/A (записи — це гігабайти файлів; див. примітку) —
iq inventory, info iq_inventory, iq_info N/A iq_info /kshana-iq N/A (записи — це гігабайти файлів; див. примітку) — Опис теки — це Python і CLI; сервер MCP читає одну робочу теку
iq extract, convert, decimate N/A N/A N/A N/A N/A (див. примітку) — Вони переписують записи на диску (N/A вище)
перелік сигналів (iq --help) iq_signals N/A iq_signals /kshana-iq N/A (перелік; запустіть kshana iq --help) —

Допоміжні функції#

Невеликі точки входу, що не є рядком можливості, і де кожна міститься:

Функція Поверхня Що це
version Python (kshana.version(), kshana.__version__), WASM (version), CLI (--version), MCP (відомості про сервер) Версія рушія
iq_read_epochs Python Читає двійковий файл kshana.track-epoch/1, який записав kshana iq track --epochs. N/A в інших місцях: він читає файл із диска (у WASM немає файлової системи, MCP читає лише одну робочу теку через інструменти iq_*)
encode_permalink, decode_permalink WASM Кодек посилань для поширення ?s= у браузерному майданчику (TOML сценарію в токен, безпечний для URL, і назад). N/A в інших місцях: посилання на вебсторінку не має сенсу для командного рядка, виклику Python чи агента

Обмеження, що різняться за поверхнями#

Поверхня Обмеження входу Файли
MCP 4 MiB на текстовий вхід (2 MiB і 20 000 епох для фрагмента потоку); відповіді містять не більше 2000 рядків NMEA, 200 рядків ненормальних епох і 4 MiB GeoJSON або файлів пакета лише вбудований вміст: поле сценарію, що називає файл, відхиляється; інструменти iq_* використовують одну робочу теку, що вмикається за вибором, і кожен шлях обмежений нею
MCP через HTTP (--http, власне розгортання) як MCP, із тілом запиту 5 MiB, 120 s на запит і 8 одночасними запитами за замовчуванням немає: файлові інструменти iq_* вимкнено; кожен інший інструмент приймає вбудований вміст
Python, Rust 64 MiB на текстовий вхід receiver_trust може називати path, який процес здатен прочитати
WASM 64 MiB на текстовий вхід, у межах власної пам'яті браузера немає: у браузері немає файлової системи, нічого не завантажується

Рівні доказів і застереження на кожній поверхні#

  • Пакет доказів — це технічний запис того, що рушій обчислив із журналу за заявлених налаштувань, з усіма хешами та підписом над ними. Це не юридичний висновок, не констатація фактів про будь-яку подію і не схвалення. Успішна перевірка (verify) означає, що запис не змінився; без довіреного відкритого ключа вона доводить лише цілісність щодо ключа, який називає сам пакет.
  • Монітори довіри до приймача та оцінка довіри мають рівень MODELLED: пороги є заявленими вхідними даними, і ніщо не стверджує, як вони працюють проти реальних завад. Вихідні дані є консультативними; Kshana не є навігаційним обладнанням із затвердженням типу (IEC 61108, IEC 61162), а відповідальність залишається на операторі. Висока оцінка не є доказом справжності розв'язку.
  • Карта завад має рівень MODELLED (пороги з попередньою реєстрацією, не перевірені за вимірюванням істинних даних). Погіршена комірка не визначає завади як причину; неспостережена комірка не є доказом чистого маршруту; вона описує минулі звіти і не є прогнозом. Вона лише агрегована: жоден ідентифікатор не повертається.
  • Навчальні NMEA — лише текст: жодного RF, IQ чи сигналу не синтезується, нічого не передається, і вони ніколи не призначені для живих навігаційних систем судна.

Позначка доказів і виводи, що її не несуть#

Кожен показник і кожна таблиця, які записує прогін, несуть свій рівень доказів (VALIDATED, MODELLED або PARTNER, найслабший із рядків реєстру за ним) та ідентифікатори цих рядків на кожній поверхні, що запускає сценарій: результат JSON (ключ evidence), діаграма SVG (елемент метаданих і рядок під графіком) і таблиця CSV (рядки коментарів # evidence:). Та сама позначка є на виводах довіри до приймача (CLI, MCP, Python), у jammertest score --json, iq acquire, iq sweep, iq track --summary, iq monitor --json, у звіті про маршрут карти завад і всередині config.json кожного пакета доказів (підписаного; kshana evidence verify повідомляє її). Ідентифікатори рядків стабільні (VM- та вісім шістнадцяткових цифр, стовпець ID у docs/VERIFICATION-MATRIX.md).

Ці виводи не несуть позначки, кожен з указаної причини (перелік — UNLABELLED_WRITERS у tests/evidence_labels_doc_sync.rs, який завершується помилкою, якщо записувач не має ні позначки, ні запису в переліку):

Вихід Чому позначки немає
файли результатів kshana-bench фіксована схема, закріплена зобов'язаннями holdout; кожен несе власну label (MODELLED або виміряно)
щоденні продукти обсерваторії завад (GeoJSON, PNG, JSON інцидентів) заморожена опублікована схема; застереження примітки до методу супроводжують їх
файли комірок, табло результатів і звітів кампанії IQ закріплені за дайджестом; кожен вказує табло результатів кампанії, яке він переказує
відліки IQ, метадані SigMF і SDR, опорна істина сцени, потоки епох і подій відстеження, журнали живих сеансів файли та потоки записів, прив'язані до формату, які читають інші інструменти
експорти SP3, OMM, OEM, CZML, KML, GeoJSON, STK, руху випробувального стенда та NMEA; навчальний потік NMEA файли, прив'язані до формату, які читають сторонні інструменти
формати передавання телеметрії (Prometheus, OTLP, CEF, LEEF) визначені своїми форматами передавання
згенеровані документи (сам реєстр, закомічені таблиці досліджень і даних) не є результатом прогону