
Painel web de página única para redes mesh Meshtastic com mapeamento de rede em tempo real, análise de pacotes, chat, telemetria de sensores e visualização de topologia. Funciona como um serviço Python com histórico suportado por SQLite.
Meshyface é um painel (dashboard) focado em chat para Meshtastic que funciona como um único serviço Python e serve uma interface web de página única via HTTP.
A UI atual expõe:
O workspace de console é uma superfície de controle estilo terminal para tráfego de pacotes, busca de histórico e comandos utilitários da malha.
Tab ou Enter para aceitar, ArrowRight para aceitar o sufixo fantasma, e ArrowUp / ArrowDown para navegar no popup.! filtra por ID do nó.live transmite o tráfego de pacotes até Ctrl+C ou q. Use live grep <texto>, live rg <texto>, live filter=<texto>, ou apenas live <texto> para transmitir apenas grupos de pacotes ao vivo correspondentes. Filtros de camada e verbosidade ainda se aplicam, por exemplo live rg TEXT_MESSAGE_APP -vv --layer=2.grep <texto> e rg <texto> buscam no histórico retido de pacotes/chat com janelas de contexto, limites, filtros de fonte de pacote/chat e filtros de escopo de resumo/pacote./search <texto> filtra a saída visível do console a partir do prompt sem iniciar uma busca no histórico retido.
Visualização do mapa com localizações de nós, links, caminhos comuns, clusters e mapa de calor de sinal.

Visualização do histórico para contagens de nós, status online, novos nós e relatórios de posição.

Visualização da topologia mostrando links observados a partir do nó raiz selecionado.

Visualização de rastreio para uma origem, destino, links próximos e detalhes de pacote por hop.

Gráfico de telemetria comparando o histórico de sensores entre múltiplos nós.

Cartões principais para atividade de rádio, contagens de nós, pacotes, links, bateria e uso de canal.
Os temas podem remodelar o painel completo com cores personalizadas, gradientes, transparência, desfoque, fontes, partículas ou um fundo de mapa ao vivo. Estas paletas de exemplo são temas personalizados; selecione qualquer pré-visualização para abrir sua captura de tela em resolução total.
| Signal Green | Neon Magenta | Aurora Relay |
|---|---|---|
![]() | ![]() | ![]() |
Nós Meshyface podem compartilhar pacotes de aparência compactos contendo uma receita de tema de nó e um fantasma ou marca d'água opcional. Configure e visualize seu nó em Settings > Appearance > Node Appearance, ative Share node appearance, e depois use Broadcast appearance para publicá-lo.
flowchart LR
Browser["Browser<br/>single-page UI"]
CDN["Vendored browser assets<br/>Leaflet + leaflet.heat + particles.js"]
Tiles["Basemap provider<br/>OpenStreetMap tile service"]
Server["ThreadingHTTPServer<br/>HTML shell + JSON API"]
Assets["Python template assembly<br/>meshdash/html* + meshdash/assets/*"]
State["State loaders<br/>live snapshot + history readers"]
Services["Write services<br/>chat, settings, tools, games, optional files"]
Tracker["DashboardTracker<br/>live receive path + in-memory buffers"]
History["HistoryStore / SQLite (WAL)<br/>chat, packets, rollups, settings"]
Radio["Meshtastic interface<br/>serial or TCP"]
Mesh["Meshtastic radio / mesh"]
Atlas["Bundled offline atlas<br/>reference basemap fallback"]
Browser -->|GET /| Server
Browser -->|GET /api/*| Server
Browser -->|POST write APIs| Server
Browser --> CDN
Browser --> Tiles
Browser -->|fallback basemap data| Atlas
Server --> Assets
Server --> State
Server --> Services
State <--> Tracker
State <--> History
Services <--> History
Services <--> Radio
Radio <--> Mesh
Radio -->|receive callbacks| Tracker
Comece com pré-requisitos e dependências, depois escolha um caminho de instalação: