Skip to main content

AI Dashboard

The optional AIBudsAIDashboard module serves a local web dashboard for inspecting AI session reports stored on the iOS device. It helps diagnose AI chat, audio recording, translation, and simultaneous interpretation without adding report screens to the host app.

AI Dashboard is operational tooling. It does not configure a provider, start an AI session, or replace the AI feature guides.

Animated workflow

Controlled dashboard session

A completed AI workflow persists a report; a development-only local server makes that report available to a reachable browser.

AI feature

Complete AI Session

Finish a supported AI workflow that produces a report.

AIBuds AI

Persist Report

Store the diagnostic session report on the iOS device.

Host app

Start Dashboard

Start one development-only local HTTP server.

Developer

Inspect in Browser

Open the logged address from a mutually reachable network.

controlled access
Host app

Stop and Retain Safely

Stop the endpoint and apply report retention policy.

Stop the local server when diagnostics end, and never treat it as a production administration endpoint without explicit review.

Architecture Boundary

The server runs inside the host app. Its availability depends on app lifecycle, network reachability, port selection, resource packaging, and report retention.

Packaging and Lifecycle

Direct integration requires AIBudsAIDashboard and its AIBudsAIDashboard.bundle web resources. AIBudsAllInOne also exposes dashboard lifecycle methods; use the ownership model already selected by the app and do not start both paths.

Start the server once from a development-only application owner and stop it when diagnostics end.

Swift
#if DEBUG
    import AIBudsAIDashboard

    if !AIDashboardSDK.isRunning {
        let accepted = AIDashboardSDK.start(withPort: 3000)
        if !accepted { print("AI Dashboard start was rejected") }
    }
#endif

See AIDashboardSDK for declarations.

Access and Verification

The SDK logs the dashboard address when it starts. Open it from a browser that can reach the iOS device. Treat the returned Bool as command acceptance, not a complete health check: the public API does not currently return the bound URL, interface, port-conflict details, or a server error.

Verify the lifecycle state, logged address, absence of resource-bundle warnings, browser reachability, and presence of a completed supported AI report. An empty dashboard can simply mean no report has been persisted.

Security and Privacy Boundary

:::warning Development and controlled diagnostics only The current dashboard is a local HTTP service whose public API does not expose configurable authentication, TLS, or bind-interface restrictions. Reports may contain transcripts and sensitive session data. Do not enable it in production unless security and privacy review explicitly accepts the exposure and retention model. :::

  • Gate startup behind a debug or internal-build policy.
  • Use a trusted, isolated network.
  • Do not publish addresses or credentials in analytics or logs.
  • Stop the server as soon as diagnostics end.
  • Apply the underlying AI data retention and deletion policy to reports.

Troubleshooting

SymptomCheck
Start is rejectedThe server may already run; retain one lifecycle owner.
Page assets are missingConfirm AIBudsAIDashboard.bundle is in the built app.
Browser cannot connectCheck the logged address, port, reachability, and local-network policy.
Dashboard is emptyComplete a supported AI session and confirm report persistence.
Endpoint outlives diagnosticsStop it from the same application owner that started it.