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.
Controlled dashboard session
A completed AI workflow persists a report; a development-only local server makes that report available to a reachable browser.
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
- Objective-C
#if DEBUG
import AIBudsAIDashboard
if !AIDashboardSDK.isRunning {
let accepted = AIDashboardSDK.start(withPort: 3000)
if !accepted { print("AI Dashboard start was rejected") }
}
#endif#if DEBUG
@import AIBudsAIDashboard;
if (![AIBudsAIDashboardSDK isRunning]) {
BOOL accepted = [AIBudsAIDashboardSDK startWithPort:3000];
if (!accepted) {
NSLog(@"AI Dashboard start was rejected");
}
}
#endifSee 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
| Symptom | Check |
|---|---|
| Start is rejected | The server may already run; retain one lifecycle owner. |
| Page assets are missing | Confirm AIBudsAIDashboard.bundle is in the built app. |
| Browser cannot connect | Check the logged address, port, reachability, and local-network policy. |
| Dashboard is empty | Complete a supported AI session and confirm report persistence. |
| Endpoint outlives diagnostics | Stop it from the same application owner that started it. |