OpenHands
무엇인가
OpenHands Agent Canvas는 코딩 에이전트와 자동화 작업을 한 인스턴스에서 시작하고 관리하는 셀프호스팅 제어 센터다. OpenHands 저장소군에서 프런트엔드 계층을 담당하며, 에이전트를 실제로 실행하는 런타임은 별도의 Agent Server로 분리되어 있다. 대화 시작, 백엔드 전환, 스케줄·이벤트 기반 자동화 설정이 이 계층에서 이뤄진다.
어떻게 동작하나
동작의 중심은 OpenHands Agent Server다. Agent Server는 한 머신에서 여러 에이전트를 돌리는 REST API 서버이며 호스트와 포트 하나씩을 차지한다. Agent Canvas는 TypeScript 클라이언트로 이 API를 소비하고, 여러 Agent Server에 동시에 연결해 화면에서 백엔드를 바꿔 가며 쓴다. Agent Server API 자체는 SDK가 구현한다. 스케줄이나 이벤트로 에이전트를 깨우는 Automation Server가 함께 붙는 구성에서는 자동화 서비스가 언제 작업을 돌릴지 정해 대화를 Agent Server/SDK로 넘기고, 무엇을 실행할지는 Agent Server가 결정한다.
무엇과 다른가
구조적 차이는 실행 런타임과 제어 화면의 분리에 있다. 에이전트를 각 머신의 터미널 세션에서 개별적으로 띄우는 방식과 달리, 백엔드를 로컬 노트북, Docker 컨테이너, VM, 사내 인프라, OpenHands Cloud·Enterprise 중에서 고르고 같은 프런트엔드에서 전환한다. 팀 공용 Agent Server는 코드 리뷰·의존성 업데이트에, 개인 Agent Server는 로컬 작업에 동시에 연결하는 식의 분리가 가능하다. 에이전트 종류도 OpenHands 자체 에이전트에 묶이지 않고 Claude Code, Codex, Gemini, ACP 호환 에이전트를 쓸 수 있다.
어떻게 쓰나
설치는 세 가지 경로다. `agent-canvas` 명령이 기본적으로 로컬 스택 전체를 띄우며, 필요하면 구성 요소를 나눠 실행할 수 있다. Docker 샌드박스를 쓰려면 에이전트가 접근할 프로젝트 폴더를 담은 호스트 디렉터리를 PROJECTS_PATH로 지정하고 컨테이너를 시작한다. 소스에서 빌드하는 경로도 있다. npm·소스 실행은 http://localhost:8000, Docker 이미지는 http://localhost:8000/canvas에서 UI에 접속하며 추가 백엔드는 UI에서 직접 등록한다. 자동화는 Slack 보고서 발행, GitHub 이슈를 작업 단위로 분해하는 흐름처럼 스케줄·이벤트에 묶어 설정한다.
전제와 한계
전제 조건은 Node.js 22.12.x 이상과 uv이며, 소스 빌드에는 npm이 추가로 필요하다. Docker 샌드박스 경로는 Docker Desktop 또는 Docker Engine과 PROJECTS_PATH 호스트 디렉터리를 요구한다. 샌드박스 없이 실행하면 agent-server가 설치 머신에서 직접 돌아 에이전트가 파일시스템 전체에 접근할 수 있다. 서버에 올려 상시 가동할 때는 SELF_HOSTING.md의 보안 강화 항목을 따라야 한다. Windows는 README.windows.md의 별도 명령을 쓴다.
유사 도구
- lobehub여러 AI 에이전트를 고용·스케줄·보고 단위로 묶어 7×24로 운영하는 셀프호스팅 오케스트레이션 플랫폼이다. 에이전트를 작업 단위로 다룬다.
- orca여러 코딩 에이전트를 각자의 git worktree에서 병렬로 실행하고 한 화면에서 추적·비교·병합하는 데스크톱·모바일 ADE다.
- emdash여러 AI 코딩 에이전트를 Git worktree마다 격리해 병렬 실행하고, diff 검토와 PR 생성·CI 확인·머지를 한 화면에서 처리하는 데스크톱 앱이다.
- atlas에이전트 실행 세션을 로컬에 기록하고 커밋을 그 세션에 연결해, 프롬프트·도구 호출·추론을 체크포인트로 남기고 여러 에이전트가 같은 메모리를 공유하게 하는 Claude Code용 스킬 팩이다.
- nanobot파이썬으로 작성된 초경량 자체 호스팅 개인 AI 에이전트 런타임이다. WebUI·터미널·메신저에서 돌며 도구, 장기 기억, MCP, 예약 자동화를 하나의 코어에 묶는다.
- onyxLLM 애플리케이션 계층으로, RAG·웹 검색·코드 실행·에이전트를 갖춘 셀프호스팅 AI 채팅 플랫폼이다. 50개 이상 커넥터로 사내 데이터를 색인한다.