TRENDSHIFT · 2026.06.16

Omnigent 딥다이브
— "모든 AI 에이전트를 하나로 묶는" 메타-하네스

Omnigent(omnigent-ai/omnigent)는 Claude Code, Codex, Cursor, Pi, 그리고 직접 만든 에이전트까지 제각각인 코딩 에이전트들을 하나의 공통 레이어로 감싸는 "메타-하네스(meta-harness)"다. 코드를 다시 짤 필요 없이 하네스를 갈아끼우거나 섞어 쓰고, 정책(policy)과 샌드박스로 통제하며, 같은 라이브 세션을 폰·브라우저·터미널 어디서든 실시간으로 같이 본다. (저장소: omnigent-ai/omnigent · Apache 2.0 · 상태 alpha · Python 3.12+ · 파이썬 본체 약 23만 줄 + React/TS 웹UI · 개발사 Databricks)

이 문서는 README를 그대로 번역하지 않는다. pyproject.toml·디렉토리 구조·정책 엔진·하네스 어댑터 코드까지 뜯어보며 "여러 에이전트를 통합·감독·협업시키는 플랫폼은 어떻게 설계하는가"를 해부한다.
목차
  1. 프로젝트 한줄 요약
  2. 왜 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석
  5. 디렉토리 구조 해부
  6. 학습 포인트 (기술별)
  7. 하드웨어 / 시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한줄 요약

이 레포가 무엇을 하는 물건인가.

핵심 메시지

"여러 코딩 에이전트를 한 지휘대에서 부린다 —
벤더 갈아끼우기·실시간 협업·정책 통제를 한 번에."

Omnigent는 단일 에이전트가 아니다. Claude Code·Codex·Cursor·Pi 같은 하네스(harness)들을 공통 인터페이스로 감싸, 같은 작업을 어떤 에이전트로도 돌릴 수 있게 하는 오케스트레이션 플랫폼이다. 한 에이전트(오케스트레이터)가 여러 하위 에이전트(sub-agent)에게 일을 나눠 주고, 서로의 결과물을 교차 리뷰하게 만든다.

거기에 세션 동기화(터미널에서 시작 → 폰에서 이어보기), 정책 엔진(위험한 셸 명령 전 승인·비용 상한), 클라우드 샌드박스(Modal·Daytona에서 격리 실행)까지 얹혀 있다.

핵심을 한 문장으로: "에이전트들의 운영체제(OS)"를 표방한다. 개별 에이전트 CLI가 "앱"이라면, Omnigent는 그 앱들을 띄우고·관리하고·서로 통신시키고·권한을 통제하는 바탕 레이어다.

2왜 주목받는가

트렌딩 이유와 경쟁 제품 대비 장점.

① "벤더 록인(lock-in)" 깨기 — 하네스 추상화

지금 코딩 에이전트 시장은 Claude Code, Codex, Cursor, Gemini CLI 등으로 파편화돼 있다. 각자 다른 CLI·설정·세션 포맷을 쓴다. Omnigent는 이들을 하네스라는 공통 추상으로 감싸서, 코드를 다시 짜지 않고 에이전트를 바꿔 끼우거나 섞어 쓸 수 있게 한다. --harness pi 한 줄로 같은 에이전트를 다른 백엔드에서 돌린다.

② 멀티 에이전트 오케스트레이션이 "예제로" 들어있다

레포에 딸린 Polly(코드를 직접 안 짜고 하위 에이전트에 위임하는 테크리드형 오케스트레이터)와 Debby(Claude·GPT 두 머리로 같은 질문에 답하고 토론시키는 브레인스토밍 파트너)가 "멀티 에이전트를 어떻게 설계하는지"를 그대로 보여 준다. 한 벤더가 짠 코드를 다른 벤더 에이전트에게 리뷰시키는 교차 검증 패턴이 핵심이다.

③ 어디서나 같은 세션 — 모바일 퍼스트

터미널에서 시작한 세션을 브라우저·폰에서 이어받는다. 메시지·하위 에이전트·터미널·파일이 전부 동기화된다. omnigent attach로 팀원이 내 머신에서 도는 세션에 합류해 같이 운전(co-drive)하거나, --fork로 대화를 복제해 따로 이어갈 수 있다.

관점단일 에이전트 CLI
(Claude Code 등)
Omnigent
에이전트 교체각자 별도 도구·설정하네스 추상으로 한 줄 교체
멀티 에이전트제한적/수동오케스트레이터+서브에이전트 1급 지원
세션 위치주로 로컬 터미널터미널·웹·폰 실시간 동기화
협업1인 중심공유·co-drive·fork·멀티유저
통제도구별 제각각3계층 정책 엔진(승인·비용·도구 제한)
실행 위치로컬 머신로컬 / 클라우드 샌드박스(Modal·Daytona)
비유

Claude Code, Codex, Cursor가 각각 다른 회사가 만든 전동공구라면, Omnigent는 그 공구들을 전부 꽂을 수 있는 공용 배터리 플랫폼 + 작업장 관리 시스템이다. 공구를 바꿔도 배터리(인터페이스)는 그대로고, 누가 어떤 공구로 무슨 작업을 하는지 한 화면에서 보고, 위험한 작업엔 안전 잠금(정책)을 건다.

3기술 스택 전체 지도

백엔드 · 프론트엔드 · 인프라를 각각 뜯어본다.

백엔드 (Python 3.12+, 약 23만 줄)

본체는 순수 파이썬이다. pyproject.toml의 의존성에서 설계 의도가 드러난다.

라이브러리역할
fastapi / starlette / uvicornHTTP·WebSocket 서버 (세션 스트림, REST API)
claude-agent-sdkClaude Code 하네스 — 기본 설치
openai-agents / openaiOpenAI Agents 하네스, OpenAI 호환 모델 호출
cursor-sdkCursor CLI 하네스 브리지
mcpModel Context Protocol — 외부 도구 연결
sqlalchemy + alembic대화·세션·정책 영속화 + DB 마이그레이션
pydanticAgentSpec(YAML) 검증·타입 모델
cel-expr-python인라인 정책 평가용 CEL(튜링 불완전·부작용 없음·종료 보장)
pexpect / pyte터미널 프로세스 제어 + 가상 터미널 화면 파싱
keyring + tomlkitOS 키체인에 모델 API 키 저장, codex 설정 라운드트립 편집
opentelemetry-*분산 추적/관측(FastAPI·httpx 자동 계측)
PyJWT[crypto] / argon2-cffi인증 토큰·비밀번호 해싱(멀티유저 계정)
psutil + cachetools호스트 데몬 PID 라이브니스 체크, 캐싱

프론트엔드 (ap-web — React 18 + TypeScript + Vite)

ap-web/는 423개 TS 파일의 웹 UI다. 단순 채팅창이 아니라 터미널·코드 에디터·다이어그램까지 품은 풀 IDE급 SPA다.

패키지역할
react 18 + react-router 6SPA 골격·라우팅
@tanstack/react-query서버 상태 동기화(세션·메시지 캐싱)
zustand클라이언트 전역 상태
@xterm/xterm (+webgl/fit)브라우저 안의 진짜 터미널 — 하위 에이전트 화면을 그대로 미러
@monaco-editor/react + shiki코드 에디터·문법 하이라이트
@xyflow/react에이전트/세션 관계 그래프 시각화
ai (Vercel AI SDK) + streamdown스트리밍 마크다운·메시지 렌더
@tiptap/*리치 텍스트 에디터(입력·문서)
motion / radix-ui / antd / @lobehub/ui애니메이션·접근성 컴포넌트·UI 키트
tailwind + shadcn스타일 시스템

거기에 ap-web/electron/으로 macOS 데스크탑 앱(코드사이닝·DMG 빌드 포함)을 같은 UI로 감싼다. 즉 같은 React 앱이 웹·폰·데스크탑 세 형태로 배포된다.

인프라 / 배포

deploy/ 하나에 10가지 배포 타깃이 다 들어 있다: Docker(Caddy 리버스프록시 포함), Render(원클릭), Fly.io, Railway, Kubernetes, Hugging Face Spaces, Modal·Daytona·Islo·CoreWeave 샌드박스. 루트의 render.yaml·railway.toml이 그 증거다. 의존 관리·빌드는 uv(uv.lock, uv.toml), 타입체크는 pyrefly(pyrefly.toml)를 쓴다.

핵심 용어
하네스 (harness)
LLM을 "에이전트답게" 돌리는 실행 껍데기. 도구 호출 루프, 컨텍스트 관리, 터미널 제어를 담당한다. Omnigent는 claude-sdk·codex·cursor·pi·openai-agents 등 여러 하네스를 동일 인터페이스로 추상화한다 — 이게 프로젝트의 심장이다.

4아키텍처 심화 분석

시스템 구조도 + 핵심 설계 패턴.

전체 시스템 구조

┌─────────────────────────────────────────────────────────────┐ │ 클라이언트 (같은 세션을 어디서나) │ │ 터미널(repl) · 웹 UI(ap-web) · 폰 · 데스크탑앱 │ └───────────────┬───────────────────────────────┬─────────────┘ │ WebSocket / REST (session_stream) ▼ ▼ ┌───────────────────────────────────────────────┐ │ server/ (FastAPI) │ │ 인증·계정 · 호스트 레지스트리 · 정책 풀 │ │ 세션 라우팅 · 공유/포크 · 멀티유저(OIDC) │ └───────────────┬───────────────────────────────┘ │ runner 트랜스포트 (로컬 or 원격 호스트) ▼ ┌───────────────────────────────────────────────┐ │ runner/ (한 세션의 두뇌) │ │ tool_dispatch · policy 게이트 · cost_judge │ │ mcp_manager · routing · resource_registry │ └───────────────┬───────────────────────────────┘ │ runtime/executors → harnesses ┌───────────────┴───────────────────────────────┐ ▼ ▼ ▼ ▼ ┌─────────┐ ┌──────────┐ ┌─────────┐ ┌─────────┐ │claude- │ │ codex │ │ cursor │ │ pi │ ← 하네스 │ sdk │ │ (native) │ │ │ │ │ └────┬────┘ └────┬─────┘ └────┬────┘ └────┬────┘ │ 각 에이전트 터미널은 sandbox 안에서 실행 │ ▼ ▼ ┌───────────────────────────────────────────────────────┐ │ sandbox/ seatbelt(macOS) · bwrap(Linux) │ │ 또는 클라우드: Modal · Daytona · Islo · CoreWeave │ └───────────────────────────────────────────────────────┘

설계 패턴 1 — 하네스 어댑터(Adapter) 패턴

runtime/harnesses/runtime/executors/base.py가 핵심이다. 모든 하네스는 동일한 Executor 인터페이스를 구현하고, harness_aliases.py가 사용자가 쓰는 별칭(claude)을 내부 정식 이름(claude-sdk)으로 정규화한다.

# harness_aliases.py — 사용자 표기를 내부 정식 이름으로
HARNESS_ALIASES = {
    "claude": "claude-sdk",
    "native-pi": "pi-native",
    "openai-agents-sdk": "openai-agents",
}
NATIVE_HARNESSES = frozenset({
    "claude-native", "codex-native", "pi-native", ...
})

여기서 중요한 구분이 "native 하네스"다. claude-native/codex-native는 실제 CLI를 진짜 터미널 프로세스에 띄우고 화면을 미러링한다(사람이 UI에서 열어 직접 타이핑·인수인계 가능). 반면 claude-sdk는 SDK를 인-프로세스로 호출한다. 그래서 runner는 native 에이전트에겐 히스토리를 재생하지 않는 등 동작이 달라진다 — 이 미묘한 분기를 코드 주석으로 명시해 둔 점이 인상적이다.

설계 패턴 2 — 3계층 정책 엔진 (Allow / Deny / Ask)

policies/는 에이전트의 모든 행동(셸 실행·파일 쓰기·토큰 소비)을 가로채 ALLOW · DENY · ASK 셋 중 하나로 판정한다. 정책은 세 계층에서 쌓이며, 더 엄격한 세션 정책이 먼저 평가돼 단락(short-circuit)된다.

평가 순서: 세션(end user) ─▶ 에이전트 스펙(developer) ─▶ 서버(admin) ↑ 먼저·가장 엄격 ↑ 나중 어느 한 곳에서 DENY → 즉시 차단(나머지 평가 생략) ASK → 사용자 승인 대기 → 승인=ALLOW / 거부=DENY
# 에이전트 YAML에 정책 선언 (builtins)
policies:
  approve_shell:
    handler: omnigent.policies.builtins.safety.ask_on_os_tools
  budget:
    handler: omnigent.policies.builtins.cost.cost_budget
    factory_params:
      max_cost_usd: 5.00          # 하드 상한
      ask_thresholds_usd: [3.00]  # 소프트 경고

정책은 함수형(function.py)과 CEL 식(cel-expr-python) 두 방식을 지원한다. CEL을 고른 이유가 명확하다 — 튜링 불완전·부작용 없음·종료 보장이라, 신뢰할 수 없는 정책 문자열을 안전하게 평가할 수 있다.

설계 패턴 3 — 선언형 AgentSpec (YAML)

에이전트는 코드가 아니라 짧은 YAML 한 장이다(spec/의 파서·검증기). 프롬프트·실행 하네스·도구·하위 에이전트를 선언만 하면 된다. 파이썬 함수는 시그니처에서 스키마를 자동 생성한다.

name: my_agent
prompt: You are a helpful data analyst.
executor:
  harness: claude-sdk
tools:
  word_count:
    type: function
    callable: mypackage.mymodule.word_count
  researcher:            # 슈퍼바이저가 위임할 수 있는 서브에이전트
    type: agent
    prompt: Search and summarize.
    tools: { word_count: inherit }

설계 패턴 4 — 멀티 에이전트 오케스트레이션 (Polly)

예제 Polly의 YAML이 패턴의 정수다. 오케스트레이터는 코드를 직접 안 짜고(spawn: true로 자식 세션 생성), 모든 코딩을 claude_code/codex/pi 서브에이전트에 위임한 뒤, 다른 벤더의 리뷰어에게 교차 검증시킨다. 각 구현자는 자기 PR을 열고, 머지는 사람이 한다.

배울 점
"두뇌와 손발의 분리"

Polly는 컨텍스트 윈도우 100만(opus)인 "두뇌"가 계획·위임·종합만 하고, 무거운 구현은 값싼 서브에이전트로 fan-out한다. 비용을 아끼면서 품질은 교차 리뷰로 지키는 — 이 프로젝트 폴더 CLAUDE.md의 conduct 스킬과 같은 철학이다.

5디렉토리 구조 해부

어디에 무엇이 있는지 큰 지도부터.

omnigent/ ← 저장소 루트 ├── omnigent/ ← 파이썬 본체 (약 23만 줄) │ ├── cli.py 핵심 CLI 진입점 (omnigent / omni 명령) │ ├── chat.py · repl/ 터미널 채팅 인터페이스 │ ├── spec/ AgentSpec — YAML 파서·검증기·타입 │ ├── runner/ 한 세션의 실행기 │ │ ├── tool_dispatch.py 도구 호출 라우팅 │ │ ├── policy.py 정책 게이트 │ │ ├── cost_judge.py 비용 판정/조언 │ │ └── mcp_manager.py MCP 서버 연결 관리 │ ├── runtime/ │ │ ├── harnesses/ 하네스 실행·프로세스 매니저 │ │ ├── executors/ Executor 추상 인터페이스 │ │ ├── compaction.py 컨텍스트 압축 │ │ └── credentials/ 모델 자격증명 해석 │ ├── policies/ 정책 엔진 │ │ └── builtins/ safety·cost·github·google·working_dir │ ├── sandbox/ seatbelt(macOS)·bwrap(Linux) OS 샌드박스 │ ├── server/ FastAPI 서버 (인증·호스트·멀티유저·OIDC) │ │ └── routes/ REST 엔드포인트 │ ├── stores/ 영속화 (대화·에이전트·정책·파일·권한) │ ├── llms/ LLM 클라이언트·라우팅·요약 │ ├── host/ 호스트 데몬(머신 등록) │ ├── claude_native*.py Claude CLI 네이티브 브리지 (10여 파일) │ ├── codex_native*.py Codex CLI 네이티브 브리지 │ └── pi_native*.py Pi 네이티브 브리지 ├── ap-web/ ← React 18 + TS 웹 UI (423 TS 파일) │ ├── src/ 컴포넌트·페이지·훅·스토어 │ └── electron/ macOS 데스크탑 앱 래퍼 ├── examples/ │ ├── polly/ 멀티에이전트 코딩 오케스트레이터 │ └── debby/ Claude+GPT 듀얼헤드 브레인스토머 ├── deploy/ docker·render·fly·railway·k8s·modal·daytona... ├── sdks/ python-client · ui SDK ├── docs/ AGENT_YAML_SPEC · POLICIES · 설계문서 └── pyproject.toml · uv.lock · openapi.json · railway.toml
읽는 순서 팁
처음 코드를 열 때
examples/polly/config.yaml로 "에이전트가 어떻게 선언되는가"를 먼저 본다 → ② spec/AGENTSPEC.md로 스키마 이해 → ③ docs/POLICIES.md로 통제 모델 → ④ runner/로 실제 실행 루프 순으로 파면 전체 그림이 잡힌다.

6학습 포인트 (기술별)

이 레포에서 구체적으로 무엇을 배울 수 있나.

① 어댑터/추상화 설계

서로 다른 외부 도구(Claude·Codex·Cursor·Pi)를 하나의 인터페이스로 묶는 법. executors/base.py의 추상 메서드와 각 하네스 구현을 비교하며 "공통점을 어떻게 인터페이스로 뽑아내는가"를 배운다.

실습 아이디어: 가상의 "echo 하네스"(입력을 그대로 돌려주는)를 Executor 인터페이스에 맞춰 구현해 보고, --harness echo로 띄워 본다.

② 정책 엔진 / 권한 모델

AI 에이전트의 "행동 게이트"를 어떻게 설계하나. ALLOW/DENY/ASK 3-verdict, 다계층 평가, CEL로 안전한 식 평가 — 이건 그대로 다른 자동화 시스템(CI 봇, 운영 자동화)에 응용 가능하다.

실습 아이디어: "특정 디렉토리 밖 파일 쓰기 금지" 정책을 builtins.working_dir를 참고해 직접 작성한다.

③ 터미널 미러링 (pexpect + pyte)

CLI 프로세스를 띄우고 그 화면을 브라우저 xterm.js로 실시간 미러링하는 기술. pexpect로 프로세스 제어, pyte로 가상 터미널 화면 버퍼를 파싱한다. "원격 터미널 공유"의 실전 구현이다.

④ OS 샌드박싱

macOS seatbelt와 Linux bwrap(bubblewrap)로 에이전트 터미널을 격리하는 법. 신뢰할 수 없는 코드를 돌릴 때 파일·네트워크 접근을 제한하는 실전 보안 패턴.

⑤ FastAPI 실시간 서버 + WebSocket 스트림

세션 스트림을 WebSocket으로 다중 클라이언트에 브로드캐스트하고, 멀티유저 인증(JWT·argon2·OIDC), 호스트 레지스트리(원격 머신 등록)를 붙이는 풀스택 서버 설계.

⑥ React로 IDE급 SPA 만들기

xterm(터미널)·Monaco(에디터)·React Flow(그래프)·streamdown(스트리밍 마크다운)을 한 앱에 통합하고, 같은 코드를 웹·Electron 데스크탑으로 동시 배포하는 프론트엔드 아키텍처.

7하드웨어 / 시스템 요구사항

돌리려면 무엇이 필요한가.

항목요구사항
Python3.12 이상 (3.13 지원)
패키지 매니저uv (필수) — 설치 스크립트가 잡아줌
git필수
Node.js22 LTS+ 와 npm — Claude/Codex/Pi 코딩 하네스용
tmux네이티브 omnigent claude/codex 래퍼에 필요
bubblewrap (bwrap)Linux 전용·필수 — 네이티브 터미널 OS 샌드박스. 없으면 해당 터미널 안 뜸 (macOS는 내장 seatbelt 사용, 추가 불필요)
모델 자격증명API 키(Anthropic·OpenAI) 또는 Claude/ChatGPT 구독, 또는 OpenRouter/Ollama/vLLM 등 게이트웨이
데스크탑 앱macOS (다운로드 제공)
서버 배포docker compose up 한 번 / Render·Fly·Railway·HF Spaces·Modal 지원
설치 한 줄

curl -fsSL .../install_oss.sh | sh 한 줄이면 omnigent와 필요한 도구를 다 깔아준다. 또는 uv tool install omnigent / brew install omnigent-ai/tap/omnigent. 설치 후 omnigent 하나만 치면 모델 고르기 + 세션 시작 + localhost:6767 웹UI가 한 번에 뜬다.

8직접 해볼 수 있는 실습 과제

난이도별로 손을 더럽혀 보자.

초급 · ★☆☆

첫 에이전트 띄우고 폰에서 이어보기

omnigent로 세션 시작 → 같은 와이파이의 폰에서 http://192.168.x.x:6767 접속 → 터미널에서 보낸 메시지가 폰에 실시간으로 뜨는지 확인. "세션 동기화"를 몸으로 체감하는 과제.

초급 · ★☆☆

나만의 에이전트 YAML 작성

섹션 4의 예제를 베껴 my_agent.yaml을 만들고, 파이썬 함수 도구 하나(예: word_count)를 붙여 omnigent run my_agent.yaml으로 실행. 함수 시그니처에서 스키마가 자동 생성되는 걸 확인.

중급 · ★★☆

정책 직접 만들기 — "셸 명령 전 승인"

채팅에서 "셸 명령 실행 전에 나한테 물어봐"라고 시켜 정책을 켜보고, 그다음 builtins/safety.py를 읽고 같은 효과의 정책을 YAML에 직접 선언해 본다. 비용 상한(cost_budget)도 걸어 ASK 트리거를 확인.

중급 · ★★☆

하네스 교체 실험

같은 Polly 에이전트를 --harness pi, --harness cursor로 번갈아 띄워 본다(필요 자격증명 준비). "코드를 안 바꾸고 백엔드만 교체"되는 추상화의 위력을 직접 느낀다.

고급 · ★★★

멀티에이전트 교차리뷰 파이프라인 재현

Polly를 돌려 한 작업을 Claude Code 서브에이전트가 구현 → Codex 리뷰어가 다른 벤더로 검증 → 각자 PR 생성까지 추적한다. examples/polly/config.yaml을 수정해 리뷰어 벤더를 바꿔 보고, fan-out 동작을 관찰.

고급 · ★★★

클라우드 샌드박스에 배포

deploy/docker로 자체 호스트를 띄우거나(docker compose up), Modal/Daytona 샌드박스에 세션을 던져 "노트북 꺼도 도는" 매니지드 호스트를 구성한다.

9관련 기술 심화 학습 로드맵

주차별로 차근차근.

주차주제구체적 학습 내용
1주차에이전트 기초LLM 도구 호출 루프, 하네스 개념, MCP(Model Context Protocol) 기초. Omnigent spec/AGENTSPEC.md 정독
2주차멀티에이전트 패턴오케스트레이터-서브에이전트, 위임(delegation), 교차벤더 리뷰. Polly/Debby YAML 분석
3주차정책·권한 엔진ALLOW/DENY/ASK 모델, CEL 식 평가, 다계층 정책 합성. policies/ 코드 + POLICIES.md
4주차프로세스·터미널 제어pexpect로 CLI 제어, pyte로 화면 파싱, xterm.js 미러링. 원격 터미널 공유 구현
5주차OS 샌드박싱·보안seatbelt(macOS)·bwrap(Linux) 격리, 신뢰 경계 설계, 비밀키 키체인 저장
6주차실시간 풀스택FastAPI + WebSocket 세션 스트림, react-query 동기화, 멀티유저 인증(JWT/OIDC)
7주차배포·관측Docker/Render/Modal 배포, uv 의존관리, OpenTelemetry 분산 추적, 비용 추적

10핵심 키워드 사전

자주 나오는 용어 정리.

용어
메타-하네스 (meta-harness)
여러 에이전트 하네스 위에 얹는 공통 레이어. Omnigent의 정체성 그 자체 — "하네스들의 하네스".
용어
하네스 (harness)
LLM을 에이전트로 돌리는 실행 껍데기(도구 루프·컨텍스트·터미널 제어). claude-sdk·codex·cursor·pi 등.
용어
native 하네스
실제 CLI를 진짜 터미널 프로세스로 띄워 화면을 미러링하는 방식(claude-native 등). 사람이 직접 열어 타이핑·인수인계 가능. SDK 인-프로세스 방식과 구분된다.
용어
서브에이전트 (sub-agent)
슈퍼바이저(오케스트레이터)가 일을 위임하는 하위 에이전트. AgentSpec에서 type: agent로 선언.
용어
정책 (policy)
에이전트 행동을 가로채 ALLOW/DENY/ASK로 판정하는 선언형 게이트. 서버·에이전트·세션 3계층으로 쌓인다.
용어
CEL (Common Expression Language)
구글이 만든 튜링 불완전·부작용 없는·종료 보장 표현식 언어. Omnigent는 인라인 정책을 안전하게 평가하는 데 쓴다.
용어
MCP (Model Context Protocol)
에이전트가 외부 도구/데이터에 접근하는 표준 프로토콜. mcp_manager.py가 연결을 관리.
용어
매니지드 호스트 (managed host)
서버가 세션마다 클라우드 샌드박스(Modal·Daytona·Islo)를 자동 띄워 주는 방식. 로컬 머신이 켜져 있을 필요 없음.
용어
co-drive / fork
co-drive: 팀원이 내 세션에 합류해 내 머신에서 명령 실행. fork: 대화를 복제해 따로 이어가기.
용어
uv
Rust로 만든 초고속 파이썬 패키지/프로젝트 매니저(Astral). Omnigent의 빌드·의존 관리 표준.

11참고 링크

더 깊이 파고들 자료.

공식

· 저장소: github.com/omnigent-ai/omnigent

· 공식 사이트: omnigent.ai (macOS 데스크탑 앱 다운로드 포함)

· Agent YAML 스펙: docs/AGENT_YAML_SPEC.md · 정책 가이드: docs/POLICIES.md

· 배포 가이드: deploy/README.md

관련 기술 학습

· Model Context Protocol: modelcontextprotocol.io

· uv (Astral): docs.astral.sh/uv

· CEL: github.com/google/cel-spec

· Bubblewrap(샌드박스): github.com/containers/bubblewrap

· xterm.js: xtermjs.org · React Flow: reactflow.dev