
onecli v2.0.1
오픈소스 샌드박스형 에이전트 하네스로 팀을 위한 도구입니다. 모든 직원에게 보안된 개인 에이전트를 제공합니다.
팀을 위해 만들어진 에이전트 하네스.
기업을 위한 프로 어시스턴트. 모든 직원에게 안전하고 샌드박스 처리된 개인 에이전트를 제공하세요.
빠른 시작
클라우드 호스팅: onecli.sh
자체 호스팅
git clone https://github.com/onecli/onecli.git && cd onecli
pnpm install
pnpm run setup
OneCLI v2란 무엇인가요?
OneCLI는 AI 에이전트를 팀 단위로 실행하기 위한 오픈소스 플랫폼입니다. 사람마다 에이전트를 만들고, 각 에이전트에 필요한 접근 권한을 부여하면, 에이전트는 샌드박스에서 작업하며 자격 증명을 주입하고 정책을 적용하는 게이트웨이를 통해 라우팅됩니다.
OneCLI를 만든 이유는 무엇인가요?
OneCLI는 Rust로 구축된 AI 에이전트용 자격 증명 볼트에서 시작되었습니다. 대부분의 수요가 Hermes, OpenClaw, NanoClaw 같은 자율 에이전트를 실행하는 개인과 팀에서 발생한다는 것을 발견했습니다. 사람들은 자신을 위해 실제 작업을 수행하는 에이전트를 원했지만, 두 가지가 빠져 있었습니다:
- 비밀과 권한 관리.
- 그리고 팀을 위한 멀티플레이어 관리.
시중의 모든 자율 에이전트는 한 사람을 위해 만들어졌습니다. 그리고 한 사람에게는 훌륭합니다. 이를 팀 전체로 확장해야 하는 순간, 상황이 복잡해집니다: 각 에이전트를 실행하고, 각각이 할 수 있는 것과 할 수 없는 것을 결정하고, 호스팅하고, 누구의 에이전트가 누구 것인지 추적해야 합니다.
그래서 우리는 방향을 전환하여 OneCLI v2를 구축했습니다.
팀을 위해 설계됨
- 사용자의 ID 공급자 통합: 회사 IdP에서 직접 각 직원의 신원을 대신해 에이전트를 프로비저닝합니다.
- 사람마다 에이전트 하나: 워크스페이스의 모든 사람은 대시보드나 Slack에서 접근할 수 있는 자신만의 샌드박스 에이전트를 받습니다.
- 어디서나 적용되는 단일 정책: 팀 정책을 한 곳에서 관리하면 워크스페이스의 모든 에이전트에 적용됩니다.
- 결정적 인간 개입 승인: 이메일 전송, Linear 티켓 삭제, S3 버킷 비우기처럼 100% 통제가 필요한 작업은 채팅 자체에서 승인합니다.
- 글로벌 연결: LLM 키나 서비스 계정처럼 팀 수준에서 공유되며, 에이전트에 직접 전달되지 않고 에이전트별로 부여됩니다.
에이전트
에이전트는 단일 프롬프트가 아니라 지속적인 존재입니다. 다음과 같은 요소를 갖습니다:
- 컴퓨터: 파일 시스템과 셸을 갖춘 자체 격리 샌드박스. 외부로 나가는 유일한 경로는 게이트웨이뿐이므로, 부여된 것에만 접근할 수 있고 그 외에는 아무것도 닿을 수 없습니다.
- 대화: 대시보드 또는 Slack의 자체 페이지. 이미지와 파일 포함. 에이전트가 작업 중일 때 보낸 메시지는 대기열에 쌓이지 않고 즉시 에이전트를 리디렉션합니다.
- 메모리: 에이전트가 학습한 내용은 플랫폼에 보관되어 절대 손실되지 않습니다. 언제든지 읽고 편집할 수 있습니다.
- 스킬: 한 번 작성하면 에이전트가 항상 사용할 수 있는 지침과 헬퍼.
- 일정: 에이전트가 향후 작업을 계획할 수 있으며, 플랫폼이 적절한 시기에 에이전트를 깨웁니다.
- 에이전트가 절대 볼 수 없는 자격 증명: 각 에이전트는 부여된 접근 권한만 받으며, 게이트웨이는 모든 요청에 이를 적용합니다. 또는 Bitwarden이나 1Password를 연결하여 서버에 아무것도 저장하지 않는 온디맨드 주입을 사용할 수 있습니다.
- 자체 Slack 앱: 한 번 연결하면 채널과 DM에서 자체 이름과 아바타로 파일과 이미지를 포함해 응답합니다. 에이전트를 삭제하면 해당 Slack 앱도 함께 삭제됩니다.
에이전트는 사용자 자신의 인프라에서 실행됩니다. 러너는 아웃바운드 전용이며 인바운드 포트를 보유하지 않으므로, 랩톱, 홈랩 또는 NAT 뒤의 VPC 모두 인그레스나 터널 없이 작동합니다.
아키텍처
- 웹 대시보드: Next.js 앱. 에이전트 생성, 채팅, 메모리와 스킬 편집, 연결·비밀·권한 관리.
- API 서버: 컨트롤 플레인. 데이터베이스, 대화 플레인, 러너가 폴링하는 작업 큐를 소유합니다.
- Rust 게이트웨이: 아웃바운드 요청(HTTPS 포함, MITM 방식)을 가로채 자격 증명을 주입합니다. 에이전트는
Proxy-Authorization헤더를 통해 액세스 토큰으로 인증합니다. - 러너: 에이전트 샌드박스를 시작, 대기, 회수합니다. 아웃바운드 전용이며 데이터베이스에는 절대 접근하지 않습니다.
- 샌드박스 슈퍼바이저: 각 샌드박스 내부에서 실행되며, 벤더 중립적 하네스 인터페이스를 사용하여 에이전트 런타임을 교체 가능하게 합니다.
- SSH 터미네이터: SSH 프런트 도어 — 단기 인증서로
ssh연결을 종료하고 플러그형 서브스트레이트 백엔드를 통해 에이전트 샌드박스로 브리징합니다. - 채널 어댑터: Slack 데몬, 에이전트당 앱 하나.
- 비밀 저장소: 저장 시 AES-256-GCM, 요청 시에만 복호화되며 호스트와 경로 패턴으로 매칭되어 헤더 또는 쿼리 매개변수로 주입됩니다.
로컬 개발
git clone https://github.com/onecli/onecli.git && cd onecli
mise install
pnpm install
pnpm dev
이것이 전체 설정입니다: pnpm dev는 필요한 모든 비밀이 포함된 .env를 생성하고, PostgreSQL을 시작하고, 마이그레이션을 적용하고, 전체 스택을 실행합니다. 사전 요구 사항, 명령 참조, 프로젝트 구조 및 구성은 docs/development.md에 있습니다.
기여
기여는 언제나 환영합니다. 시작하기 전에 기여 가이드와 행동 강령을 읽어주세요. 기여는 기여자 라이선스 계약의 조건에 따라 수락됩니다.
보안
취약점을 신고하려면 보안 정책을 따라주세요. 보안 보고에 대해 공개 이슈를 열지 마십시오.
라이선스
Apache-2.0, 단 한 가지 예외: ee/ 디렉터리는
OneCLI 엔터프라이즈 라이선스에 따라 엔터프라이즈 기능을 보유하며,
각각 이를 가리키는 고지가 포함되어 있습니다. 해당 라이선스는 개발, 테스트 및
평가 목적으로는 무료이며, 프로덕션 사용에는 구독이 필요합니다.
그 외 모든 것은 Apache-2.0이며 상용 라이선스 없이 프로덕션에서
자체 호스팅할 수 있습니다. LICENSE-ENTERPRISE에는
라이선스가 적용되는 경로의 권위 있는 목록이 포함되어 있습니다.