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

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

Usar o Kshana a partir de um agente de IA

Para um agente (ou a pessoa que o dirige): que ferramenta chamar para que pergunta, o que as ferramentas farão e não farão, e o que manter com cada resposta. As superfícies e as células que não estão disponíveis numa dada superfície: SURFACES.md.

Ligar#

npx -y kshana-mcp@0.37.0            # or: uvx kshana-mcp==0.37.0, brew, scoop, winget, cargo, docker

Uma passagem que nomeia clientes de IA de terceiros é omitida aqui; está em docs/AGENTS.md no GitHub.

A regra para cada resposta#

Execute o motor; não adivinhe os números. Reporte o que uma ferramenta devolveu com a sua unidade e o seu nível de evidência (VALIDATED face a uma referência independente externa, ou MODELLED), o cenário, a semente e a versão do motor, para que a execução possa ser repetida. Mantenha com cada resultado as suas próprias ressalvas.

Que ferramenta para que pergunta#

A pergunta Ferramenta (MCP) Comando de barra
Executar ou explicar um cenário PNT (órbitas, GNSS, temporização, fusão, lunar, ligações óticas, ...) list_scenario_kinds, list_example_scenarios, get_example_scenario, validate_scenario, run_scenario, report_scenario, animate_scenario, export_sp3, export_omm, export_oem, export_interop, list_export_formats, export_table_csv /kshana-run
Este registo de recetor, ou o NMEA desta embarcação, era fiável, e quando deixou de o ser? assess_receiver_log (qualquer formato de registo), assess_vessel_log (NMEA de embarcação, em lote), assess_vessel_stream (excerto limitado) /kshana-assess-receiver
Preciso de NMEA sintético com um evento de jamming, arrastamento de posição, spoofing de hora ou repetição para formação generate_training_nmea /kshana-training-scenario
Mostrar a pontuação de confiança de uma embarcação em formatos de monitorização ou SIEM (Prometheus, CEF, LEEF, OTLP) trust_telemetry /kshana-trust-telemetry
Pontuar um registo de recetor face ao calendário publicado do Jammertest (latência de deteção, alarmes em falta, falsos alarmes, tempo de recuperação), ou transformar esse plano em eventos jammertest_score, jammertest_import /kshana-jammertest
Criar um registo com deteção de adulteração do que o motor disse sobre uma janela do registo de uma embarcação, ou verificar um create_evidence_pack, verify_evidence_pack, attach_evidence_timestamp /kshana-evidence-pack
Os dados de navegação de que satélites Galileo é que este fluxo do recetor autentica (OSNMA)? nenhuma: não está no MCP. Use kshana osnma verify (CLI), kshana.osnma_verify (Python) ou osnma_verify (WASM, o cartão OSNMA do Studio) não é um comando de barra
Preciso do movimento do veículo e dos instantes dos eventos de um cenário para os repetir através de um simulador GNSS de laboratório export_test_bench /kshana-bench-export
Para que linhas de exigências de referenciais públicos estas execuções fornecem elementos de prova em apoio, e qual é a lacuna? compliance_report (a partir do texto de resultados), compliance_mapping (as tabelas, sem execuções) /kshana-compliance-report
Executar um pacote de normas pontuado (perfis de ensaio DHS RPCF, IMO MSC.1/Circ.1575, ICAO Doc 9849 Apêndice F) face a limiares declarados antes da execução? list_standards_packs, run_standards_pack (entregue o relatório a compliance_report para obter as linhas)
Verificar o LunaNet Augmented Forward Signal (códigos, SB1, formato de trama) face à LNIS V5 / LSIS-AFS V1.0, ou verificar um fluxo de símbolos? lunanet_afs_check (mode spec, symbols ou generate); o LDPC e o CRC-24Q das subtramas 2 a 4 não são verificados
Ligar uma execução de laboratório (cenário, condições de ensaio declaradas, registo do recetor, pontuação) num único pacote assinado? create_round_trip_pack após export_test_bench (docs/spec/TEST-CONDITIONS.md)
Pontuar uma submissão de deteção ou de holdover face a um ficheiro de referência do kshana-bench, ou gerar ficheiros de resultados como a página de classificação? score_benchmark, render_leaderboard —
Preciso de um cenário que percorra uma rota GeoJSON (terrain-nav, terrain-slam, gravity-map, combined-altpnt) import_route /kshana-import-route
Que satélites vê um utilizador numa rua, num porto, num fiorde ou num terminal de contentores, e quais são o DOP e a elipse de erro? sky_geometry (um pedido, ou um skyline_preset); a secção [skyline] de um cenário através de run_scenario (orbit e integrity precisam de user_site) /kshana-run
Onde o GNSS tem aparecido degradado, e que parte desta rota está nessas zonas? build_interference_map, depois route_exposure /kshana-interference-map
Gravações IQ GNSS (cena, aquisição, seguimento, front-end, campanhas) iq_signals primeiro, depois as ferramentas iq_* /kshana-iq

As competências vessel-receiver-trust, training-nmea-scenario, trust-telemetry, compliance-mapping, test-bench-export, gnss-iq e interference-map-route-exposure trazem as regras abaixo para agentes que carregam competências.

O que cada ferramenta não fará#

  • Ler ou escrever ficheiros. O conteúdo é em linha: as entradas são texto no pedido, limitado a 4 MiB, e um campo de cenário que indique um ficheiro é recusado. Só as ferramentas iq_* tocam numa pasta, e apenas na indicada por KSHANA_MCP_IQ_DIR, com todos os caminhos confinados a ela.
  • Verificar OSNMA. Não existe nenhuma ferramenta MCP: a entrada é um fluxo bruto longo de recetor (páginas I/NAV ou uma captura UBX), que se adequa à CLI e ao Python, e uma ferramenta que a recebesse acrescentaria uma superfície de entradas grandes sem benefício. Envie o utilizador para kshana osnma verify <file> --public-key ... --json (ou para o osnma_verify do Python). Seja qual for o resultado, leve o aviso consultivo textualmente: apenas estado de autenticação, não é um serviço de integridade de navegação, não é um equipamento de navegação homologado e não é uma alegação de desempenho anti-spoofing; um resultado só é significativo com uma raiz de Merkle ou uma chave pública que o utilizador tenha obtido por outra via.
  • Executar um processo. receiver-trust live como fluxo em execução (com um gate e --listen), os exportadores de telemetria (trust-telemetry: Prometheus, syslog, OTLP) e a transmissão de NMEA de formação para um endereço existem apenas na linha de comandos. assess_vessel_stream pontua um excerto com o mesmo motor e não escreve em nenhuma porta. As ferramentas de excertos devolvem o esquema JSON-lines em tempo real 1,3 (uma declaração advisory e a geometry de satélites em cada época, uma class em cada dedução); o CSV de uma execução de embarcação começa com uma linha de comentário # que leva a mesma declaração, pelo que deve lê-lo com uma opção de comentário. --udp e --listen tcp: ligam ao endereço de loopback, salvo indicação em contrário.
  • Escrever um sinal. export_test_bench devolve o movimento do veículo e intervalos de eventos rotulados como texto; nada do que devolve é, modela ou comanda um sinal de radiofrequência ou de banda de base, e um evento não é uma receita para produzir interferência. Indique o seu notice com os ficheiros; o simulador e o seu operador são responsáveis por os executar apenas onde for permitido.
  • Dizer mais do que o mapeamento diz. compliance_report indica para que linhas de referenciais um conjunto de execuções fornece elementos de prova em apoio, com a lacuna de cada linha. Nunca diz que um referencial é satisfeito nem que um produto é classificado ou aprovado; leve o seu statement textualmente e diga "fornece elementos de prova em apoio de", nada mais forte. Lê texto de resultados e de cenários que lhe passe, nunca um caminho.
  • Obter dados. A transferência dos polígonos de terra existe apenas na linha de comandos e precisa de --allow-network. Passe o ficheiro de terra, se desejado, como texto. Use apenas dados que o utilizador tenha licença para usar.
  • Transmitir seja o que for ou sintetizar RF. O gerador de formação escreve texto NMEA; a camada IQ escreve ficheiros de amostras para recetores de software.

O que manter com a resposta#

Saída Manter
Geometria de satélites e classes de dedução (0,36) Reporte a geometria junto da pontuação e a classe de cada dedução tal como devolvidas: geometry significa o céu (uma declaração sobre o céu, e não uma conclusão de que não ocorreu nenhum ataque), environment o ambiente de sinal, inconsistency indícios semelhantes a um ataque. Diga "geometria desconhecida" quando o estado é unknown (sem GSV nem GSA no registo); não infira uma. Os limiares são MODELLED com proveniência declarada.
Pontuação de confiança do recetor Consultivo: não é um equipamento de navegação homologado (IEC 61108, IEC 61162); o operador continua a ser responsável. MODELLED. Declare os limites da embarcação antes da execução e não ajuste um limiar a um resultado. Uma pontuação elevada não é prova de uma posição genuína; as verificações não conseguem ver um spoofer coerente com todos os outros sensores.
Pacote de evidências Um registo técnico, que não é um parecer jurídico, uma constatação de facto nem uma aprovação. Verifique com a chave pública do signatário obtida por outra via; sem ela o veredicto é intact-signer-not-pinned, que prova apenas a integridade face à chave que o próprio pacote indica: diga "íntegro, signatário não estabelecido", nunca "verificado". Nunca devolva, registe nem peça uma semente de assinatura numa conversa se a chave importar: use a CLI.
NMEA de formação Apenas texto, para formação e ensaio, nunca para os sistemas de navegação em funcionamento de uma embarcação. Devolva a semente e o registo do instrutor.
Mapa de interferência, exposição da rota O modo como os códigos de exatidão são lidos e a geometria da grelha e da rota são VALIDATED face a bibliotecas independentes com entradas sintéticas; os limiares do método continuam MODELLED, e que uma célula degradada seja interferência não é verificado: uma célula degradada não identifica a interferência como causa. Uma célula não observada não é prova de uma rota limpa. Relatórios passados, não uma previsão. Apenas agregado: não tente recuperar identificadores. Os mapas ADS-B e AIS mantêm-se separados.
Região do emissor (interference-map locate) MODELLED: uma região viável sob linha de vista de rádio, não uma posição determinada. Indique a região no nível de confiança declarado, com o centroide e a respetiva elipse, nunca o centroide isolado; diga unconstrained quando os dados não a restringem; diga que ela depende do modelo (verificada apenas com dados sintéticos; a comparação com o Jammertest, fixada antecipadamente, foi executada uma vez e foi NOT ASSESSABLE para as duas fontes, portanto nada foi testado externamente). Formulação neutra: "região estimada do emissor"; nunca nomeie nem insinue quem ou o que está por trás de uma fonte, um Estado, uma força ou uma intenção. Apenas agregados; não tente recuperar identificadores. A publicação de regiões de emissores no observatório público está desativada.
Geometria do céu, linha de horizonte Geometria MODELLED sob um modelo de erro declarado, apenas com linha de vista: sem difração, multipercurso nem receção sem linha de vista. As predefinições são REPRESENTATIVE, não levantamentos; leve a proveniência da predefinição. As constelações predefinidas são um céu representativo, não o céu de uma data. A elipse escala um UERE declarado: não é uma exatidão medida nem um limite de integridade. Mantenha o advisory.
Disponibilidade de ligações óticas (optical-atmosphere, 0,37) MODELLED, consultivo. Os climas de nuvens são entradas declaradas, não um conjunto de dados, e não foi comparado nenhum registo de disponibilidade medida: diga "sob estes pressupostos", nunca "a disponibilidade nesse local". Mantenha o teto do local (availability_ceiling_pct: o que nenhuma margem eleva) junto da sua disponibilidade, e diga quais os ganhos de técnica que são entradas (o Kshana não modela uma malha de ótica adaptativa). Os cálculos são verificados face a um programa independente, o que verifica a implementação das fórmulas e não a atmosfera.
Teste de holdover (holdover-test, 0,38) MODELLED, consultivo. Diga "medido face à máscara", nunca que um relógio ou sistema satisfaz ou é aprovado face a uma Recomendação. Os dois instantes (GNSS removido, GNSS restaurado) são a declaração do operador: o Kshana não removeu nem restaurou nada e não os pode verificar, pelo que os cite como declarados. Uma máscara para a qual o registo é demasiado curto é INCOMPLETE, nunca um resultado positivo. Um registo de servo (linuxptp, chrony) é o erro sob controlo do servo, não uma medição independente face ao UTC; diga de que registo provêm os valores. Ver docs/TIMING-HIL.md.
Qualquer resultado de cenário O figure_tiers ou label que declara, e a linha de proveniência.

Limites#

Use dados sintéticos ou do próprio utilizador. Não nomeie pessoas, embarcações ou organizações nas saídas que não constassem da entrada do utilizador. O Kshana é uma ferramenta de análise e formação, não um produto de voo ou de navegação.