Otto는 OpenCode v2를 클라우드 머신에서 실행하고 데스크톱이나 휴대전화로 원격 조작하는 앱이다. Boat, boxd, E2B, Daytona 가운데 샌드박스 제공자를 선택하거나 기존 OpenCode v2 서버에 연결할 수 있다.
앱은 macOS, Windows, Linux, iOS, Android를 지원한다. 에이전트의 답변과 파일 변경·명령 실행 내역을 실시간으로 확인하고, 작업을 멈추거나 방향을 바꿀 수 있다. 권한이 필요한 단계는 앱 안에 표시되며 시스템 알림도 보낸다. 여러 에이전트를 각각 별도 세션에서 실행하고, 도구별·스킬별·MCP 서버별 권한을 허용·확인 요청·거부로 설정할 수 있다.
에이전트 머신에서 실행되는 예약 작업도 설정할 수 있다. 예를 들어 매일 밤 테스트를 실행하거나 아침마다 변경 사항을 요약하게 할 수 있으며, Otto 앱을 닫아도 일정은 실행된다. 프로젝트 파일을 앱에서 열어 구문 강조와 함께 읽는 기능도 제공한다.
설치와 이용 조건
샌드박스 제공자의 API 키를 입력하면 Otto가 Linux 머신을 만들고 OpenCode v2를 설치해 서비스로 실행한다. 앱은 HTTPS로 OpenCode API에 연결하며, 머신이 잠들어 있으면 깨우고 필요할 때 서비스를 복구한다. 세션·에이전트·설정·일정은 에이전트 머신에 저장돼 연결된 기기에서 공유된다. API 키와 서버 비밀번호는 macOS·Windows에서 운영체제 키체인에 저장되고, 다른 플랫폼에서는 앱의 비공개 저장 공간에 보관된다.
macOS에는 다음 명령으로 최신 버전을 설치할 수 있다. 다른 플랫폼의 설치 파일은 Releases에서 받을 수 있다.
curl -fsSL https://jaygupta.dev/otto/install.sh | sh
빌드 파일은 아직 코드 서명이 되어 있지 않다. macOS의 DMG는 공증되지 않아 첫 실행이 차단될 수 있고, Windows에서는 SmartScreen 경고가 표시된다. Android는 APK를 설치할 때 출처를 알 수 없는 앱 설치를 허용해야 한다. iOS는 다운로드 파일로 설치할 수 없어 Xcode로 직접 빌드해야 한다.
클라우드 계정 없이 시험하려면 격리된 설정으로 로컬 OpenCode v2 서버를 실행한다. 이 방식은 기존 ~/.config/opencode를 건드리지 않으며, 제공자 키 없이 무료 모델을 이용할 수 있다.
bun run oc:local
이후 Otto에서 Your own server를 선택하고 http://127.0.0.1:4917과 .dev/password에 출력된 비밀번호를 입력한다. 소스에서 빌드하려면 Bun 1.3 이상, 안정 버전 Rust와 운영체제별 Tauri 사전 요건이 필요하다. 모바일 빌드에는 iOS용 Xcode 또는 Android NDK가 포함된 Android Studio가 필요하다. 프로젝트와 설치 정보는 GitHub 저장소에서 확인할 수 있다.
부록: 원문 예시
src/ components/ UI: shell, chat, settings, schedules, onboarding, mobile lib/opencode/ OpenCode v2 client, event stream, timeline projection, config files lib/providers/ Sandbox providers (Boat) and the setup/repair flow lib/schedules.ts Scheduled tasks (cron + runner script on the agent machine) lib/permissions.ts Agent permission rules editor model state/ Zustand stores (connection, chat, workspaces, extensions, ui) src-tauri/ Rust side: plugins, keychain commands, app config, icons scripts/ Local development helpers DESIGN.md Design system: tokens, type, color roles, motion
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요