<div align="center">
<img src="https://raw.githubusercontent.com/compozy/compozy/HEAD/packages/site/public/icon-512.png" alt="CompozyOS" width="96" height="96"><br>
<h1>CompozyOS</h1>
<p><strong>에이전트 주변 시스템, 이미 구축되었습니다.</strong></p>
<p>AI 에이전트를 위한 운영체제입니다.</p>
<p>
<a href="https://github.com/compozy/compozy/actions/workflows/ci.yml">
<img src="https://github.com/compozy/compozy/actions/workflows/ci.yml/badge.svg" alt="CI">
</a>
<a href="https://github.com/compozy/compozy/releases">
<img src="https://img.shields.io/github/v/release/compozy/compozy?include_prereleases" alt="Release">
</a>
<a href="https://goreportcard.com/report/github.com/compozy/compozy">
<img src="https://goreportcard.com/badge/github.com/compozy/compozy" alt="Go Report Card">
</a>
<a href="https://pkg.go.dev/github.com/compozy/compozy">
<img src="https://pkg.go.dev/badge/github.com/compozy/compozy.svg" alt="Go Reference">
</a>
<a href="LICENSE">
<img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT">
</a>
</p>
</div>
누구나 에이전트에게 프롬프트를 줄 수 있습니다. 하지만 에이전트가 지속적으로 작동하도록 만드는 것은 여전히 엔지니어링 프로젝트입니다. 루프, 트리거, cron, 권한(permissions), 승인(approvals), 관찰 가능성(observability) 그리고 이들을 하나로 묶는 접착 스크립트들이 필요합니다. CompozyOS는 이러한 전체 에이전트 스택을 하나의 제품으로 만듭니다. 즉, 사용자가 이미 사용하는 에이전트 CLI (Claude Code, OpenClaw, Hermes)와 함께 에이전트 작업을 생성하고 자동화하며 감독할 수 있는 완벽한 환경입니다. 개발자와 기술 운영자(technical operators)를 위해 먼저 구축되었습니다.
[!WARNING]
v0.3 라인은 베타 버전입니다. 이전 제품인 v0.2.15는 사용 중단되었으며, legacy/v0.2에서 치명적인 수정 사항에 대해서만 유지 관리됩니다. 기존 v0.2 설치를 교체하기 전에 마이그레이션 가이드로 시작하십시오.
<div align="center">
<img src="https://raw.githubusercontent.com/compozy/compozy/HEAD/imgs/screenshot.png" alt="CompozyOS 웹 셸" width="100%">
</div>
✨ 주요 특징 (Highlights)
- 생성(Create). 세션(Sessions), 에이전트(agents), 루프(Loops), 및 기능(capabilities)은 실행할 때마다 다시 작성하는 스크립트가 아니라, 한 번 작성하여 재사용하는 객체입니다.
- 자동화(Automate). 크론 스케줄(Cron schedules), 웹훅(webhooks), 트리거(triggers)를 통해 터미널을 열어두지 않아도 작업이 계속 실행됩니다.
- 감독(Supervise). 승인(Approvals), 권한(permissions), 실행 상태(run state), 아티팩트(artifacts), 에이전트 활동(agent activity)은 백그라운드에서 작업이 진행되는 동안에도 검사할 수 있습니다.
- 터미널 종료와 무관하게 작동. 세션과 루프 실행은 데몬(daemon)에 속하므로, 클라이언트 하나를 닫는다고 해서 작업 내용이 지워지지 않습니다.
- 기존 에이전트 사용 가능. ACP 호환 CLI (Claude Code, OpenClaw, Hermes)가 동일한 데몬 소유 상태를 운영합니다.
- 배터리 포함(Batteries included). 하나의 런타임과 하나의 상태 모델을 가집니다. 루프와 승인은 플러그인이 아니라 핵심 객체이며, 웹, CLI, HTTP/SSE, UDS, MCP 및 네이티브 도구에서 접근할 수 있습니다.
- 기본적으로 로컬 우선(Local-first by default). 단일 Go 바이너리와 SQLite 기반 저장소는 설정된 프로바이더나 확장이 외부 경계를 소유하지 않는 한 런타임 상태를 운영자(operator)의 기기에 유지합니다.
- 원격 접근은 명시적 유지. Gateway는 장치들을 페어링하고, 운영자가 활성화한 사설 또는 공개 표면만을 노출합니다.
- 확장을 위해 구축됨(Built to extend). 에이전트, 스킬(skills), 기능, 훅(hooks), 및 확장 키트는 명시적인 런타임 계약에 플러그인됩니다.
📦 설치 (Installation)
v0.3 베타 버전은 아래 채널을 통해 배포됩니다. Homebrew는 베타 기간 동안 사용 중단된 v0.2 라인을 계속 제공하며, 여기서는 의도적으로 생략되었습니다. compozy 포뮬러는 v0.3.0 안정 버전으로 반환됩니다.
검증된 설치 프로그램 (Verified installer)
이 설치 프로그램은 최신 게시된 베타 버전을 고정하고 macOS 또는 Linux에 바이너리를 설치하기 전에 Sigstore 출처를 검증합니다.
curl -fsSL https://compozy.com/install.sh | sh
NPM
npm install -g @compozy/cli@beta
Go
Go의 @latest는 여전히 v0.2 안정화 라인을 해결하지만, v0.3은 베타 버전이므로 최신 릴리스에 표시된 명시적 태그로 설치하세요:
go install github.com/compozy/compozy@<release-tag>
소스에서 빌드하기 (From Source)
git clone https://github.com/compozy/compozy.git
cd compozy
go build -o ./bin/compozy .
설치 가이드에는 설치 프로그램 플래그, Linux 패키지, 소스 빌드, 검증 및 관리형 업데이트에 대한 내용이 포함되어 있습니다.
🔄 작동 방식 (How It Works)
<div align="center">
<img src="https://raw.githubusercontent.com/compozy/compozy/HEAD/imgs/how-it-works-flow.png" alt="CompozyOS 제어 표면, 데몬, 런타임 리소스, 상태 및 확장 경계" width="100%">
</div>
사람과 에이전트는 공개 제어 표면(public control surfaces)을 통해 명령을 보냅니다. 홈 스코프(home-scoped)의 데몬은 작업 공간을 해결하고, 권한 및 런타임 정책을 적용하며, ACP 에이전트를 조정하고, 이벤트와 리소스 상태를 영속화합니다. 웹 및 스트리밍 클라이언트는 병렬 모델을 유지하는 대신 이 동일한 데몬 소유의 진실(daemon-owned truth)을 읽습니다.
데몬 런타임 모델 (Daemon Runtime Model)
compozy daemon start, compozy status, 그리고 compozy daemon stop은 로컬 데몬을 관리합니다. 세션, 작업(tasks), 루프 실행(Loop runs), 자동화 및 도구들은 명시적인 소유자(owners)와 작업 공간 경계(workspace boundaries)를 유지합니다. 다른 에이전트나 프로그램이 동일한 리소스를 관리해야 할 때는 구조화된 CLI 출력(-o json), HTTP/SSE, UDS, MCP 또는 네이티브 도구를 사용하세요.
Task Schema v2
작성된 작업 파일(task files)은 타입 지정 프런트매터(typed frontmatter)가 있는 이식 가능한 Markdown 형식으로 유지됩니다. v0.3 런타임은 이를 영구적인 작업(durable tasks)으로 가져와 루프를 통해 실행하며, v0.2의 tasks run 파이프라인을 부활시키지 않습니다. 정확한 스키마 및 명령어 변경 사항은 v0.2.15에서 마이그레이션하기를 참조하세요.
⚙️ 설정 파일 (Config Files)
전역 기본 설정은 ~/.compozy/config.toml에 저장되며, 워크스페이스는 .compozy/config.toml을 통해 지원되는 필드를 재정의할 수 있습니다. 명시적인 명령어 플래그가 워크스페이스 설정을 덮어쓰고, 이는 전역 설정 및 내장 기본값보다 우선합니다.
compozy config path
compozy config validate
compozy config show -o json
설정(Configuration), 자격 증명(credentials), 그리고 프로바이더-홈 정책(provider-home policies)은 각각 다른 소유자가 있습니다. v0.2 상태를 v0.3 홈에 복사하는 대신 구성 가이드를 따르십시오.
재사용 가능한 에이전트 (Reusable Agents)
에이전트 정의는 ~/.compozy/agents/<name>/ 또는 .compozy/agents/<name>/ 아래에 위치합니다. 각 정의에는 AGENT.md가 있으며, 에이전트 로컬의 mcp.json을 포함할 수 있습니다. 워크스페이스 정의는 전체적으로 전역 정의를 덮어씁니다.
compozy agent list -o json
compozy agent info general -o json
compozy session new --agent general
🔌 확장 기능 (Extensions)
확장 기능은 선언된 프로바이드 표면(provide surfaces)을 통해 버전이 지정된 리소스와 런타임 동작을 추가합니다. 데몬(daemon)이 검색, 활성화, 신뢰 결정, 생명 주기 및 후크를 소유하며, 확장 기능은 공개 런타임 계약(public runtime contracts)을 우회하지 않습니다.
세 가지 명령어로 빌드하기
compozy extension init hello --template tool-provider-go
compozy extension dev hello
compozy tool invoke ext__hello__search --workspace . --input '{"query":"compozy"}'
실행 가능한 확장 기능(Executable extensions)은 코드 우선 방식입니다. 코드로 도구를 한 번 선언하면 compozy extension build가 매니페스트를 생성합니다. 리소스 전용 확장 기능(Resource-only extensions)의 경우 대신 extension.toml을 직접 작성하고, 확장 기능을 실행하는 과정 없이 동일한 빌드(build), 개발(dev), 재로드(reload), 및 워치 루프(watch loop)를 사용할 수 있습니다. 따라 하기: 첫 번째 확장 기능 빌드하기.
SDK 지원
@compozy/extension-sdk (npm, MIT)와 github.com/compozy/compozy/sdk/go가 게시되고 데몬에 맞춰 버전이 지정됩니다.
확장 기능 CLI
compozy extension list -o json
compozy extension status <name> -o json
compozy extension provenance <name> -o json
...
더 알아보기 (Learn more)
🚀 빠른 시작 (Quick Start)
홈을 부트스트랩하고, 데몬(daemon)을 시작하며, 에이전트가 작업할 저장소로 진입한 다음, 지속 가능한 세션을 하나 생성합니다. CompozyOS는 현재 디렉터리에서 워크스페이스를 추론하여 등록하므로, --workspace <id|name|path>는 오버라이드가 필요할 때만 사용하십시오.
compozy install
compozy daemon start
compozy session new --agent general --name first-run
빠른 시작 (Quick Start)에서는 첫 번째 프롬프트, 라이브 첨부(live attachment), 검사(inspection), 정리(cleanup) 과정을 안내합니다.
🧩 스킬 (Skills)
스킬은 명시적인 출처와 범위를 가진 데몬이 발견하는 리소스입니다. v0.2 설정 디렉터리를 단순히 복사하여 전달하기보다는, 구조화된 스킬 및 마켓플레이스 인터페이스를 사용하여 현재 활성화된 것을 검사하십시오.
compozy skill list -o json
compozy skill inspect <name> -o json
compozy marketplace search --kind skill --query <term> -o json
🧠 워크플로우 메모리 (Workflow Memory)
워크플로우 메모리는 .compozy/tasks/<name>/memory/ 아래의 일반 저장소 파일이며, spec-cycle 스킬에 의해 작성되고 읽힙니다. v0.2 워크플로우 메모리 파일은 여전히 저장소 아티팩트(repository artifacts)로 남아 있으며, 숨겨진 런타임 상태(hidden runtime state)로 가져와지지 않습니다.
🤖 지원되는 에이전트 (Supported Agents)
CompozyOS는 ACP-호환 에이전트 CLI 및 어댑터를 실행합니다. 활성 제공자 카탈로그(provider catalog)와 각 에이전트의 런타임 설정은 런타임 진실(runtime truth)입니다. 모델이나 추론 모드를 선택하기 전에 이를 검사하십시오. 인증 및 제공자 홈 정책에 대해서는 제공자 가이드 (provider guide)를 참조하십시오.
📖 CLI 참고 자료
생성된 CLI 참고 자료는 동사(verbs), 플래그(flags), 구조화된 출력(structured output), 그리고 종료 동작(exit behavior)에 대한 권위적인 정보원입니다. 다음 명령어로 시작하세요:
compozy --help
compozy version
compozy doctor -o json
문서
🛠️ 개발
CompozyOS는 Go와 Bun으로 작성된 모노레포(monorepo)입니다. 자동 Go 리빌드 및 Vite HMR을 사용하여 데몬(daemon)과 웹 UI를 시작하세요:
Northstar Pay 데모를 채우고 그 데몬이 백그라운드에서 실행되도록 하려면 다음 명령어를 사용합니다:
make demo-seed
make demo-seed DEMO_HOME="$HOME/.compozy-demo-other" DEMO_PORT=2125
이 명령어는 데몬과 웹 번들(Web bundle)을 빌드하고, 시드 소유 시나리오를 대체하며, 기본적으로 ~/.compozy-demo를 사용하여 http://localhost:2124에서 데모를 시작합니다. 메인 인스턴스는 변경되지 않습니다. 실행 중인 데모를 다시 시딩(reseed)하려면 먼저 COMPOZY_HOME="$HOME/.compozy-demo" ./bin/compozy daemon stop으로 그 데몬을 중지하세요 (사용자 지정 홈이 재정의된 경우 사용). 데이터 전용 시딩을 위해서는 원본 명령어인 go run ./scripts/demo-seed --home <path>가 계속 사용할 수 있습니다. ~/.agh에 있는 기존 데모는 여전히 DEMO_HOME으로 명시적으로 선택할 수 있습니다.
Electron 데스크톱 쉘에서 동일한 데모를 준비하고 열려면:
make demo-seed-desktop
make demo-seed-desktop DEMO_HOME="$HOME/.compozy-demo-other" DEMO_PORT=2125
데스크톱 쉘은 런타임 연결과 Electron 프로필에 데모 홈을 사용합니다. Electron을 종료해도 데모 데몬은 백그라운드에서 계속 실행됩니다. demo-seed와 마찬가지로, 재시딩하기 전에 이미 실행 중인 데모를 중지해야 합니다.
커밋하거나 푸시하기 전에 영향을 받는 로컬 게이트를 실행하세요:
전달(Delivery)은 초안 PR에서 완료됩니다: 현재 헤드에서 모든 필수 CI 체크가 통과되기를 기다리세요.
편집하기 전에 AGENTS.md와 표면별 지침을 읽어보세요.
Star History
<a href="https://www.star-history.com/?repos=compozy%2Fcompozy&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=compozy/compozy&type=date&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=compozy/compozy&type=date&legend=top-left" />
<img alt="Star History Chart" src="https://api.star-history.com/chart?repos=compozy/compozy&type=date&legend=top-left" />
</picture>
</a>
🤝 Contributing