← Docs hub

SK-Intellix 프레임워크·SDK 문서 모음

차세대 프레임워크 — 문맥 이해에서 목표 달성과 기기 실행까지. 환경 문맥·Experience Goal·Planner·로보틱스 실행 계약과 Android 구조를 연결한다.

팀 프로젝트 시작 기준: 두 브랜치의 폴더·업무 경계와 공통 출발점.

SoC 소스 기준 업무 전체 목록: SKIX SoC 소스 기준 작업분해표. 현행 소스 구역별 분석·설계·구축·검증 항목과 담당 슬롯을 확인할 수 있다.

현재 리팩토링: 전체 모듈·폴더 상세 지도 → 제공자 연결·TTS 전달 확대 → 구현·검증 진행 현황.

처음 보는 경우에는 SKIX 전체 구조 — 처음 보는 안내서를 먼저 연다. 요청·판단·실행·결과 환류를 쉬운 그림과 청소 예시로 이해한 뒤, 24개 Manager와 Atlas의 기술 상세 구조로 내려간다. Atlas에서 boot, request-to-evidence, Runtime 내부, Task/Policy/State, 24개 domain owner, DeviceAgent migration의 여섯 동작 구조로 바로 이동할 수 있다.

이 허브는 a1-packages와 platform vendor AOSP overlay를 기준으로, 현재 제품에 들어가는 Android system package, DeviceAgent API, peer agent, vendor HAL/service, init/VINTF/sepolicy/DTS 연결을 근거 기반으로 정리한다.

여기서 말하는 Framework/SDK는 현재 코드에 이미 제품 형태로 완성된 별도 SDK가 있다는 뜻이 아니다. 현재 확인된 사실은 다음에 가깝다.

Client apps / privileged packages
  -> DeviceControlAPIJavaLib 또는 직접 Binder bind
  -> DeviceAgent IDeviceControl.sendModuleCommand(Bundle)
  -> MainApi / framework command / task package / domain managers
  -> peer agents 또는 vendor.<platform-vendor>.hardware.* HAL
  -> UM vendor service / MCU / SoundFlow / sysfs / DTS-backed device nodes

따라서 이 문서의 목적은 “새로운 상위 지능 계층”을 설명하는 것이 아니라, A1에 이미 존재하는 Android platform package와 DeviceAgent 중심 API를 어떤 기준으로 안정화하고, 필요하면 SDK 형태로 포장할 수 있는지 정리하는 것이다.

현재 DeviceAgent는 제품 기능의 central service hub지만 Android OS의 system_server는 아니다. 목표는 얇은 SkixFrameworkSystemService가 부팅·root Binder·권한을 담당하고, 분리된 system_ext Runtime이 Task·Policy·State·Evidence·도메인 서비스를 소유하는 하이브리드다.

SK-Intellix AOSP Layer Stack

1. 권장 읽기 순서

단계 문서 목적
0 · 시작 현재 문서 현재 A1 패키지와 SDK 후보의 범위
0-0 · 처음 보는 전체 구조 SKIX 전체 구조 — 처음 보는 안내서 요청→보호→판단→도메인→실행→상태 환류를 쉬운 그림과 청소 예시로 이해
0-1 · 빠른 이해 SKIX 리팩터링 한눈에 보기 Manager/ManagerService/provider 경계, 현재 구현과 다음 작업을 5분 안에 파악
Blueprint 실행계획 P3 아키텍처 상세 Todo와 A–F 계층별 설계·구축 R&R 제품 요구 도출부터 P3.1–P3.15 아키텍처 설계, P4 설계 Gate, A 통합 및 B–F 계층별 설계·구축 R&R 확인
0-2 · 전체 구조 SKIX 로보틱스 프레임워크 전체 구조 Atlas AOSP trust/boot, Runtime plane, 24개 owner, DeviceAgent/Agent/ROS 2/HAL과 진행 상태를 한 화면에서 확인
0-3 · 구조도 감사표 Framework SVG 전체 95개 감사표 Atlas·Detail·Flow 분류, 연결 문서, 보존 경계와 정적 검증 범위 확인
0-3 · 전체 동작 Request-to-Evidence 전체 흐름 요청 접수·정책/자원 중재·물리 실행·State/Evidence·상위 지능 서비스 replan의 폐루프 확인
1 · 제품 프레임워크 SKIX 리팩터링 프레임워크 설계안 AOSP 위의 상태·정책·자원·생명주기·TaskManager 구조와 단계적 전환 전략
1-A · 교차 플랫폼 확장 Booster T2와 SKIX 연동 설계 Android namuh와 Ubuntu 기반 T2를 공통 Capability·Task·State·Evidence 계약으로 연결하는 구조와 도입 검증 기준
1-B · 로봇 모델 확장 자율주행·그리퍼 로봇 모델 아키텍처 바퀴형 모바일 매니퓰레이터의 지각·자율주행·파지 모델과 ROS 2·Jetson Thor·휴머노이드 확장 기준
1-0 · 실행 구조 하이브리드 SystemService·Runtime 구조 system_server·system_ext Runtime·provider 경계와 부팅·복구 계약
1-1 · 누적 현황 SKIX 제품 프레임워크 리팩터링 진행 현황 구현·설계·정적 검증·실기기 미검증을 구분한 현재 상태 허브
1-1a · Binder 입구 Root Binder Admission Core 공개 service/API/Manager ID와 fail-closed 호출자·범위·lifecycle 판정, 후속 AIDL 경계
1-2 · State 구현 StateManager 읽기 전용 투영 구현 typed observation, lifecycle affinity, MR6 producer 이식 경계와 SVG
1-3 · Lifecycle 서비스 라이프사이클과 도메인 상태 감사 ManagerService lifecycle, 도메인 상태 writer와 MR7 구현·검증 상태
1-4 · 앱 아키텍처 SKIX 응용 프로그램 아키텍처 표준 MVVM+UDF, State/Event/Effect, Domain·Repository 경계와 Feature 복잡도별 확장 기준
1-5 · IoT 확장 AWS IoT Domain Framework 상세 설계 Manager/Service 경계에서 도메인별 양방향 통신, 기존 MQTT 호환, 다중화, 재연결과 제한된 원격 운영을 관리
참고 · 파트너 공개 경계 Product Framework Gateway 검토 기록 승인 파트너 공개가 필요할 때 검토할 신뢰 경계와 별도 배치 조건. 1차 구현 기준은 제품 프레임워크 설계안
3 · 제품 변화 Transformation Roadmap 현재 구조를 깨지 않고 API를 안정화하는 이유
4 · 시스템 구조 System Design DeviceAgent Binder API, 동료 Agent, HAL·서비스 경계
5 · 계약과 데이터 SDK Contract DeviceControlAPIJavaLib와 IDeviceControl 위 호출 API 후보
6 · 구현 DeviceAgent / SoC Category TaskManager와 도메인 실행기의 실제 연결
7 · 검증 Source and Evidence Catalog 문서의 주장을 소스·시험·근거에 연결
8 · 운영과 로드맵 QCS6490 Platform Vendor Brief QSSI/UM, HAL, DTS, 드라이버 업체 전달

상위/하위 연결점:

위치 연결 이유
SK-Intellix Engineering Hub 전체 위키의 최상위 진입점
Book Shelf 책처럼 읽을 때 A1 platform/runtime 정리 파트
DeviceAgent / SoC Category DeviceAgent API, TaskManager, domain executor 상세
Vendor Category 업체 구현 범위와 evidence 제출 기준
QCS6490 Platform Vendor Brief QCS6490/QSSI/UM/HAL/DTS 업체 회의 시작점

2. 확인된 코드 근거

영역 확인된 근거 의미
A1 package inventory a1-packages/docs/architecture/MODULE_INVENTORY.md apps/, service/, libs/, sepolicy로 구성된 Android 제품 패키지
제품 패키지 포함 a1-packages/packages.mk DeviceAgent, AMRAgent, IotAgent, StartupService, PairingAgent, SKMLauncher, UpdateAgent, VisionAgent, ethernetagent, logwriter 등 포함
QSSI overlay <qssi-vendor-overlay>/vendor.mk, <qssi-vendor-overlay>/prebuilts/packages.mk system/priv-app, permissions, sysconfig, HIDL interface 정의를 QSSI 쪽에 반영
UM overlay <um-vendor-overlay>/vendor.mk, <um-vendor-overlay>/airbot/airbot.mk vendor service, vendor sepolicy, Kardome/SoundFlow, HAL backend를 UM 쪽에 반영
DeviceAgent Binder API apps/DeviceAgent/app/src/main/aidl/com/sk/airbot/devicecontrol/IDeviceControl.aidl registerCallback, sendModuleCommand(Bundle), callback 등록 API 제공
Client API apps/DeviceControlAPI/java/com/sk/airbot/devicecontrol/DeviceControlProxy.java com.sk.airbot.devicecontrol.IDeviceControl action으로 DeviceAgent에 bind
DeviceAgent service export apps/DeviceAgent/app/src/main/AndroidManifest.xml exported=true. 현재 확인한 기준에서는 서비스 전체에 적용되는 signature permission이 없고 일부 명령만 호출자 UID를 별도로 검사하므로, 공개 SDK 전 공통 권한 경계 보강이 필요
DeviceAgent build apps/DeviceAgent/app/src/main/Android.mk system/priv-app, platform certificate, private platform API, platform vendor HAL Java lib 의존
HAL interface <qssi-vendor-overlay>/airbot/hardware/interfaces/device_manager/1.0, soundflowservice/1.0 vendor.<platform-vendor>.hardware.device_manager@1.0, vendor.<platform-vendor>.hardware.soundflowservice@1.0 HIDL
HAL implementation <um-vendor-overlay>/airbot/external/device_manager/service, <um-vendor-overlay>/airbot/external/sndflow/service /vendor/bin/hw service, init rc, VINTF fragment 제공
Platform policy <um-vendor-overlay>/airbot/device/sepolicy/*, device_framework_matrix_vendor.xml service domain, hwservice context, file context, matrix 정합성

2.1 BSP / Build Flow 근거

Framework/SDK 문서가 BSP와 연결되는 지점은 QSSI/UM split build다. g13qcs6490/build_project.sh는 QSSI를 qssi lunch로 --qssi_only, UM을 lahaina lunch로 --target_only 빌드한 뒤 Qualcomm build_image_standalone.py --image super로 merge OTA를 만든다. platform vendor overlay는 <qssi-vendor-overlay>/vendor.mk, <um-vendor-overlay>/vendor.mk, sync_vendor_overlay.sh를 통해 각각 QSSI/UM의 vendor/<platform-vendor>로 들어간다.

따라서 이 허브에서 BSP를 말할 때는 “Android SDK 앱 개발”이 아니라 다음 chain을 뜻한다.

a1-packages source/prebuilt package
  -> <qssi-vendor-overlay> system-side overlay
  -> <um-vendor-overlay> vendor-side HAL/service overlay
  -> QSSI/UM split build
  -> merged super / OTA / PKG release

3. 현재 A1 레이어

이 허브의 레이어는 Android/AOSP 배치와 실제 호출 경계를 기준으로 본다.

레이어 현재 구조 이 문서에서의 의미
Client / Consumer SKMLauncher, SKMLauncher2, ICT, PairingAgent, 테스트 앱 DeviceAgent API를 호출하는 앱/패키지
Client API DeviceControlAPIJavaLib, DeviceControlProxy Binder 연결과 callback 등록을 감싸는 현재 API
Product SystemServer DeviceAgent, IDeviceControl, MainApi, domain managers Android system_server는 아니지만 제품 기능 제어의 central service hub
DeviceAgent Binder boundary IDeviceControl.aidl, DeviceAgent.java, sendModuleCommand(Bundle) 외부 호출이 DeviceAgent로 들어오는 안정화 대상
DeviceAgent runtime code MainApi, framework/command/*, task/*, policy/*, event/*, domain managers 제품 기능 라우팅, 정책, 상태, event, HAL/peer agent 연결의 중심
Peer agent services AMRAgent, IotAgent, UpdateAgent, PairingAgent, VisionAgent, LLMAgent DeviceAgent가 bind하거나 호출하는 기능별 프로세스
QSSI contract/package <qssi-vendor-overlay>, HIDL interface, permissions, sysconfig, priv-app package system/system_ext 성격의 제품 반영 영역
UM vendor runtime <um-vendor-overlay>, DeviceManager service, SoundFlow service, sepolicy_vndr vendor partition과 HAL backend 영역
Kernel / board kernel/msm-5.4, board DTS include, device nodes UART/MCU/fan/thermal/audio 등 실기기 검증 대상

3.1 DeviceAgent 위치 해석

DeviceAgent를 Android system_server로 쓰면 안 된다. 실제 Android system_server는 AOSP framework process다. 하지만 A1 제품 기능 관점에서는 DeviceAgent가 central Binder entry, command dispatcher, peer agent coordinator, state/policy/event owner, HAL bridge를 동시에 담당하므로 제품 기능의 SystemServer 역할이라고 표현하는 것이 정확하다.

이 표현의 의미는 다음처럼 제한한다.

표현 맞는 의미 틀린 의미
product-level SystemServer A1 제품 기능 호출이 DeviceAgent로 모이고 DeviceAgent가 peer agent/HAL로 분배한다 Android OS system_server를 교체한다
service hub IDeviceControl entry와 AMR/IoT/Update/Pairing/Vision binding이 DeviceAgent에 모인다 모든 agent의 내부 구현이 DeviceAgent 안에 있다
HAL bridge system/priv-app DeviceAgent가 platform vendor HIDL Java lib를 통해 vendor HAL service와 통신한다 DeviceAgent가 vendor daemon 자체다

4. 그림 읽는 기준

그림 설명
Build Partition Flow QSSI/UM split build, platform vendor overlay 반영, merge/package/release gate
Runtime Call Flow Client API -> DeviceAgent -> domain manager/task -> platform vendor HAL -> vendor/kernel 경로
DeviceAgent Peer Agent Topology DeviceAgent가 AMR/IoT/Update/Pairing/Vision/LLM agent와 Binder/callback으로 연결되는 구조
HAL DTS Driver Validation Flow HAL, DTS, driver, SELinux, device node evidence chain

표현 기준:

5. A1 Package 구성

a1-packages는 단일 앱 저장소가 아니라 Android 제품 이미지에 들어가는 system app, privileged app, native daemon, shared library, SELinux policy 묶음이다.

DeviceAgent는 이 묶음 안에서 다음 책임을 동시에 가진다.

DeviceAgent 책임 설명 근거
Product service registry 외부 client가 IDeviceControl action으로 bind하는 제품 기능 진입점 AndroidManifest.xml, IDeviceControl.aidl
Command dispatcher sendModuleCommand(Bundle)를 받아 MainApi, framework command, task package로 전달 DeviceAgent.java, MainApi.java, framework/command/*, task/*
Peer service coordinator AMR/IoT/Update/Pairing/Vision/LLM agent와 연결 SERVICE_MAP.md, MainService.java, AMRService.java, VisionAIManager.java
Product state/policy owner 상태, event, command policy, task reason을 관리 event/StateManager.java, event/EventManager.java, policy/CmdPolicyManager.java, task/TaskReasonContract.java
HAL bridge DeviceManager/SoundFlow HAL Java binding을 통해 vendor service로 내려감 Android.mk, DeviceAgent.java, SoundFlowManager.java

그래서 이 문서에서 DeviceAgent를 “앱 하나”로 표현하면 실제 역할이 축소된다. 더 정확한 표현은 “A1 제품 기능의 system service hub”다.

5.1 서비스 Agent 연동 구조

DeviceAgent는 외부 client와 peer agent 사이의 중심점이다. 외부 앱은 DeviceControlAPIJavaLib 또는 직접 Binder bind로 IDeviceControl에 들어오고, DeviceAgent는 내부 command/runtime 처리 후 필요한 경우 기능별 peer agent나 HAL로 분배한다.

DeviceAgent Peer Agent Topology

연결 Binder action / API DeviceAgent 쪽 연결 근거 역할
Client -> DeviceAgent com.sk.airbot.devicecontrol.IDeviceControl, sendModuleCommand(Bundle) DeviceControlProxy.java, DeviceAgent.java 제품 기능 외부 진입점
DeviceAgent -> AMRAgent com.sk.airbot.amrcontrol.IAMRControl AMRService.java, MainService.mAMRControlCallback 이동, 지도, docking, battery/status callback
DeviceAgent -> IotAgent com.sk.airbot.iotcontrol.IIotControl DeviceAgent.connectServices(), MainService.mServiceConnectionIot IoT 상태 publish/control
DeviceAgent -> UpdateAgent com.sk.airbot.updatecontrol.IUpdateControl DeviceAgent.connectServices(), MainService.mServiceConnectionUpdate OTA/update control
DeviceAgent -> PairingAgent com.sk.airbot.pairingcontrol.IPairingControl DeviceAgent.connectServices(), MainService.mServiceConnectionPairing pairing/BLE 연동
DeviceAgent -> VisionAgent com.sk.airbot.visioncontrol.IVisionControl VisionAIManager.bindService() vision recognition/control
DeviceAgent -> LLMAgent com.sk.airbot.llmcontrol.ILLMControl MODULE_INVENTORY.md, LLMAgent AIDL/manifest LLM/TTS 관련 peer package. DeviceAgent 직접 bind path는 별도 확인 필요
DeviceAgent -> platform vendor HAL IDeviceManager.getService(), ISoundFlowService.getService() DeviceAgent.java, SoundFlowManager.java, Android.mk HAL Java lib 의존 MCU/device manager, SoundFlow/Kardome vendor service 연결
구성 현재 역할 근거
apps/DeviceAgent IDeviceControl Binder 진입점, MainApi, domain managers, HAL/peer agent 연결 SERVICE_MAP.md, AndroidManifest.xml, Android.mk
apps/DeviceControlAPI DeviceAgent에 bind하는 Java client library DeviceControlProxy.java
apps/AMRAgent AMR 이동/맵/로봇 상태 peer service SERVICE_MAP.md
apps/IotAgent IoT 상태 publish/control peer service SERVICE_MAP.md
apps/UpdateAgent OTA/update peer service SERVICE_MAP.md
apps/PairingAgent pairing control peer service SERVICE_MAP.md
apps/VisionAgent vision control/recognition peer service SERVICE_MAP.md
apps/LLMAgent LLM/TTS 관련 제어 패키지 MODULE_INVENTORY.md
apps/SKMLauncher, apps/SKMLauncher2, apps/ICT DeviceAgent API consumer SERVICE_MAP.md
service/ethernetagent, service/logwriter, service/decrypt native executable/init rc 기반 시스템 지원 서비스 MODULE_INVENTORY.md, packages.mk
libs/serial_port serial port shared library MODULE_INVENTORY.md
sepolicy system app 권한 보강 정책 packages.mk

6. SDK라는 표현의 정확한 범위

현재 근거 기준으로 “SDK”라고 말할 수 있는 것은 완성된 신규 product가 아니라 다음 두 단계다.

단계 상태 설명
현재 DeviceControlAPIJavaLib + DeviceControlProxy DeviceAgent Binder 연결을 감싸는 client library가 존재
후보 sk-intellix-sdk-core.aar 같은 별도 AAR 기존 Bundle/method string을 숨기고 domain별 API를 제공하는 전환 후보

따라서 이 허브에서는 SDK를 “현재 존재하는 client API를 제품형 API로 정리할 수 있는 후보”로만 다룬다. 실제 SDK 구현, API diff, sample app, Maven/internal artifact 배포는 별도 구현과 검증이 필요하다.

7. 완료 판단

이 영역의 완료 판단은 문서 동의가 아니라 Android platform evidence로 한다.

판단 항목 필요한 evidence
QSSI package 반영 vendor/<platform-vendor> include, PRODUCT_PACKAGES, permissions/sysconfig 산출물
UM vendor service 반영 /vendor/bin/hw service, init rc, VINTF fragment, hwservicemanager 등록
DeviceAgent API 동작 IDeviceControl bind, sendModuleCommand(Bundle), callback 등록/해제 log
HAL 연결 IDeviceManager.getService(), ISoundFlowService.getService(), callback/event log
SELinux/VINTF 정합성 avc: denied 정리, lshal, VINTF check, service context 확인
DTS/driver/device node boot dmesg, node permission, UART/MCU/fan/thermal/audio 기능 log

8. 빠른 URL

Framework/SDK Hub:
https://sk-intellix-wiki.pages.dev/docs/sk-intellix/framework-sdk/

SKIX 리팩터링 한눈에 보기:
https://sk-intellix-wiki.pages.dev/docs/sk-intellix/framework-sdk/skix-refactoring-at-a-glance-2026-09-05

리팩터링 진행 현황:
https://sk-intellix-wiki.pages.dev/docs/sk-intellix/framework-sdk/skix-layer-refactoring-progress-2026-09-04

Application UI Architecture Standard:
https://sk-intellix-wiki.pages.dev/docs/sk-intellix/framework-sdk/skix-application-ui-architecture-standard.html

System Design:
https://sk-intellix-wiki.pages.dev/docs/sk-intellix/framework-sdk/system-design.html

SDK Contract:
https://sk-intellix-wiki.pages.dev/docs/sk-intellix/framework-sdk/sdk-contract.html

Transformation Roadmap:
https://sk-intellix-wiki.pages.dev/docs/sk-intellix/framework-sdk/transformation-roadmap.html

Keyboard shortcuts

⌘K / Ctrl+KOpen command palette
/Focus search
g hGo to home
g pGo to projects
g sGo to sessions
j / kNext / prev row (tables)
?Show this help
EscClose dialogs

Structured queries

Mix key:value filters with free text in the palette:

type:sessionOnly session pages
project:llm-wikiFilter by project name (substring)
model:claudeFilter by model name (substring)
date:>2026-03-01Sessions after a date
date:<2026-04-01Sessions before a date
tags:rustPages mentioning a tag/topic
sort:dateSort results by date (newest first)

Example: type:session project:llm-wiki date:>2026-04 sort:date