
Meshtastic メッシュネットワーク向けのシングルページ Web ダッシュボード。ライブネットワークマッピング、パケット解析、チャット、センサーテレメトリ、トポロジー可視化を提供。Python サービスとして動作し、SQLite で履歴を保存します。
Meshyface は、単一の Python サービスとして動作し、HTTP 経由でシングルページの Web 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=2grep <text> および rg <text> は、保持されたパケット/チャット履歴をコンテキストウィンドウ、制限、パケット/チャットソースフィルター、概要/パケットスコープフィルターで検索します。/search <text> は、プロンプトから表示中のコンソール出力をフィルタリングします(保持履歴検索は開始しません)。
ノードの位置、リンク、共通パス、クラスター、信号ヒートマップを含むマップビュー。

ノード数、オンラインステータス、新しいノード、位置報告の履歴ビュー。

選択したルートノードから観測されたリンクを示すトポロジビュー。

送信元、宛先、近隣リンク、ホップごとのパケット詳細のトレースビュー。

複数のノードにわたるセンサー履歴を比較するテレメトリーグラフ。

無線アクティビティ、ノード数、パケット、リンク、バッテリー、チャンネル使用状況のトップカード。
テーマは、カスタムカラー、グラデーション、透明度、ぼかし、フォント、パーティクル、またはライブマップ背景でダッシュボード全体を変形できます。以下のパレットはカスタムテーマの例です。任意のプレビューを選択すると、フル解像度のスクリーンショットが表示されます。
| シグナルグリーン | ネオンマゼンタ | オーロラリレー |
|---|---|---|
![]() | ![]() | ![]() |
Meshyface ノードは、ノードテーマレシピとオプションのゴーストまたはウォーターマークを含むコンパクトな外観パケットを共有できます。Settings > Appearance > Node Appearance でノードを設定およびプレビューし、Share node appearance を有効にしてから Broadcast appearance を使用して公開します。
flowchart LR
Browser["ブラウザ<br/>シングルページUI"]
CDN["ベンダーブラウザアセット<br/>Leaflet + leaflet.heat + particles.js"]
Tiles["ベースマッププロバイダー<br/>OpenStreetMap タイルサービス"]
Server["ThreadingHTTPServer<br/>HTMLシェル + JSON API"]
Assets["Pythonテンプレートアセンブリ<br/>meshdash/html* + meshdash/assets/*"]
State["ステートローダー<br/>ライブスナップショット + 履歴リーダー"]
Services["書き込みサービス<br/>チャット、設定、ツール、ゲーム、オプションのファイル"]
Tracker["DashboardTracker<br/>ライブ受信パス + インメモリバッファ"]
History["HistoryStore / SQLite (WAL)<br/>チャット、パケット、ロールアップ、設定"]
Radio["Meshtastic インターフェース<br/>シリアルまたはTCP"]
Mesh["Meshtastic ラジオ / メッシュ"]
Atlas["バンドルされたオフライン地図帳<br/>参照ベースマップフォールバック"]
Browser -->|GET /| Server
Browser -->|GET /api/*| Server
Browser -->|POST 書き込みAPI| Server
Browser --> CDN
Browser --> Tiles
Browser -->|フォールバックベースマップデータ| Atlas
Server --> Assets
Server --> State
Server --> Services
State <--> Tracker
State <--> History
Services <--> History
Services <--> Radio
Radio <--> Mesh
Radio -->|受信コールバック| Tracker
前提条件と依存関係から始め、次にいずれかのインストールパスを選択します:
/opt/meshyface にクローンして、GitHub で更新可能な永続的なホストを設定します。/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 (デフォルトシリアルパス用)