여러 LLM과 장치에서 에이전트를 하나로 운영·거버넌스하는 프레임워크
Omnigent은 Claude Code, Codex, Pi 등 여러 하니스와 사용자 정의 에이전트를 한 계층에서 교체·조합하고 정책·샌드박스를 적용해 실시간 협업과 관리형 호스트 실행을 지원하는 오픈소스 에이전트 프레임워크다.
TL;DR
Omnigent은 여러 LLM 공급자와 런타임을 하나의 공통 오케스트레이션 계층으로 묶는 오픈소스 에이전트 프레임워크이다. 에이전트는 YAML로 정의되며 하니스(harness) 설정만으로 Claude Code, Codex, Pi, Cursor 등 서로 다른 런타임에서 동일한 에이전트를 실행하거나 조합할 수 있다. 세션은 터미널·웹·모바일 간 실시간 동기화가 가능하며 팀 공유, 포크, 공동 제어를 지원한다. 또한 서버·에이전트·세션 수준의 정책 체인을 적용해 쉘 실행·파일 쓰기·비용 같은 민감한 액션을 차단·허용·승인 대기 처리하고, Modal/Daytona/Islo 같은 관리형 샌드박스에서 세션을 프로비저닝해 격리 실행을 제공한다. 제약은 하니스별로 Node.js·tmux·bwrap 같은 플랫폼 의존성이 존재하고 현재 상태가 'alpha'로 표기되어 있어 안정성·운영성 검증이 추가로 필요하다.
주요 기능
- 여러 하니스(클라우드/로컬)를 동일한 에이전트 YAML로 오케스트레이트한다
- 런타임을 교체해도 에이전트 구현을 다시 작성할 필요 없이 하니스를 스왑한다
- 행동 정책을 세션·에이전트·서버 수준에서 검사해 차단·허용·승인 대기한다
- 세션을 웹·터미널·모바일에 실시간 동기화해 공동 작업과 포크를 지원한다
- Modal/Daytona/Islo 같은 관리형 샌드박스에서 세션을 프로비저닝해 호스트 의존도를 줄인다
어떻게 동작하는가
에이전트는 YAML로 선언되며 각 executor 블록에서 하니스(harness)를 지정해 해당 런타임으로 매핑된다. 서버는 세션 상태를 중앙에서 동기화하고, 정책 체인을 통해 각 에이전트 액션을 검사하며 필요시 샌드박스 호스트를 프로비저닝해 격리 실행을 제공한다.
해결 문제
여러 모델 공급자와 런타임을 사용하는 에이전트들을 하나의 공통 오케스트레이션 계층에서 운용·교체·조합하며, 실행 중 실시간 협업과 정책 기반 거버넌스를 제공하는 문제를 해결한다.
차별점
- 하니스 추상화로 동일한 에이전트 정의(YAML)를 다양한 런타임(claude, codex, pi, cursor 등)에서 재사용하게 한다
- 세션 수준 실시간 동기화 및 포크·공유 기능을 통해 터미널과 웹·모바일 간 무중단 전환을 지원한다
- 정책 스택(서버·에이전트·세션)을 제공해 도구 실행·비용·파일 수정 권한을 세밀하게 통제한다
- 관리형 샌드박스(Modal/Daytona/Islo) 연동으로 로컬 머신 의존도를 낮춘다
사용 사례
- 멀티벤더 코딩 워크플로에서 Claude/Codex/Pi를 한 세션 내에서 조합해 코드 생성→리뷰→병합 파이프라인을 자동화할 때
- 팀이 에이전트가 수행하는 터미널 작업과 파일 변경을 실시간으로 관찰·공동제어해야 할 때
- 프로덕션 전환 전 에이전트의 권한·비용 한도를 정책으로 강제해 안전하게 테스트 환경을 운영할 때
- 노트북 없이 관리형 샌드박스에서 임시 에이전트 세션을 실행해 외부 접근이 필요한 조사·스크래핑 작업을 수행할 때
시작하기
원클릭 설치: curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh 첫 실행(로컬 세션 시작): omnigent 모델·자격증명 설정: omnigent setup
요구사항
- Python 3.12+
- uv (astral uv) CLI
- git
- Node.js 22 LTS+ 및 npm (몇몇 하니스 설치용)
- tmux (일부 네이티브 하니스에서 필요)
- bubblewrap (bwrap) — Linux에서 샌드박스 필수
- Databricks는 선택적 extra 설치(omnigent[databricks])
7.8k
Stars
1.1k
Forks
+208
Trending
8
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.