AI 서비스 분석 대시보드
선택적 AIBudsAIDashboard 모듈은 iOS 기기에 저장된 AI 세션 보고서를 확인할 수 있는 로컬 웹 대시보드를 제공합니다. 호스트 앱에 별도 보고서 화면을 만들지 않고도 AI 대화, 오디오 녹음, 번역, 동시통역 문제를 진단할 수 있습니다.
AI 대시보드는 운영 지원 도구입니다. 서비스 제공자를 설정하거나 AI 세션을 시작하지 않으며, AI 기능 안내서를 대신하지도 않습니다.
통제된 대시보드 세션
완료된 AI 작업이 보고서를 저장하면 개발 전용 로컬 서버를 통해 같은 네트워크의 브라우저에서 보고서를 확인할 수 있습니다.
아키텍처 경계
서버는 호스트 앱 내부에서 실행됩니다. 사용 가능 여부는 앱 수명 주기, 네트워크 연결, 포트 선택, 리소스 패키징, 보고서 보관 방식에 따라 달라집니다.
패키징과 수명 주기
직접 통합하려면 AIBudsAIDashboard와 웹 리소스인 AIBudsAIDashboard.bundle이 필요합니다. AIBudsAllInOne에도 대시보드 수명 주기 메서드가 있습니다. 앱에서 선택한 관리 방식 하나만 사용하고 두 경로를 함께 시작하지 마세요.
개발 전용 애플리케이션 주체가 서버를 한 번만 시작하고 진단이 끝나면 중지합니다.
- 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");
}
}
#endif선언은 AIDashboardSDK을 참고하세요.
접근과 검증
SDK는 시작할 때 대시보드 주소를 로그에 출력합니다. iOS 기기에 연결할 수 있는 브라우저에서 주소를 여세요. 반환된 Bool은 명령 접수 여부일 뿐 전체 상태 점검 결과가 아닙니다. 공개 API는 현재 바인딩된 URL, 인터페이스, 포트 충돌 정보나 서버 오류를 반환하지 않습니다.
수명 주기 상태, 로그 주소, 리소스 번들 경고 유무, 브라우저 연결, 완료된 지원 AI 보고서 존재 여부를 확인하세요. 대시보드가 비어 있다면 단순히 저장된 보고서가 없을 수 있습니다.
보안 및 개인정보 보호 경계
:::warning 개발 및 통제된 진단 전용 현재 대시보드는 인증, TLS, 바인딩 인터페이스 제한을 설정하는 공개 API가 없는 로컬 HTTP 서비스입니다. 보고서에는 대화 내용과 민감한 세션 데이터가 포함될 수 있습니다. 보안 및 개인정보 보호 검토에서 노출과 보관 방식을 명시적으로 승인하지 않았다면 운영 환경에서 활성화하지 마세요. :::
- 디버그 또는 내부 빌드 정책으로 시작을 제한합니다.
- 신뢰할 수 있는 격리 네트워크를 사용합니다.
- 분석 데이터나 로그에 주소 또는 인증 정보를 남기지 않습니다.
- 진단이 끝나면 즉시 서버를 중지합니다.
- 보고서에 AI 데이터 보관 및 삭제 정책을 적용합니다.
문제 해결
| 증상 | 확인 사항 |
|---|---|
| 시작 요청이 거부됨 | 서버가 이미 실행 중일 수 있습니다. 수명 주기 관리 주체를 하나만 유지하세요. |
| 페이지 리소스가 없음 | 빌드된 앱에 AIBudsAIDashboard.bundle이 포함되었는지 확인하세요. |
| 브라우저에서 연결되지 않음 | 로그 주소, 포트, 네트워크 연결, 로컬 네트워크 정책을 확인하세요. |
| 대시보드가 비어 있음 | 지원되는 AI 세션을 완료하고 보고서가 저장되었는지 확인하세요. |
| 진단 후에도 엔드포인트가 실행됨 | 서버를 시작한 동일한 애플리케이션 주체에서 중지하세요. |