Workspace 앱 설치
managed Linux Workspace에서 GIMP·Blender·LibreOffice·OBS Studio를 CLI-Anything 도구로 사용해요. 네이티브 앱은 이미지에 포함되고, 앱별 Python 하네스는 Workspace 볼륨에 설치돼요. 카탈로그는 검토한 소스 커밋과 버전에 고정돼요.
설치와 실행
섹션 제목: “설치와 실행”OS=https://dev.api.endueos.com, TOKEN은 Station 키 또는 OAuth 토큰, WS는 해당 Station의 Workspace ID예요.
# 카탈로그 조회는 Workspace를 켜지 않아요.curl "$OS/api/v1/stations/$STATION/workspace-apps" \ -H "Authorization: Bearer $TOKEN"
curl -X POST "$OS/api/v1/workspaces/$WS/apps" \ -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \ -H 'X-Idempotency-Key: install-libreoffice-1' -d '{"slug":"libreoffice"}'
curl "$OS/api/v1/workspaces/$WS/apps/libreoffice/skill" \ -H "Authorization: Bearer $TOKEN"
curl -X POST "$OS/api/v1/workspaces/$WS/apps/libreoffice/commands" \ -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \ -d '{"args":["document","new","--type","writer","--name","보고서","-o","report.json"]}'먼저 설치가 끝났는지 확인한 다음 SKILL에 적힌 명령을 실행해요. REST는 기존 명령 결과를 반환해요. 202이면 Location의 명령 완료를 기다린 뒤 getCommandOutput으로 출력을 읽어요. 명령 출력에 state: running과 process_id가 있으면 wait_program으로 하위 프로세스가 끝날 때까지 기다려요. HTTP 성공만으로 앱 작업 성공을 판단하지 말고 명령 상태와 프로세스 success도 확인하세요.
| 앱 | 실행 도구 | 용도 |
|---|---|---|
| GIMP | app_gimp |
이미지 프로젝트·레이어·필터·내보내기 |
| Blender | app_blender |
장면·메시·재질·헤드리스 렌더 |
| LibreOffice | app_libreoffice |
문서·시트·프레젠테이션·PDF |
| OBS Studio | app_obs_studio |
장면·소스 구성 |
list_apps, install_app, app_skill과 위 도구들은 describe_tools에 등록돼요. endue AI가 Workspace 도구 카탈로그를 불러오면 같은 도구를 사용할 수 있어요. 실행 인자는 배열로 전달하고, 하네스는 --json을 붙여 실행해요. 설치 URL이나 셸 명령을 앱 설치 API에 전달할 수는 없어요.
앱 설치는 반복해도 같은 버전을 사용해요. Workspace를 재시작해도 설치는 유지되지만, 이미지를 갱신해 버전이 바뀌면 새 카탈로그 버전을 설치해야 해요. 사용자 기기의 sandboxed 실행 권한은 이 카탈로그로 확대되지 않아요. OBS의 실제 화면 캡처와 디스플레이 연동은 별도 기능이에요.