Skip to content

feat: logos-app IComponent UI plugin for LMAO agent dashboard#157

Open
jimmy-claw wants to merge 2 commits into
masterfrom
jimmy/lmao-issue-132-20260415
Open

feat: logos-app IComponent UI plugin for LMAO agent dashboard#157
jimmy-claw wants to merge 2 commits into
masterfrom
jimmy/lmao-issue-132-20260415

Conversation

@jimmy-claw

Copy link
Copy Markdown
Owner

Summary

  • Add lmao_get_metrics() and lmao_get_info() FFI functions exposing MetricsSnapshot and agent identity/topics via the C interface
  • Create logos-dashboard-plugin/ — a logos-app IComponent UI plugin with real-time agent monitoring dashboard
  • Dashboard shows: agent identity (pubkey, encryption), Waku topics (task/discovery/presence), and all 17 metric counters (tasks, messages, crypto, streaming, delegation)

Technical details

FFI layer (crates/lmao-ffi/src/lib.rs):

  • lmao_get_metrics() → serializes MetricsSnapshot as JSON
  • lmao_get_info() → returns pubkey, topics, encryption status
  • 6 new unit tests covering serialization and topic constants

UI plugin (logos-dashboard-plugin/):

  • DashboardComponent (IComponent) — plugin entry point, creates QQuickWidget
  • DashboardBackend — C++ QObject bridging FFI to QML via Q_PROPERTY + Q_INVOKABLE
  • DashboardView.qml — scrollable dashboard with identity, topics, and metric cards
  • MetricCard.qml — reusable metric display widget
  • 3-second polling timer for live metric updates
  • Dark theme consistent with logos-app styling

Test plan

  • cargo test -p lmao-ffi — 96 tests pass (including 6 new)
  • cargo test --workspace --exclude logos-messaging-a2a-execution — all pass
  • Build with Qt6 via CMake and verify plugin loads in logos-app
  • Verify metric values update in real-time when agent is running

Fixes #132

🤖 Generated with Claude Code

jimmy-claw and others added 2 commits April 15, 2026 04:10
Add a dashboard UI plugin for logos-app that provides real-time monitoring
of LMAO agent status, metrics, and identity information.

Changes:
- Add lmao_get_metrics() and lmao_get_info() FFI functions to expose
  MetricsSnapshot and agent identity/topics via the C interface
- Create logos-dashboard-plugin/ with IComponent implementation:
  - DashboardComponent: plugin entry point with QQuickWidget
  - DashboardBackend: C++ bridge exposing FFI calls as Q_PROPERTY/Q_INVOKABLE
  - DashboardView.qml: dashboard with identity, topics, and 17 metric cards
  - MetricCard.qml: reusable metric display component
  - Dark theme consistent with logos-app styling
- Add unit tests for new FFI functions (metrics serialization, info structure)

Fixes #132

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…et tabs (#132)

Add tabbed navigation to the LMAO logos-core-module plugin with three views:
- Dashboard: agent identity, encryption status, Waku topics, connected peers, sessions
- Fleet: existing agent discovery and task sending (refactored from original LmaoView)
- Metrics: real-time operational counters with auto-refresh (tasks, messaging, discovery, encryption)

New FFI functions: lmao_get_metrics, lmao_get_node_info, lmao_get_peers, lmao_get_sessions
New C++ backend methods: getMetrics, getNodeInfo, getPeers, getSessions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: logos-app IComponent UI plugin for LMAO agent

1 participant