
단일 페이지 웹 대시보드로, Meshtastic 메시 네트워크를 위한 실시간 네트워크 매핑, 패킷 분석, 채팅, 센서 원격 측정, 토폴로지 시각화 기능을 제공합니다. SQLite 기반 기록 저장소를 갖춘 Python 서비스로 실행됩니다.
Meshyface는 단일 Python 서비스로 실행되며 HTTP를 통해 단일 페이지 웹 UI를 제공하는 채팅 우선 Meshtastic 대시보드입니다.
현재 UI는 다음을 제공합니다:
콘솔 워크스페이스는 패킷 트래픽, 기록 검색 및 메시 유틸리티 명령을 위한 터미널 스타일 제어 인터페이스입니다.
Tab 또는 Enter를 사용하여 수락하고, ArrowRight를 사용하여 고스트 접미사를 수락하며, ArrowUp / ArrowDown을 사용하여 팝업을 탐색합니다.!는 노드 ID로 좁힙니다.live는 Ctrl+C 또는 q를 누를 때까지 패킷 트래픽을 스트리밍합니다. live grep <text>, live rg <text>, live filter=<text> 또는 단독 live <text>를 사용하여 일치하는 실시간 패킷 그룹만 스트리밍합니다. 레이어 및 상세 수준 필터는 계속 적용됩니다. 예: live rg TEXT_MESSAGE_APP -vv --layer=2.grep <text> 및 rg <text>는 컨텍스트 창, 제한, 패킷/채팅 소스 필터 및 요약/패킷 범위 필터를 사용하여 보존된 패킷/채팅 기록을 검색합니다./search <text>는 보존된 기록 검색을 시작하지 않고 프롬프트에서 표시 중인 콘솔 출력을 필터링합니다.
노드 위치, 링크, 공통 경로, 클러스터 및 신호 히트맵이 포함된 지도 보기입니다.

노드 수, 온라인 상태, 새 노드 및 위치 보고서를 위한 기록 보기입니다.

선택한 루트 노드에서 관찰된 링크를 표시하는 토폴로지 보기입니다.

소스, 대상, 인접 링크 및 홉별 패킷 세부 정보를 위한 추적 보기입니다.

여러 노드의 센서 기록을 비교하는 원격 측정 차트입니다.

라디오 활동, 노드 수, 패킷, 링크, 배터리 및 채널 사용량을 위한 상단 카드입니다.
테마는 사용자 지정 색상, 그라데이션, 투명도, 블러, 글꼴, 파티클 또는 라이브 지도 배경으로 전체 대시보드를 재구성할 수 있습니다. 이 예제 팔레트는 사용자 지정 테마입니다. 미리 보기를 선택하면 전체 해상도 스크린샷이 열립니다.
| Signal Green | Neon Magenta | Aurora Relay |
|---|---|---|
![]() | ![]() | ![]() |
Meshyface 노드는 노드 테마 레시피와 선택적 고스트 또는 워터마크가 포함된 컴팩트한 모양 패킷을 공유할 수 있습니다. Settings > Appearance > Node Appearance에서 노드를 구성하고 미리 본 다음, Share node appearance를 활성화하고 Broadcast appearance를 사용하여 게시하십시오.
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
사전 요구 사항 및 종속성부터 시작한 후 설치 경로 중 하나를 선택하십시오:
/opt/meshyface에 클론합니다./data를 마운트한 컨테이너에서 동일한 앱 진입점을 실행합니다.--history-db는 최종 온디스크 SQLite 파일 이름입니다. 대시보드는 더 이상 연결된 라디오 접미사를 추가하지 않으므로 대시보드에 연결된 모든 라디오는 동일한 저장된 패킷, 채팅, 노드 및 롤업 기록에 기여합니다.
--no-history는 영구 저장소를 비활성화하고 라이브 인메모리 버퍼만 유지합니다.mesh_dashboard_theme_settings.json에 저장되거나 --theme-settings-file로 제공된 파일에 저장됩니다.로컬 대시보드 데이터를 검사하거나 복구하는 운영 명령은 docs/maintenance.md에 문서화되어 있습니다.
Links 하위 보기는 패킷 경로 재생이 아닌 토폴로지 보기입니다.
History 모드는 SQLite에 저장된 링크 기록을 사용합니다.Live 모드는 현재 세션의 링크 관찰 결과만 사용합니다.현재 루트는 그래프의 중심이 되는 노드입니다. 다른 노드를 선택하면 루트가 변경되고 해당 노드부터 번호가 매겨진 거리 링이 다시 계산됩니다.
--mesh-host <ip-or-dns>: TCP 라디오 호스트--mesh-tcp-port <port>: TCP 라디오 포트, 기본값 4403--mesh-port <path>: 직렬 장치 경로--default-gateway-host <host>: --mesh-host가 제공되지 않고 직렬이 여전히 기본 경로에 있는 경우 대체 TCP 호스트--default-gateway-port <port>: --default-gateway-host의 대체 TCP 포트--no-default-gateway: --mesh-host가 명시적으로 설정되지 않은 한 직렬을 강제합니다관련 환경 변수:
MESH_GATEWAY_HOSTMESH_GATEWAY_PORTMESH_DASH_MESH_PORT: 기본 직렬 경로용