OpenBot
CI
License
OpenBot은 지속적인 AI 팀원을 위한 로컬 우선(local-first) 데스크톱 워크스페이스입니다. 이 앱은 Codex App Server, Claude Code, 그리고 ACP를 통해 Grok CLI, OpenCode, Gemini, Cursor CLI, Cline CLI 등 다양한 서비스를 지원합니다. 모든 에이전트에게 자체 워크스페이스와 대화 공간을 제공하며, 로컬 큐(local queues), 파일 전송, 임베디드 브라우저, 그리고 에이전트 간 메시징 기능을 하나의 데스크톱 앱에 담았습니다.
[!WARNING]
OpenBot은 개발 미리보기 버전입니다. 현재 에이전트는 danger-full-access와 approvalPolicy: never로 실행됩니다. 명시적인 첫 번째 실행 동의 이후에는 개별 액션 확인 없이 파일 읽기 및 수정, 명령어 실행, 네트워크 사용, 임베디드 브라우저 제어 등이 가능합니다.
신뢰하는 에이전트와 작업만 실행하고, 백업을 유지하며, 사용 전에 Security를 검토하십시오.
작동 기능 (What works)
- 데스크톱 및 모바일에서 프롬프트 기반 에이전트 생성 및 편집 기능. 저장 전에 수정 가능한 지침(instructions), 아바타, 섹션 검토가 가능합니다.
- 독립적인 Codex, Claude, Grok, OpenCode, Gemini, Cursor, 또는 Cline 세션 및 로컬 작업 공간을 기반으로 하는 영구 에이전트.
- 사용자 정의 OpenAI 호환 엔드포인트 및 사용자 정의 ACP 에이전트를 지원하며, 로컬 모델 서버(Ollama, LM Studio) 및 설치된 에이전트 감지 기능 제공.
- 긴 스레드가 모델 창을 소진하기 전에 자동 압축 기능을 통해 에이전트별 컨텍스트를 모니터링합니다.
- 일시 정지(pause), 재개(resume), 취소(cancellation) 및 충돌 안전성(crash-safe) 영속성을 갖춘 FIFO 메시지 큐.
- 에이전트 간 메시지, 답글, 반응, 이미지 및 관리형 파일 전송 기능.
- 단일 작업 소유자(task owner)가 참여하는 공유 데스크톱 채널 채팅 기능. 명시적 위임(explicit delegation), 공유 기록, 그리고 중지(Stop), 재개(Resume), 재할당(Reassign), 보관(Archive), 복원(Restore) 제어 기능을 제공합니다.
- 에이전트가 열고, 검사하고, 제어할 수 있는 영구 임베디드 브라우저.
- 릴리스에 포함된
cua-driver 바이너리를 통해 macOS, Windows 및 Linux에서 선택적 컴퓨터 사용 기능을 지원합니다. OpenBot은 이를 자체 자식 프로세스로 시작하여 모든 제공자에게 할당합니다.
- 에이전트별 모델, 추론(reasoning), 프로필, 알림, 브라우저 및 패널 상태 관리.
- 계정 메뉴를 통해 로컬 데이터 및 개인 정보 보호가 안전한 진단 보고서 내보내기 기능.
- 일회용 이메일 코드를 통한 선택적 OpenBot 계정 설정이 가능합니다. 계정 API는 Cloudflare Workers 및 D1에서 실행됩니다.
OpenBot은 오프라인 전용이 아니라 로컬 우선(local-first) 방식입니다. Codex는 OpenAI에 연결하고, Claude는 Anthropic에 연결하며, Grok은 xAI에 연결하고, Gemini는 Google에 연결합니다. Cursor는 Cursor에, Cline은 Cline에 연결하며, 방문한 페이지는 네트워크를 사용하고, 설치된 플러그인은 자체 서비스에 연결할 수 있습니다.
설치 (Install)
OpenBot은 Apple silicon 또는 Intel 기반의 macOS 13 이상, x64 시스템의 Windows 10 이상, 그리고 AppImage 형태의 x64 또는 arm64 Linux를 지원합니다.
macOS
- GitHub Releases에서 최신 OpenBot--arm64.dmg (또는 Intel Mac의 경우 OpenBot--x64.dmg)를 다운로드합니다.
- OpenBot을 응용 프로그램(Applications) 폴더로 드래그하여 열면 됩니다.
Windows
- GitHub Releases에서 최신
OpenBot-*-x64.exe를 다운로드합니다.
- 설치 프로그램을 실행하고 OpenBot을 엽니다.
Linux
- GitHub Releases에서 최신
OpenBot-*-x86_64.AppImage (또는 arm64의 경우 OpenBot-*-arm64.AppImage)를 다운로드합니다.
chmod +x OpenBot-*.AppImage로 실행 권한을 부여한 후, 실행합니다.
AppImage는 libfuse2가 필요하지 않으므로 Arch Linux와 Omarchy에서도 실행됩니다. 이 AppImage는 fuse3 패키지의 fusermount3를 사용하여 자체적으로 마운트됩니다.
Ubuntu 23.10 이상 또는 Debian 13에서는 특권이 없는 사용자 네임스페이스(unprivileged user namespaces)가 AppArmor에 의해 제한되어 있어, 다음 AppArmor 프로파일을 설치하기 전까지 OpenBot이 실행되지 않습니다:
sudo install -m 0644 build/linux/openbot.apparmor /etc/apparmor.d/openbot
sudo systemctl reload apparmor
동일한 파일은 AppImage 내의 resources/linux/openbot.apparmor에 포함되어 있습니다. AppImage를 일반적인 위치 외부에 유지할 경우, 프로파일에서 첨부 경로(attachment path)를 수정해야 합니다. --no-sandbox 옵션으로 OpenBot을 시작하지 마십시오. 이 옵션은 렌더러와 컴퓨터의 나머지 부분 사이의 경계를 제거합니다.
AppImage로 처음 실행하면, OpenBot은 ~/.local/share/applications/openbot.desktop과 ~/.local/share/icons/openbot.png 파일을 작성합니다. 이 파일들이 있어야 openbot:// 링크(초대장 또는 플러그인 목록)가 앱을 열 수 있으며, 앱이 종료된 후에도 런처에 아이콘이 남아 있게 됩니다. 두 파일을 삭제하여 이를 되돌릴 수 있습니다.
리모트 데스크톱은 Xorg나 Xvfb와 같은 X11 세션에서 Linux x64 환경에서 작동합니다. Wayland에서는 작동하지 않으며, arm64 AppImage에는 포함되어 있지 않습니다.
Gemini에 로그인하려면 데스크톱 브라우저와 xdg-utils를 설치해야 합니다. 동일한 호스트 또는 VM의 데스크톱 세션에서 로그인 페이지를 엽니다. Google은 콜백(callback)을 해당 호스트로 127.0.0.1을 통해 전송합니다. 데스크톱이 없는 서버로는 이 로그인을 완료할 수 없습니다. Gemini 설정을 참조하십시오.
화면이 없는 Linux 서버
OpenBot을 VPS 또는 홈 서버(Ubuntu 24.04 또는 26.04 및 systemd 사용)에서 항상 실행되는 계정 서버로 운영하려면, 터미널에서 설치하고 이메일 코드로 로그인하세요:
curl -fsSL https://raw.githubusercontent.com/nightly-labs/openbot/main/scripts/install-server.sh | sudo bash
sudo openbot login
이후 데스크톱 앱, iPhone 앱 또는 openbot.run/app에서 사용하세요. 옵션 및 openbot 명령어는 self-hosted servers를 참조하세요.
Docker
동일한 서버가 컨테이너(linux/amd64 및 linux/arm64)로 실행됩니다. seccomp 프로필은 Electron 샌드박스가 유지되도록 합니다:
curl -fsSLO https://raw.githubusercontent.com/nightly-labs/openbot/main/docker/seccomp.json
docker run -d --name openbot --restart unless-stopped \
--security-opt seccomp=seccomp.json --security-opt no-new-privileges:true \
...
Compose, 데이터 볼륨(data volume), 업그레이드 및 보안 제한 사항은 Docker를 참조하세요. Amazon ECS의 경우 AWS ECS를 참조하세요.
Nix
flake는 x64 또는 arm64 Linux 및 Apple silicon에서 최신 릴리스로 데스크톱 앱을 설치합니다:
nix run github:nightly-labs/openbot
nix profile install github:nightly-labs/openbot
overlays.default는 pkgs.openbot을 추가합니다. OpenBot은 자유 소프트웨어(free software)가 아니므로, nixpkgs에서 이를 허용해야 합니다. 예를 들어 다음과 같이 설정할 수 있습니다: nixpkgs.config.allowUnfreePredicate = pkg: lib.getName pkg == "openbot";. Nix는 OpenBot 업데이트를 설치합니다. OpenBot은 Nix 스토어(Nix store)에서 자체적으로 업데이트되지 않습니다. Linux의 경우, nixpkgs가 필요한 라이브러리를 가지고 있지 않기 때문에 Nix 패키지에는 원격 데스크톱 런타임이 포함되어 있지 않습니다.
[!IMPORTANT]
Windows 릴리스는 SYNTHETIFY LABS SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ에 의해 서명되었습니다. 이전 버전의 릴리스는 코드 서명이 되어 있지 않습니다. SmartScreen은 여전히 새 릴리스에 대해 경고할 수 있습니다. 설치 프로그램을 실행하기 전에 릴리스 체크섬(checksum) 또는 GitHub 빌드 증명서(build attestation)를 확인하세요.
Agent setup
OpenBot은 온보딩, 설정(Settings), 에이전트 설정(agent setup), 또는 모델 선택기(model picker)에서 '다운로드(Download)'를 선택하면 지원되는 제공업체 런타임(provider runtime)을 다운로드할 수 있습니다. OpenBot은 자체 관리형 CLI(Command Line Interface)를 선호합니다. 명시적인 OPENBOT_*_PATH 오버라이드는 우선권을 가지며, 관리형 사본이 없을 경우 호환 가능한 시스템 CLI가 사용됩니다. OpenBot은 시작 시와 매 시간마다 더 새로운 제공업체 CLI 릴리스가 있는지 확인하며, 제공업체의 작업 메뉴(actions menu)에 있는 '업데이트 확인(Check for updates)' 기능은 즉시 확인합니다. 업데이트는 사용자 시스템 CLI를 변경하지 않고 최신 업스트림(upstream) 릴리스를 설치합니다. native-runtime.lock.json에 기록된 버전은 첫 번째 설치 시의 폴백(fallback) 값일 뿐입니다.
또한 사용자가 직접 CLI를 설치할 수도 있습니다.
macOS용 Codex CLI:
curl -fsSL https://chatgpt.com/codex/install.sh | sh
macOS용 Claude CLI:
curl -fsSL https://claude.ai/install.sh | bash
Grok CLI는 Grok Build documentation을 따라 설치한 후, grok login으로 인증하거나 OpenBot을 실행하는 환경 변수에 XAI_API_KEY를 설정해야 합니다.
OpenBot은 Codex, Claude, Grok와 마찬가지로 OpenCode CLI를 다운로드하고 고정(pin)합니다. OpenCode의 무료 모델은 계정이나 로그인 절차가 필요 없습니다. OpenCode를 선택하고 '연결(Connect)'을 클릭하면 OpenBot이 해당 CLI가 광고하는 모델들을 읽어옵니다. 유료인 OpenCode Go 모델을 사용하려면 OpenCode 행에서 '로그인(Sign in)'을 클릭하고 opencode.ai/auth에서 가져온 Go 키를 붙여넣습니다. OpenBot은 이 컴퓨터에 해당 키를 암호화하여 로컬 CLI에만 제공합니다. OpenBot은 OpenCode Go만 지원하며, Go 키로 구매할 수 없는 Zen 모델은 선택기에서 제외해야 합니다. 모델 선택기에 'Free' 레이블이 있는 모델은 로그인이 필요 없습니다. 다른 모델들은 각 제공업체와의 로그인(sign-in)이 필요합니다. 즉, opencode-go/ 모델을 위한 Go 키 또는 OpenCode Zen 및 타사 제공업체를 위해 터미널에서 opencode auth login이 필요합니다. 이 과정 없이는 해당 제공업체의 이름을 명시하는 오류와 함께 턴(turn)이 실패합니다. 만약 사용자가 직접 OpenCode를 설치했다면, OpenBot은 그 설치를 유지하며 다운로드를 제공하지 않습니다.
OPENBOT_OPENCODE_PATH를 설정하여 셸의 검색 경로 밖에 있는 실행 파일을 선택합니다. 원격 OpenCode 에이전트는 Team API v4가 필요하며, 이전 클라이언트는 이 에이전트를 표시하지 않습니다.
Gemini는 Google AI Pro 또는 Ultra 플랜을 사용합니다. OpenBot은 Gemini 행에서 다운로드(Download)를 선택할 때, Google의 라이선스 정책상 포함할 수 없기 때문에 이 컴퓨터에 Google의 Antigravity ACP 서버를 다운로드합니다. 로그인(Sign in)을 하면 브라우저에서 Google의 로그인 페이지가 열립니다. OpenBot은 검색 경로에서 antigravity 명령어를 절대 사용하지 않는데, 이는 Antigravity 에디터가 해당 이름의 명령어를 설치하기 때문입니다. 직접 서버 실행 파일을 선택하려면 OPENBOT_ANTIGRAVITY_PATH를 설정하십시오. 이 파일을 bin/ 폴더에 넣고, 그 위의 폴더에는 version이 포함된 antigravity-package.json 파일을 넣어주세요. 서버 옆에 localharness_external을 유지합니다. 해당 경로가 설정되면 OpenBot은 오직 그것만을 사용합니다. Connect는 호스트의 로컬 Settings > Providers 화면에서 계속 사용할 수 있습니다. 원격 설정으로는 Google 로그인을 수행할 수 없으므로, 호스트에서 브라우저를 사용해야 합니다. 필요한 레이아웃, 보고된 IPv6 다운로드 실패, 그리고 호스트 네트워킹을 변경하지 않는 검사에 대해서는 Gemini setup and download recovery를 참조하십시오.
Cursor는 Cursor 플랜 또는 Cursor API 키를 사용합니다. OpenBot은 More providers의 Cursor 행에서 다운로드(Download)를 선택할 때 Cursor CLI (cursor-agent)를 다운로드하고 고정하며, cursor-agent acp로 시작합니다. 로그인(Sign in)을 하면 브라우저에서 Cursor의 로그인 페이지가 열립니다. 또한 OpenBot을 실행하는 환경에 CURSOR_API_KEY를 설정할 수 있습니다. 만약 사용자가 직접 cursor-agent를 설치했다면, 다운로드가 존재할 때까지 OpenBot은 그것을 사용합니다. OpenBot은 Cursor 에디터를 시작하는 cursor 명령어를 절대 사용하지 않습니다. 직접 실행 파일을 선택하려면 OPENBOT_CURSOR_PATH를 설정하십시오. Cursor 에이전트는 이 컴퓨터에 남아 있으며: 팀원들은 이를 볼 수 없습니다.
Cline은 Cline 계정을 사용하며, 이 계정에는 모델별 제한이 있는 무료 모델들이 있습니다. 무료 모델 제공자는 사용자 프롬프트를 사용하여 모델을 훈련할 수 있습니다. OpenBot은 'More providers'에서 Cline 행의 'Download'를 선택하면 Cline CLI(cline)를 다운로드하고 고정(pin)하며, cline --acp 명령어로 실행합니다. 'Sign in'을 누르면 브라우저에서 Cline의 로그인 페이지가 열립니다. 또한, OpenBot을 실행하는 환경 변수에 CLINE_API_KEY를 설정할 수도 있습니다. 만약 사용자가 직접 cline 3.0.68 이상 버전을 설치했다면, 다운로드가 존재할 때까지 OpenBot은 이를 사용합니다. 자체적으로 실행 파일을 지정하려면 OPENBOT_CLINE_PATH를 설정하십시오. Cline 에이전트는 이 컴퓨터에만 남아 있으며, 팀원들은 접근할 수 없습니다.
Windows에서는 네이티브 CLI를 설치하고 PowerShell에서 codex, claude, 또는 grok가 사용 가능한지 확인해야 합니다. Claude Code는 또한 Git for Windows가 필요합니다. 그런 다음 설치된 CLI를 인증하고 OpenBot을 재시작하십시오.
설치된 릴리스를 사용하는 경우 Bun과 Node.js는 필요하지 않습니다. 선택적 컴퓨터 사용(Optional Computer Use)은 macOS, Windows 및 Linux에서 작동하며, 릴리스에 드라이버가 포함되어 있어 별도로 설치할 것이 없습니다. 오직 macOS만 '화면 녹화(Screen Recording)'와 '접근성(Accessibility)' 권한을 요청합니다.
OpenBot은 기존의 로컬 CLI 로그인을 사용합니다. 제공자 자격 증명(credentials)을 복사하지 않습니다. Grok의 XAI_API_KEY 및 세션별 MCP bearer 토큰은 절대 영구 저장되거나 기록되지 않습니다. 각 제공자의 약관이 로그인에 적용됩니다. Claude 구독 관련 내용은 provider terms를 참조하십시오.
설정 문제, 데이터 초기화(reset), 제거 지침은 Troubleshooting를 참조하십시오. OpenBot의 데이터 및 네트워크 동작 방식은 Privacy에 문서화되어 있습니다.
개발