콘텐츠로 이동

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의 실제 화면 캡처와 디스플레이 연동은 별도 기능이에요.

CLI-Anything 원본 · 로컬 에이전트 · MCP와 SDK