Tradução automática, não revista por um falante nativo. O inglês é a referência.

APIs e integraçõesEditar no GitHubFonte: docs/SURFACES.md

Onde cada capacidade é acessível

Todas as capacidades estão disponíveis nas superfícies onde fazem sentido; onde uma superfície não pode suportar uma capacidade, a célula diz N/A e porquê. O mesmo motor corre por trás de todas as superfícies: os pontos de entrada Python, WebAssembly e MCP das capacidades da 0,35 são invólucros finos sobre kshana::surface, que chama o código que a linha de comandos executa.

Uma passagem que nomeia clientes de IA de terceiros é omitida aqui; consta de docs/SURFACES.md no GitHub.

Capacidade CLI Rust Python WASM MCP Plugin JetBrains Notebook Studio
Confiança do recetor de embarcação, registo em lote (pontuação de 0-100, motivos) 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, skill vessel-receiver-trust Avaliar a confiança do recetor vessel-trust-and-training Página de confiança marítima
Confiança do recetor num excerto limitado de um fluxo (pontuações, estados, motivos; sem gate) receiver-trust live receiver_trust::assess::assess_stream_excerpt receiver_trust_replay receiver_trust_replay assess_vessel_stream igual Avaliar fluxo do recetor (um registo guardado) vessel-trust-and-training Página de confiança marítima
Geometria dos satélites e classes de dedução (0,36: geometry boa/degradada/desconhecida com motivos e DOP, uma label boa/razoável/fraca sempre reportada, o monitor geometry (nada, a menos que a geometria seja fraca, e então até 15 pontos; listado em último em monitors_run quando decidiu, pelo que a contagem de monitores do veredicto inclui a geometria), uma class em cada dedução, geometry_model, geometry_summary) receiver-trust, receiver-trust live (no JSON de resultado e em cada linha JSON; o CSV, o SVG, o veredicto de uma linha e $PKSHT trazem uma dedução de geometria como qualquer outra e, no mais, não se alteram) receiver_trust::geometry, em EpochTrust, Deduction e EpochReport receiver_trust, assess_vessel_log, receiver_trust_replay (nos dicionários devolvidos) os mesmos três (no JSON devolvido) assess_receiver_log, assess_vessel_log, assess_vessel_stream (na resposta; a resposta de um registo de embarcação mantém geometry_model e geometry_summary); trust_telemetry apresenta-o igual, skills vessel-receiver-trust, trust-telemetry as ações acima imprimem a saída da CLI, que o transporta vessel-trust-and-training (no resultado que carrega) pendente: a página de confiança marítima ainda não o mostra (campos listados em docs/MARITIME-TRUST.md, item 6 da vista Studio)
receiver-trust live como processo em execução (stdin, ficheiro seguido, TCP, UDP, --gate, --listen) receiver-trust live receiver_trust::live::LiveEngine N/A N/A N/A N/A N/A N/A Ferramentas: cartão Linha de comandos (o comando a executar; um navegador não é um processo no percurso dos dados)
Pacote de evidências: criar (assinado, janela de um registo; 0,38: um lab-attestation opcional, a declaração do operador sobre uma montagem de laboratório, registada no manifesto assinado, nunca verificada) 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 (chave de assinatura) create_evidence_pack (lab_attestation_toml) /kshana-evidence-pack, skill evidence-pack Criar pacote de evidências (sem campo de atestação na caixa de diálogo na 0,38: pendente; a linha de comandos aceita-o) vessel-trust-and-training N/A (uma chave de assinatura não deve estar numa página); Ferramentas: cartão Linha de comandos
Jammertest como árbitro (0,38): o catálogo e o plano de transmissão publicados da NPRA lidos como referência agendada (import), um registo de recetor pontuado face a ela por ensaio (score: latência de deteção, falhas, falsos alarmes, tempo de recuperação; 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, skill jammertest N/A (precisa dos ficheiros do plano e de um registo em disco; execute-o a partir de um terminal) N/A (ainda sem notebook) pendente: um cartão de Ferramentas para a linha de comandos (a faixa e as vistas do Studio são da WS-A)
Pacote de pontuação Jammertest assinado (jammertest score --key: o pacote de evidências de confiança do recetor com a folha de pontuação e o calendário dentro de config.json) jammertest score --key <keyfile> --out <dir> jammertest::score_pack N/A (chave de assinatura) N/A (chave de assinatura) N/A (chave de assinatura: utilize create_evidence_pack numa janela, ou a linha de comandos) N/A N/A N/A N/A (uma chave de assinatura não deve estar numa página); Ferramentas: cartão Linha de comandos
Autorrelato do recetor (0,38): UBX-NAV-STATUS spoofDetState e UBX-SEC-SIG lidos para self_report em cada época, e a comparação receiver_self_report (ambos / só o recetor / só o Kshana / nenhum) no resultado; não dispara qualquer alarme e não altera qualquer pontuação receiver-trust (no JSON de resultado; jammertest score) receiver_trust::ReceiverSelfReport, monitors::SelfReportEpoch, monitors::SelfReportSummary receiver_trust, assess_receiver_log (nos dicionários devolvidos) receiver_trust (no JSON devolvido) assess_receiver_log (na resposta) /kshana-assess-receiver as ações acima imprimem a saída da CLI, que o transporta N/A pendente: a faixa da página Confiança (WS-A; o campo é epochs[].self_report)
Formato de registo SBF da Septentrio (0,38, só de leitura: PVTGeodetic, MeasEpoch, RFStatus) receiver-trust com [log] format = "sbf" receiver_trust::ingest::read_sbf, LogFormat::Sbf receiver_trust, assess_receiver_log (format = "sbf", registo como base64) igual assess_receiver_log (base64) /kshana-assess-receiver as ações acima N/A N/A (o carregamento de registos binários não é oferecido na página Confiança na 0,38)
receiver-trust live --serial <device> [--baud n]: um fluxo NMEA série ou USB, só de leitura (abre o dispositivo para leitura, nunca escreve no recetor; --configure é recusado) receiver-trust live --serial N/A (um dispositivo e um processo) N/A N/A N/A N/A N/A N/A Ferramentas: cartão Linha de comandos (o comando a executar; um navegador não é um processo no percurso dos dados)
Pacote de evidências: criar (assinado, janela de um registo) receiver-trust evidence evidence::create_bundle, surface::evidence_create evidence_create N/A (chave de assinatura) create_evidence_pack /kshana-evidence-pack, skill evidence-pack Criar pacote de evidências vessel-trust-and-training N/A (uma chave de assinatura não deve estar numa página); Ferramentas: cartão Linha de comandos
Pacote de ida e volta de laboratório (cenário, condições de ensaio, registo do recetor e pontuação ligados por resumo criptográfico) evidence round-trip evidence::build_round_trip_pack, surface::evidence_round_trip evidence_round_trip N/A (chave de assinatura) create_round_trip_pack /kshana-evidence-pack N/A (as ações do JetBrains estão associadas a um único ficheiro selecionado; o pacote precisa de um cenário, de condições, de um registo e de uma chave: execute-o a partir do terminal do IDE) N/A (uma chave de assinatura não deve estar numa página); Ferramentas: cartão Linha de comandos
Pacote de evidências: verificar evidence verify evidence::verify_bundle evidence_verify evidence_verify verify_evidence_pack igual Verificar pacote de evidências (apenas chave fixada) vessel-trust-and-training Ferramentas: Pacotes de evidências (verificar, anexar marca temporal)
Telemetria de confiança (Prometheus, syslog CEF/LEEF, OTLP; 0,38: format = "mqtt", deteção do Home Assistant e linhas de estado; --mqtt-tcp publica a partir da CLI) trust-telemetry telemetry trust_telemetry trust_telemetry (saída de texto; sem socket) trust_telemetry /kshana-trust-telemetry, skill trust-telemetry Apresentar telemetria de confiança (um resultado guardado) vessel-trust-and-training Ferramentas: cartão Telemetria (separador Linha de comandos; apenas formatos, sem sockets)
Entradas de máquina e de sensor (0,38): formatos rtklib-pos, novatel, gnss-sdr de receiver-trust, e [log.imu] (csv, euroc) receiver-trust (cenário [log] format) receiver_trust::machines receiver_trust, assess_receiver_log (em linha) receiver_trust (em linha) assess_receiver_log (texto/base64 em linha; um path é recusado) /kshana-assess-receiver Avaliar a confiança do recetor vessel-trust-and-training N/A (a página Confiança do Studio lê os formatos que lista; os novos formatos seguem-se com a sua próxima portagem)
Registo de IMU para parâmetros de sensor híbrido/de fusão (tabela [accel_classical] a partir de um registo estacionário, ajuste de Allan) imu-fit surface::imu_fit, receiver_trust::machines::imu_fit imu_fit imu_fit fit_imu_log /kshana-fit-imu N/A (ainda sem ação no IDE) N/A N/A (o editor de cenários do Studio aceita a tabela colada)
Nó ROS 2, retransmissor UDP do GNSS-SDR, trust-telemetry --mqtt-tcp (integrations/ros2, integrations/gnss-sdr) processos N/A N/A N/A N/A N/A N/A N/A N/A (processos de longa duração e sockets; formas em texto: trust_telemetry com mqtt)
Verificação Galileo OSNMA de páginas I/NAV ou de um fluxo UBX (docs/OSNMA.md) osnma verify osnma::cli::verify_report, surface::osnma_verify osnma_verify osnma_verify N/A (um fluxo longo e bruto de recetor convém à CLI e ao Python; uma ferramenta de agente acrescentaria uma superfície de entradas grandes sem benefício) N/A (os comandos do plugin correm sobre o servidor MCP, que não tem ferramenta OSNMA pelo motivo indicado na célula do MCP; execute kshana osnma verify) N/A (o resultado nada significa sem uma raiz de Merkle ou uma chave pública de confiança obtidas do ICD por outra via e, para a atualidade, um tempo de referência independente; uma ação de clique com o botão direito não tem onde as obter, e uma predefinição sem fixação seria lida como verificação; execute kshana osnma verify) N/A (um fluxo à entrada, um relatório JSON à saída; sem notebook) Ferramentas: OSNMA
NMEA de treino com um registo do instrutor nmea-scenario nmea_synth::generate_from_toml nmea_training nmea_training generate_training_nmea /kshana-training-scenario, skill training-nmea-scenario Gerar NMEA de treino vessel-trust-and-training Página de debriefing de formação
NMEA de treino transmitido para um endereço TCP ou UDP nmea-scenario --tcp/--udp nmea_synth::stream N/A N/A N/A N/A N/A N/A Ferramentas: cartão Linha de comandos (transmite para um endereço)
Mapa de interferência (ADS-B, AIS) interference-map adsb|ais interference_map::api interference_map interference_map build_interference_map /kshana-interference-map, skill interference-map-route-exposure Construir mapa de interferência interference-map-route-exposure Página do mapa de interferência
Região do emissor (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 (ainda não incluído; as superfícies Rust, Python e WASM o cobrem) N/A N/A N/A (a publicação de regiões de emissores no observatório público é uma decisão separada do responsável e está desativada)
Exposição de rota route-exposure interference_map::api::route_exposure route_exposure route_exposure route_exposure igual Exposição do percurso interference-map-route-exposure Página do mapa de interferência
Plugin Signal K e alimentação de gate do OpenCPN (docs/MARINE-INTEGRATIONS.md) integrations/, receiver-trust live --gate --listen N/A (processos) N/A N/A N/A apenas guia prático: /kshana-marine-integrations, skill marine-integrations N/A N/A Ferramentas: cartão Linha de comandos (guia prático; uma implementação)
Exportação de test bench (CSV de movimento, NMEA, pontos de passagem, eventos para um simulador de laboratório) bench-export interop::testbench::export_with_notes, surface::bench_export bench_export bench_export export_test_bench /kshana-bench-export, skill test-bench-export Exportar ficheiros de test bench compliance-and-test-bench Ferramentas: exportação de test bench
Mapeamento de compliance a partir de execuções (para que linhas de quadros públicos as execuções fornecem elementos de prova em apoio de) compliance-report compliance::assess_texts, surface::compliance_report compliance_report compliance_report compliance_report /kshana-compliance-report, skill compliance-mapping Construir relatório de compliance compliance-and-test-bench Ferramentas: mapeamento de compliance
Tabelas e fontes do mapeamento de compliance compliance-report --mapping, --sources compliance::mapping, surface::compliance_mapping compliance_mapping compliance_mapping compliance_mapping igual Mostrar mapeamento de compliance N/A Ferramentas: mapeamento de compliance
Pacotes de normas (conjuntos de cenários pontuados com limiares declarados antes da execução: perfis de ensaio DHS RPCF, IMO MSC.1/Circ.1575, ICAO Doc 9849 Appendix 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 (as ações do JetBrains estão associadas a um ficheiro selecionado; os pacotes estão incorporados e não precisam de nenhum: execute kshana standards-pack a partir do terminal do IDE) N/A (os cartões de Ferramentas do Studio para pacotes pertencem à frente de trabalho do Studio; a CLI ou a saída de qualquer superfície alimenta o cartão Mapeamento de compliance)
Verificação de envio de parceiro de dados (formato e metadados de um envio de dados medidos, kshana.partner-submission/1; não pontua nada) partner check partner::check_file, partner::check N/A (a verificação lê ficheiros locais e os seus SHA-256; a API Rust é a superfície de biblioteca e a CLI é a ferramenta) N/A (sem sistema de ficheiros na build para navegador) N/A (o MCP recusa fontes de ficheiro por projeto (apenas texto embutido)) N/A (os comandos com barra chamam ferramentas do MCP, e esta verificação precisa de ficheiros em disco) N/A (as ações do JetBrains estão ligadas a um ficheiro selecionado; um envio é uma pasta) N/A (ainda sem notebook) N/A (o Studio não tem acesso ao sistema de ficheiros; execute o comando)
LunaNet Augmented Forward Signal: códigos, SB1/CRC/entrelaçador, e uma verificação face à LSIS-AFS V1.0 (docs/LUNANET-AFS.md) lunanet-afs-check; sinais lunanet-afs-i, lunanet-afs-q em 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 etc. com os dois nomes de sinal lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate; iq_scene etc. através das execuções curtas em memória lunanet_afs_check /kshana-lunanet-afs-check N/A (as ações do JetBrains estão associadas a um ficheiro selecionado; execute kshana lunanet-afs-check a partir do terminal do IDE) N/A (um cartão do Studio é um item da frente de trabalho do Studio; a CLI e todas as outras superfícies suportam-no)
Geometria do céu sob uma linha de horizonte: satélites visíveis e mascarados, DOP, covariância ENU, elipse de erro (docs/SKYLINE.md) sky geometry::sky_geometry, surface::sky_geometry sky_geometry sky_geometry sky_geometry /kshana-run (aponta para a ferramenta) N/A (um gráfico de céu interativo é uma vista de navegador; kshana sky cobre os números) notebooks/geometry.ipynb — (a vista Geometria do Studio é acrescentada em separado na 0,36)
Nuvem de Monte Carlo do céu (erros de mínimos quadrados com semente, RMS, contenção de 95 %) sky --monte-carlo <n> --seed <s> geometry::sky_monte_carlo sky_monte_carlo sky_monte_carlo N/A (amostras em massa que um agente deve resumir, e não transportar) N/A (sem ferramenta MCP) N/A (como acima) N/A — (como acima)
Predefinições e perfis de linha de horizonte (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) igual N/A (como acima) N/A — (como acima)
Gráfico de céu em SVG sky --svg geometry::skyplot_svg skyplot_svg skyplot_svg N/A (um agente lê os números a partir de sky_geometry) N/A N/A (como acima) N/A — (como acima)
Secção de linha de horizonte num cenário ([skyline]: orbit e integrity com user_site, gnss-sim, jamming, leo-pvt, leo-pass, nmea-scenario) o ficheiro do cenário skyline::SkylineCfg run, nmea_training run, nmea_training run_scenario, generate_training_nmea /kshana-run Executar cenário Kshana N/A —
Ligação ótica de temporização através da atmosfera: disponibilidade por local, diversidade de locais, técnicas de melhoria, acoplamento de interrupção a holdover (tipo de cenário optical-atmosphere; docs/OPTICAL-ATMOSPHERE.md; MODELLED, locais ILLUSTRATIVE, consultivo) 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 Executar cenário Kshana optical-atmosphere pendente: ainda sem vista no Studio; o cenário corre no executor de cenários do Studio e no cartão Linha de comandos das Ferramentas
Teste de holdover pontuado a partir de um registo de erro de tempo fornecido pelo operador: linha de base, GNSS retirado pelo operador, holdover, recuperação, medidos face a máscaras ITU-T (tipo de cenário holdover-test; docs/TIMING-HIL.md; MODELLED, consultivo; o Kshana não transmite nem aciona nada) kshana scenarios/holdover-test-example.toml, scenarios/holdover-test-ptp4l.toml holdover_test, telecom_timing run, run_typed run (samples ou clock_log.text em linha; as chaves de ficheiro são recusadas) run_scenario (apenas em linha) /kshana-run Executar cenário Kshana N/A (sem notebook na 0,38; os cenários de exemplo correm em qualquer notebook através de run) pendente: ainda sem vista no Studio; o cenário corre no executor de cenários do Studio e no cartão Linha de comandos das Ferramentas
Orçamento de erro de navegação e temporização de uma cadeia de fases de missão do lançamento à reentrada: oito tipos de fase, regras de transferência, conversões de referencial e de escala de tempo, uma sobreposição de rede terrestre, margem face aos requisitos declarados e o elo mais fraco (tipo de cenário mission-thread; docs/MISSION-THREAD.md; MODELLED, entradas ILLUSTRATIVE, consultivo; apenas fontes públicas, sem aval) kshana scenarios/mission-thread-artemis-class.toml (a partir de um checkout: ele lê um recorte versionado de kernel da Lua) mission_thread run, run_typed run (moon_kernel_path é uma chave de ficheiro e é recusada; sem um kernel a Lua é a série analítica e a linha de conversão o declara) run_scenario (apenas embutido; a chave do kernel é recusada) /kshana-run Executar cenário Kshana N/A (sem notebook; o exemplo é executado em qualquer notebook por meio de run a partir de um checkout) pendente: ainda sem vista no Studio; o cenário corre no executor de cenários do Studio e no cartão Linha de comandos das Ferramentas
O GNSS para além da constelação: disponibilidade de sinais GPS, GLONASS, Galileo, BDS, QZSS e NavIC para um utilizador numa casca ou numa trajetória de LEO a transferência lunar (caderno, diagrama de transmissão paramétrico ou medido, meio de raio rasante, projeto de recetor de sinal fraco), um EKF GNSS a bordo para naves de órbita alta e de transferência lunar, e navegação relativa em formação (tipo de cenário gnss-ssv; docs/SSV.md; MODELLED, consultivo; comparado com o caderno ICG SSV ao abrigo de um pré-registo, 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 (em linha; transmit.pattern_text transporta um diagrama medido em linha) run_scenario (apenas em linha; transmit.pattern_csv é recusado) /kshana-run Executar cenário Kshana N/A (sem notebook na 0,38; os cenários correm em qualquer notebook através de run) pendente: ainda sem vista no Studio; o cenário corre no executor de cenários do Studio e no cartão Linha de comandos das Ferramentas
Órbita e superfície lunares como infraestrutura de navegação e geodésica: consistência da determinação de órbita, resolução da ambiguidade da fase da portadora, coestimação de referencial, ligação espacial e sensibilidade ao número de Love (tipo de cenário lunar-infrastructure, study = ...; docs/LUNAR-INFRASTRUCTURE.md; MODELLED, entradas ILLUSTRATIVE, consultivo) kshana scenarios/lunar-infrastructure-od-consistency.toml (e os cinco exemplos irmãos) lunar_infra run, run_typed run run_scenario /kshana-run Executar cenário Kshana N/A (sem notebook; os exemplos correm em qualquer notebook através de run) pendente: ainda sem vista no Studio; os cenários correm no executor de cenários do Studio e no cartão Linha de comandos das Ferramentas
Registos de relógio medidos lidos para uma série de fase: linuxptp ptp4l, phc2sys, ts2phc, chrony tracking e statistics, além de RINEX clock, TimeLab e TICC ([clock_log] / [series.clock_log]; docs/CLOCK-LOG-FORMATS.md; MODELLED, nenhuma referência independente compara uma análise com outro leitor) um cenário com [clock_log] clock_log::read_input run run (text apenas em linha; sem leitura de ficheiros num navegador) run_scenario (text apenas em linha; path é recusado) /kshana-run Executar cenário Kshana N/A (sem notebook; um registo é um ficheiro que o utilizador fornece) pendente: sem vista no Studio; o executor de cenários do Studio aceita o texto do cenário
Ligação ótica de temporização através da atmosfera: disponibilidade por local, diversidade de locais, técnicas de melhoria, acoplamento de interrupção a holdover (tipo de cenário optical-atmosphere; docs/OPTICAL-ATMOSPHERE.md; MODELLED, locais ILLUSTRATIVE, consultivo) 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 Executar cenário Kshana optical-atmosphere a vista PNT ótica do Studio (/studio/optical/, 0,38) desenha os resultados registados dos dois cenários incluídos, incluindo a série temporal com semente; o cenário corre também no executor de cenários do Studio e no cartão Linha de comandos das Ferramentas
Descarregamento de polígonos de terra (interference-map fetch-land) --allow-network Código da CLI N/A N/A N/A N/A N/A N/A Ferramentas: cartão Linha de comandos (precisa de --allow-network)
Benchmark (kshana-bench v1: pontuar uma submissão face a um ficheiro de referência, página de classificação; docs/BENCH.md, MODELLED, consultivo) 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 (as duas ferramentas MCP suportam-no; um comando de barra sobre dois ficheiros JSON não acrescenta nada) N/A (não é uma ação de IDE) N/A (os notebooks educativos são uma frente de trabalho separada) N/A (a classificação é a página estática bench/site/, portada para o sítio tal como está; o Studio não calcula nada)
Dados de benchmark e ferramentas de conjunto reservado (bench truth|cases|baseline|seal|reveal-check|manifest|verify-manifest|validate) igual bench::tasks, bench::seal N/A N/A N/A N/A N/A N/A N/A (a CLI lê diretórios de conjuntos de dados e ficheiros de relógio e, para seal, um ficheiro de semente secreta; uma semente não deve passar por um agente nem por uma página)
Produto diário e estudo de sensibilidade do observatório (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 (os comandos leem um diretório de arquivo com centenas de milhares de ficheiros, escrevem quatro ficheiros, incluindo um PNG, e impõem o atraso de publicação de 24 h face ao relógio da máquina que publica; o mapa CSV está em todas as superfícies na linha acima)

Studio#

O Kshana Studio é a aplicação web construída sobre a compilação WebAssembly, pelo que existe uma vista do Studio onde a coluna WASM tem um ponto de entrada, e onde não tem a célula aponta para um cartão Linha de comandos (o comando a executar, com os seus argumentos), nunca para um resultado que o Studio tenha calculado. Páginas (kshana.dev/studio/, do lado do cliente): Confiança marítima (trust/), Debriefing de formação (training/), Mapa de interferência (interference/), Geometria (geometry/: um gráfico de céu representativo, linha de horizonte, DOP, elipse de erro e nuvem de Monte Carlo a partir do motor; 0,36), Estação lunar (lunar/: a cobertura modelada de uma estação de referência lunar a partir do tipo de cenário lunar-station-coverage; 0,36) e a página de Ferramentas, cujas secções são OSNMA (#osnma), Pacotes de evidências (#evidence), Exportação de test bench (#bench), Mapeamento de compliance (#compliance), o separador Linha de comandos (cartão de telemetria, IQ, integrações marítimas: comandos a executar) e Utilização a partir do seu assistente de IA (#ai). Um — na coluna Studio da tabela de subcomandos é um comando que não é uma das capacidades da 0,35 que o Studio apresenta.

Porque é que as células N/A são N/A#

  • Signal K e OpenCPN. São consumidores do processo em direto e da sua gate TCP, pelo que são implementações de linha de comandos; o plugin traz um comando de guia prático e uma skill que apontam para docs/MARINE-INTEGRATIONS.md e não chamam nenhuma ferramenta.

  • Um processo em execução. receiver-trust live mantém um fluxo aberto, pode servir o fluxo filtrado a qualquer número de clientes TCP e corre até ser parado. Uma chamada Python, uma chamada de navegador, uma chamada de ferramenta MCP e uma ação de IDE devolvem cada uma o resultado quando terminam e não mantêm um socket aberto para outros. Python, WASM e MCP suportam, em vez disso, a forma limitada: um excerto pontuado pelo mesmo motor, no esquema em direto (linhas JSON 1,3: position, uma declaração advisory e a geometry dos satélites em cada época, uma class em cada dedução), sem socket e sem gate (a gate marca uma solução de posição como inválida num fluxo em direto, o que só um processo no percurso dos dados pode fazer). Dois comportamentos pertencem ao processo e não estão nas ferramentas de excerto: um fluxo repetido mais depressa do que em tempo real através de receiver-trust live sem --replay é pontuado como não fiável (o seu tempo discorda do relógio do anfitrião; um excerto é lido sem relógio do anfitrião), e --udp <port> e --listen tcp:<port> ligam-se ao endereço de loopback, a menos que seja indicado um endereço.

  • Telemetria de confiança. O WASM suporta trust_telemetry(input, format, host, input_kind, options_json): os mesmos codificadores, devolvendo texto Prometheus, linhas syslog CEF ou LEEF, ou a carga OTLP em JSON para um fluxo ou um resultado em lote, sem relógio (as linhas syslog trazem a marca temporal nula do RFC 5424) e sem nada enviado. O Python (trust_telemetry) e o MCP (trust_telemetry, com o comando de plugin /kshana-trust-telemetry) também o suportam. O resto de trust-telemetry serve métricas Prometheus, envia syslog e exporta OpenTelemetry a partir de um fluxo em execução, pelo que é um processo por natureza. Guia prático: encaminhe o comando em direto para ele, ou repita um ficheiro de resultado (kshana trust-telemetry --result session.result.json --print-metrics); ver TRUST-TELEMETRY.md. Um agente ou um notebook que queira as pontuações por época chama antes as funções de lote ou de excerto.

  • Criar um pacote no navegador. A assinatura precisa de uma chave privada, que não deve passar por uma página web; a compilação para navegador verifica pacotes (evidence_verify) e as outras superfícies criam-nos. A ferramenta MCP nunca devolve nem regista a semente de assinatura e, sem uma, assina com uma chave de uso único (integridade, não identidade); para uma chave que importe, utilize a CLI. O mesmo se aplica à transmissão de NMEA de treino para um endereço: Python, WASM e MCP devolvem o texto gerado, e a CLI envia-o.

  • Conjuntos de estudo. --study <suite.toml> executa um manifesto que nomeia ficheiros de cenário irmãos em disco. As superfícies em memória aceitam texto de cenário, e não uma pasta de ficheiros, pelo que executam cada membro como um cenário (run, run_scenario, run_all).

  • IQ de GNSS no navegador, e gravações que são reescritas. Uma gravação tem gigabytes de amostras, que uma página não consegue conter e que o protocolo MCP não deve transportar, pelo que o WASM não tem funções de IQ e as ferramentas MCP leem e escrevem apenas um diretório de trabalho (KSHANA_MCP_IQ_DIR, com um orçamento de amostras por chamada). iq extract, convert e decimate existem para reescrever gravações em disco e ficam apenas na linha de comandos. iq labfit e iq conditions transportam texto, pelo que o MCP os aceita em linha (um registo que nomeia um ficheiro é recusado).

  • O descarregamento de terra. É o único comando que abre uma ligação de rede, precisa do curl do sistema e de um --allow-network explícito, e verifica um SHA-256 fixado. O navegador não tem curl, e um agente de IA não deve obter dados em nome de um utilizador; as outras superfícies aceitam, em vez disso, o ficheiro de terra como texto (land_geojson).

  • Arquivos e diretórios de traços. interference-map adsb sobre um diretório de traços readsb lê ficheiros do disco e é apenas de linha de comandos; as superfícies em memória aceitam texto CSV.

Todos os subcomandos da linha de comandos, e quem os cobre#

Uma linha por subcomando ou modo de kshana --help. sim nomeia o ponto de entrada; não é uma lacuna com o seu motivo; N/A é uma superfície que não o pode suportar pelo motivo indicado acima ou na última coluna. As ações do JetBrains executam a linha de comandos, pelo que um N/A aí indica porque não existe uma ação de IDE.

Subcomando Python WASM MCP Plugin JetBrains Notebook Studio Nota
kshana <scenario.toml> (executar, gráfico, tabela) run, run_full, run_typed run, chart_svg, summary, table_csv, run_all run_scenario, report_scenario, export_table_csv /kshana-run Executar cenário Kshana quantum-vs-classical-gdop —
--validate <scenario.toml> validate_toml error_kind (uma execução gera uma exceção perante um cenário inválido) validate_scenario /kshana-run Validar cenário —
--study <suite.toml> N/A N/A N/A N/A N/A (nomeia ficheiros irmãos em disco) — Um conjunto de estudo nomeia ficheiros de cenário irmãos em disco (N/A acima); execute cada membro como um cenário
--export-sp3/-omm/-oem export_sp3, export_omm, export_oem export_sp3, export_omm, export_oem export_sp3, export_omm, export_oem /kshana-run Exportar cenário —
--export <czml,kml,geojson,stk,sigmf> export_scenario, export_formats export_scenario, export_formats export_interop, list_export_formats /kshana-run Exportar cenário — Os ficheiros regressam como texto (utf-8) ou base64 (as amostras SigMF)
--import-route import_route import_route import_route /kshana-import-route Importar percurso —
--animate <svg,html,frames> animate_scenario animate_scenario animate_scenario /kshana-run Animar cenário — No máximo 120 fotogramas por chamada; sequências mais longas usam a CLI
sky <request> (ou opções), --monte-carlo, --svg sky_geometry, sky_monte_carlo, skyplot_svg sky_geometry, sky_monte_carlo, skyplot_svg sky_geometry (sem Monte Carlo, sem SVG) /kshana-run N/A (ver a linha da capacidade) — Geometria MODELLED; saída em JSON ou SVG
skyline --preset, --presets, --profile skyline_presets, skyline_profile skyline_presets, skyline_profile sky_geometry (skyline_preset) /kshana-run N/A (ver a linha da capacidade) — Predefinições REPRESENTATIVE com proveniência
kinds [--json] scenario_kinds, list_kinds list_kinds list_scenario_kinds /kshana-run Listar tipos de cenário —
example [<name>] list_examples, get_example list_examples, get_example list_example_scenarios, get_example_scenario /kshana-run Inserir cenário de exemplo — As funcionalidades python e wasm compilam o texto de exemplo no binário (cerca de 0,7 MB)
receiver-trust <scenario.toml> (em lote) receiver_trust, assess_vessel_log receiver_trust, assess_vessel_log assess_receiver_log, assess_vessel_log /kshana-assess-receiver Avaliar a confiança do recetor vessel-trust-and-training Página de confiança marítima
receiver-trust live excerto: receiver_trust_replay excerto: receiver_trust_replay excerto: assess_vessel_stream excerto Avaliar fluxo do recetor (um registo guardado, --file) Página de confiança marítima (excerto); cartão Linha de comandos para o processo Um processo em execução; o excerto não tem socket nem gate (N/A acima)
trust-telemetry trust_telemetry trust_telemetry trust_telemetry /kshana-trust-telemetry Apresentar telemetria de confiança (um resultado guardado) vessel-trust-and-training Ferramentas: cartão Telemetria (separador Linha de comandos; apenas formatos, sem sockets) Apenas texto em todas as superfícies, sem socket; os exportadores em execução são um processo (ver acima)
imu-fit <imu.csv> imu_fit imu_fit fit_imu_log /kshana-fit-imu N/A — Texto à entrada, JSON à saída; MODELLED
osnma verify <pages|vectors.csv|stream.ubx> osnma_verify osnma_verify N/A (ver acima) N/A (ver acima) N/A (ver acima) Ferramentas: OSNMA O mesmo JSON que --json, com o aviso consultivo no seu campo advisory; a leitura de ficheiro passa a bytes em memória. Apenas estado de autenticação: não é um serviço de integridade da navegação, e não há qualquer afirmação de desempenho anti-spoofing
receiver-trust evidence (criar um pacote) evidence_create N/A create_evidence_pack /kshana-evidence-pack Criar pacote de evidências vessel-trust-and-training Ferramentas: cartão Linha de comandos (sem chave de assinatura numa página) Sem chave de assinatura num navegador
jammertest import, jammertest score jammertest_import, jammertest_score jammertest_import, jammertest_score jammertest_import, jammertest_score /kshana-jammertest N/A (terminal; precisa de ficheiros) pendente: Ferramentas: cartão Linha de comandos O plano e o catálogo são dados como texto; o pacote assinado (--key) só existe na linha de comandos (chave de assinatura)
evidence round-trip evidence_round_trip N/A create_round_trip_pack /kshana-evidence-pack N/A (como acima) Ferramentas: cartão Linha de comandos (sem chave de assinatura numa página) Sem chave de assinatura num navegador; nenhum sinal é escrito nem repetido
evidence verify evidence_verify evidence_verify verify_evidence_pack /kshana-evidence-pack Verificar pacote de evidências (apenas chave fixada) vessel-trust-and-training Ferramentas: Pacotes de evidências (verificar, anexar marca temporal)
evidence keygen evidence_keygen N/A N/A N/A N/A (uma chave privada nunca é criada nem lida pelo plugin) Ferramentas: cartão Linha de comandos O Python devolve a chave em memória com um aviso; uma chave privada não deve passar por uma conversa nem por uma página
evidence attach-timestamp evidence_attach_timestamp evidence_attach_timestamp attach_evidence_timestamp /kshana-evidence-pack Anexar marca temporal Ferramentas: Pacotes de evidências (verificar, anexar marca temporal) Token como bytes ou base64, pacote atualizado devolvido em memória; a assinatura da autoridade não é verificada (openssl ts -verify)
nmea-scenario <scenario.toml> nmea_training nmea_training generate_training_nmea /kshana-training-scenario Gerar NMEA de treino vessel-trust-and-training Página de debriefing de formação
nmea-scenario --tcp/--udp N/A N/A N/A N/A N/A (ver Nota) Ferramentas: cartão Linha de comandos Envia para um endereço (N/A acima)
interference-map adsb|ais (CSV) interference_map interference_map build_interference_map /kshana-interference-map Construir mapa de interferência interference-map-route-exposure Página do mapa de interferência
interference-map adsb (diretório de traços) N/A N/A N/A N/A N/A (ver Nota) Ferramentas: cartão Linha de comandos Lê um diretório (N/A acima)
interference-map locate (CSV) interference_emitter_regions interference_emitter_regions N/A (ainda não incluído) N/A N/A — Regiões estimadas de emissores, MODELLED; diretórios de rastos e --tdoa são apenas de linha de comandos
interference-map fetch-land N/A N/A N/A N/A N/A (ver Nota) Ferramentas: cartão Linha de comandos Acesso à rede (N/A acima)
interference-map daily, sensitivity N/A N/A N/A N/A N/A (ver Nota) — Lê um diretório de arquivo e escreve ficheiros; o atraso de publicação é imposto na máquina que publica (N/A acima)
bench score bench_score bench_score score_benchmark N/A (a ferramenta MCP suporta-o) N/A — Texto à entrada, texto à saída; nada é lido nem escrito
bench leaderboard bench_leaderboard bench_leaderboard render_leaderboard N/A (a ferramenta MCP suporta-o) N/A a página estática bench/site/ Texto HTML
bench truth|cases|baseline|seal|reveal-check|manifest|verify-manifest|validate N/A N/A N/A N/A N/A — Ficheiros de conjuntos de dados e uma semente secreta (N/A acima)
route-exposure route_exposure route_exposure route_exposure /kshana-interference-map Exposição do percurso interference-map-route-exposure Página do mapa de interferência
bench-export bench_export bench_export export_test_bench /kshana-bench-export Exportar ficheiros de test bench Ferramentas: exportação de test bench Devolve texto, não escreve nada; sem sinal
compliance-report compliance_report compliance_report compliance_report /kshana-compliance-report Construir relatório de compliance Ferramentas: mapeamento de compliance
compliance-report --mapping, --sources compliance_mapping compliance_mapping compliance_mapping /kshana-compliance-report Mostrar mapeamento de compliance —
iq scene iq_scene, iq_scene_broadcast N/A iq_scene /kshana-iq N/A (as gravações são ficheiros de gigabytes; ver Nota) — As amostras são ficheiros. --format sdrx[:ci16_le] (ou um caminho de saída terminado em .sdrx) escreve metadados ION GNSS SDR junto das amostras: a CLI e o MCP (format: "sdrx") escrevem-nos; o Python devolve as amostras em memória e não escreve ficheiro, pelo que os metadados não têm forma em 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 (como acima) Ferramentas: cartão Linha de comandos Os cenários estão incorporados; sem sistema de ficheiros; rows e tests imprimem as tabelas da documentação registadas e são apenas de CLI
partner check <submission.toml> N/A N/A N/A N/A N/A — Lê um ficheiro de envio e o seu ficheiro de dados em disco e verifica o SHA-256; nenhuma dessas superfícies tem a pasta. Apenas formato e metadados, nada pontuado; veja 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 (como acima) — Os fluxos de símbolos são texto de 0 e 1, no máximo 4 MiB (MCP) ou 100 tramas geradas por chamada; o LDPC e o CRC-24Q das subtramas 2 a 4 não são verificados; nenhum sinal é escrito
iq scene iq_scene, iq_scene_broadcast N/A iq_scene /kshana-iq N/A (as gravações são ficheiros de gigabytes; ver Nota) — As amostras são ficheiros
iq acquire iq_acquire, iq_acq_surface N/A iq_acquire /kshana-iq N/A (as gravações são ficheiros de gigabytes; ver Nota) —
iq track iq_track, iq_loop_designs N/A iq_track /kshana-iq N/A (as gravações são ficheiros de gigabytes; ver Nota) —
iq sweep iq_sweep N/A iq_sweep /kshana-iq N/A (as gravações são ficheiros de gigabytes; ver Nota) —
iq labfit iq_labfit N/A iq_labfit (registos em linha, sem ficheiros) /kshana-iq N/A (as gravações são ficheiros de gigabytes; ver Nota) —
iq frontend iq_frontend N/A iq_frontend /kshana-iq N/A (as gravações são ficheiros de gigabytes; ver Nota) —
iq monitor iq_monitor N/A iq_monitor /kshana-iq N/A (as gravações são ficheiros de gigabytes; ver Nota) — --follow [--idle-timeout <s>] lê uma gravação SigMF que ainda está a ser escrita, apenas em receção (iq::io::follow::open_sigmf_follow em Rust): N/A para Python e MCP, porque uma chamada que espera que um ficheiro cresça não regressa quando o trabalho está feito, o motivo pelo qual receiver-trust live é também apenas de linha de comandos; a gravação no seu comprimento atual passa por iq_monitor
iq campaign, iq campaign report iq_campaign, iq_campaign_report N/A iq_campaign, iq_campaign_status /kshana-iq N/A (as gravações são ficheiros de gigabytes; ver Nota) —
iq conditions iq_test_conditions N/A iq_test_conditions (texto, em linha) /kshana-iq N/A (as gravações são ficheiros de gigabytes; ver Nota) —
iq inventory, info iq_inventory, iq_info N/A iq_info /kshana-iq N/A (as gravações são ficheiros de gigabytes; ver Nota) — O inventário de uma pasta é Python e CLI; o servidor MCP lê um único diretório de trabalho
iq extract, convert, decimate N/A N/A N/A N/A N/A (ver Nota) — Reescrevem gravações em disco (N/A acima)
a lista de sinais (iq --help) iq_signals N/A iq_signals /kshana-iq N/A (uma lista; execute kshana iq --help) —

Funções utilitárias#

Pequenos pontos de entrada que não são uma linha de capacidade, e onde está cada um:

Função Superfície O que é
version Python (kshana.version(), kshana.__version__), WASM (version), CLI (--version), MCP (as informações do servidor) A versão do motor
iq_read_epochs Python Lê um ficheiro binário kshana.track-epoch/1 que kshana iq track --epochs escreveu. N/A nos restantes: lê um ficheiro do disco (o WASM não tem sistema de ficheiros, o MCP lê apenas um diretório de trabalho através das ferramentas iq_*)
encode_permalink, decode_permalink WASM O codec de ligações de partilha ?s= do playground do navegador (TOML de cenário para um token seguro para URL e vice-versa). N/A nos restantes: uma ligação para uma página web não tem significado para uma linha de comandos, uma chamada Python ou um agente

Limites que diferem por superfície#

Superfície Limite de entrada Ficheiros
MCP 4 MiB por entrada de texto (2 MiB e 20 000 épocas para um excerto de fluxo); as respostas trazem no máximo 2000 linhas NMEA, 200 linhas de épocas não nominais e 4 MiB de ficheiros GeoJSON ou de pacotes apenas conteúdo em linha: um campo de cenário que nomeia um ficheiro é recusado; as ferramentas iq_* usam um único diretório de trabalho opcional, com todos os caminhos confinados a ele
MCP sobre HTTP (--http, alojado pelo próprio utilizador) como o MCP, com um corpo de pedido de 5 MiB, 120 s por pedido e 8 pedidos em simultâneo por predefinição nenhum: as ferramentas de ficheiros iq_* estão desativadas; todas as outras ferramentas aceitam conteúdo em linha
Python, Rust 64 MiB por entrada de texto receiver_trust pode nomear um path que o processo consiga ler
WASM 64 MiB por entrada de texto, dentro da própria memória do navegador nenhum: o navegador não tem sistema de ficheiros, nada é carregado

Níveis de evidência e ressalvas em todas as superfícies#

  • Um pacote de evidências é um registo técnico do que o motor calculou a partir de um registo sob definições declaradas, com todos os resumos criptográficos e uma assinatura sobre eles. Não é um parecer jurídico, uma constatação de facto sobre qualquer evento nem uma aprovação. Um resultado positivo da verificação diz que o registo não foi alterado; sem uma chave pública de confiança, prova apenas a integridade face à chave que o próprio pacote nomeia.
  • Os monitores de confiança do recetor e a pontuação de confiança são MODELLED: os limiares são entradas declaradas e nada afirma como se comportam face a interferência real. A saída é consultiva; o Kshana não é um equipamento de navegação homologado (IEC 61108, IEC 61162) e o operador continua a ser responsável. Uma pontuação elevada não prova uma solução de posição genuína.
  • O mapa de interferência é MODELLED (limiares fixados antecipadamente, não validados face a uma medição de referência no terreno). Uma célula degradada não identifica a interferência como causa; uma célula não observada não é evidência de um percurso livre; descreve relatos passados e não é uma previsão. É apenas agregado: nenhum identificador é devolvido.
  • O NMEA de treino é apenas texto: nenhum RF, IQ ou forma de onda é sintetizado, nada é transmitido, e nunca se destina aos sistemas de navegação em funcionamento de uma embarcação.

A etiqueta de evidência e as saídas que não trazem nenhuma#

Cada figura e tabela que uma execução escreve traz o seu nível de evidência (VALIDATED, MODELLED ou PARTNER, o mais fraco das linhas do registo por trás dele) e os ids dessas linhas, em toda superfície que executa um cenário: o JSON de resultado (chave evidence), o SVG do gráfico (elemento de metadados e uma linha sob o gráfico) e a tabela CSV (linhas de comentário # evidence:). A mesma etiqueta está nas saídas de receiver-trust (CLI, MCP, Python), jammertest score --json, iq acquire, iq sweep, iq track --summary, iq monitor --json, no relatório de rota do mapa de interferência, e dentro do config.json de cada pacote de evidências (assinado; kshana evidence verify indica-a). Os ids das linhas são estáveis (VM- e oito dígitos hexadecimais, a coluna ID de docs/VERIFICATION-MATRIX.md).

Estas saídas não trazem etiqueta, cada uma por um motivo declarado (a lista é UNLABELLED_WRITERS em tests/evidence_labels_doc_sync.rs, que falha diante de um escritor que não está etiquetado nem listado):

Saída Por que não traz etiqueta
ficheiros de resultado do kshana-bench um esquema fixo, fixado pelos compromissos do conjunto reservado; cada um traz o seu próprio label (MODELLED ou measured)
produtos diários do observatório de interferência (GeoJSON, PNG, JSON de incidentes) um esquema congelado e publicado; as ressalvas da nota de método os acompanham
ficheiros de célula, de pontuação e de relatório da campanha IQ fixados por resumo; cada um declara a pontuação da campanha que reapresenta
amostras IQ, metadados SigMF e SDR, referência de cena, fluxos de épocas e de eventos de seguimento, registos de sessões ao vivo ficheiros presos a um formato e fluxos de registos lidos por outras ferramentas
exportações SP3, OMM, OEM, CZML, KML, GeoJSON, STK, de movimento para test bench e NMEA; o fluxo NMEA de treino ficheiros presos a um formato lidos por ferramentas de terceiros
formatos de transmissão de telemetria (Prometheus, OTLP, CEF, LEEF) definidos pelos seus formatos de transmissão
documentos gerados (o próprio registo, as tabelas de estudo e de dados versionadas) não são a saída de uma execução