openvetta/open-vetta
요약
Open Vetta는 로컬 우선(Local-first) 원칙에 기반한 오픈 소스 데스크톱 AI 에이전트입니다. 코딩, 문서 작업, 연구 등 다양한 작업을 하나의 통합된 작업 공간에서 수행할 수 있게 합니다. 단순 채팅을 넘어 파일 생성, 실행 추적, 그리고 사용자의 통제권을 유지하는 것이 핵심 특징입니다.
핵심 포인트
- 로컬 우선 아키텍처로 데이터와 프로세스에 대한 사용자 통제권 확보
- OpenAI 호환 엔드포인트 및 BYOK으로 자체 모델 연결 가능
- 코드, 문서 등 다양한 실제 파일과 도구를 통합 작업 흐름에서 사용
- 실행 추적(execution trail)을 통해 모든 AI 작업을 검토하고 관리할 수 있음
실제 작업을 위한 오픈 소스 데스크톱 AI 에이전트 — 로컬 우선, 확장 가능하며 사용자의 통제 하에 있습니다.
English · 简体中文 · Download · Get started · Discussions · Discord · Contributing
Open Vetta는 모델, 프로젝트 파일, 로컬 도구 및 재사용 가능한 기능을 하나의 데스크톱 작업 공간으로 가져옵니다. 코딩, 문서, 데이터, 연구, 창의적인 작업 및 반복 가능한 워크플로우에 사용하면서도 작업이 발생하는 환경에 대한 통제권을 포기할 필요가 없습니다.
단순한 채팅 인터페이스 그 이상입니다: Vetta는 작업 공간을 검사하고, 가시적인 권한 경계를 가진 도구를 사용하며, 실제 파일을 생성하고, 검토를 위해 실행 추적(execution trail)을 유지합니다.
| 의미 | |
|---|---|
| 로컬 우선 작업 공간 (Local-first workspace) | 프로젝트, 세션, 파일 및 실행은 사용자가 선택한 환경에 존재합니다. |
| 자체 모델 가져오기 (Bring your own models) | 지원되는 제공업체(provider), OpenAI 호환 엔드포인트 또는 BYOK을 통한 로컬 추론으로 연결할 수 있습니다. |
| 실제 도구와 아티팩트 (Real tools and artifacts) | 코드, 문서, 스프레드시트, 미디어, 명령어 및 생성된 파일로 하나의 작업 흐름에서 작업합니다. |
| 검토 가능한 실행 (Reviewable execution) | 도구 호출(Tool calls), 계획(plans), 권한(permissions), 진행 상황(progress), 결과(results), 복구 경로(recovery paths)가 가시적으로 유지됩니다. |
| 재사용 가능한 워크플로우 (Reusable workflows) | 스킬, MCP 서버, 플러그인, 테마, 지식, 배치 작업 및 자동화를 통해 에이전트를 확장할 수 있습니다. |
| 오픈 클라이언트 스택 (Open client stack) | 데스크톱 앱, CLI, SDK, 플러그인 시스템, 테마, 모바일 클라이언트 및 IM 게이트웨이는 이 저장소에서 개발됩니다. |
| ~을 하고 싶다면… | 시작하기 | |
|---|---|
| 데스크톱 앱 사용 | macOS, Windows 또는 Linux용으로 다운로드한 후 설치 및 첫 설정을 따르세요. |
| ... |
필수 사항은 **Bun 1.3+**와 **Node.js 20+**입니다.
git clone https://github.com/openvetta/open-vetta.git
cd open-vetta
git switch dev
...
개발 앱은 기본적으로 ~/.vetta-dev를 사용하며, 설치된 앱 데이터는 ~/.vetta에 손대지 않습니다. 루트 레벨에서 bun run dev는 핵심 라이브러리를 감시하며 Electron을 실행하지 않습니다. 전체 설정 및 검증 명령어는 QUICKSTART.md를 참조하세요.
프로젝트 및 세션에서 작업하기. 작업 기록, 파일, 컨텍스트, 아티팩트(artifacts), 실행 세부 정보를 함께 유지합니다.로컬 및 외부 도구 사용하기. 명령을 실행하고, 파일을 검사하며, MCP 서비스를 연결하고, 민감한 작업을 명시적으로 승인합니다.전문적인 아티팩트 처리하기. 소스 코드, PDF, Office 파일, 스프레드시트, 이미지, 오디오, 비디오, SVG 및 생성된 UI와 미리 보고 작업할 수 있습니다.검증된 작업을 확장하기. 배치 작업을 통해 디렉터리 전체에 동일한 워크플로우를 실행하거나 자동화로 예약합니다.조직 지식 재사용하기. 로컬 지식 기반을 구축하고 재사용 가능한 스킬 또는 시나리오를 설치합니다.책상에서 벗어나 작업하기. 지원되는 IM 브릿지, 웹훅(webhooks), 알림, 빠른 입력 및 네이티브 데스크톱 통합 기능을 사용합니다.
공개 문서를 통해 현재의 작업 가이드와 스크린샷을 확인하고 모든 제품 기능을 탐색할 수 있습니다.
Vetta는 간단한 워크플로우가 전체 플러그인이 될 필요가 없도록 여러 확장 수준(extension levels)을 노출합니다:
| 확장 기능 | 용도 | 가이드 |
|---|---|---|
| Skill (스킬) | 에이전트에게 반복 가능한 방법 또는 도메인 워크플로우를 교육합니다. | Abilities |
| MCP | 표준 프로토콜을 통해 외부 도구 및 데이터 연결합니다. | MCP connectors |
| Plugin (플러그인) | 데스크톱 UI, 파일, 메시지, 도구 및 호스트 작업을 확장합니다. | Plugin development |
| Theme (테마) | 시각 시스템을 대체하고 테마별 페이지를 제공합니다. | Theme development |
| SDK / RPC / CLI | 다른 애플리케이션이나 프로세스에서 에이전트를 임베드하거나 구동합니다. | Developer paths |
플러그인을 구축하기 위해 이 레포지토리나 Vetta 소스 체크아웃이 필요하지 않습니다. 에이전트 역시 마찬가지입니다:
npx @vetta-org/plugin-cli init --id my-plugin --name
, 따라서 에이전트가 읽는 계약은 프로젝트가 컴파일하는 대상의 계약이며, `docs`에서 이를 찾습니다. 이는 누군가가 `node_modules` 경로를 하드 코딩하는 방식보다 더 나은 방법입니다.
하나의 저장소에서 여러 기능을 게시하려면 마켓플레이스를 스캐폴딩(scaffold)하세요:
npx @vetta-org/plugin-cli init hub --name my-market
--repository https://github.com/me/my-market --min-app-version 0.55.0
이 명령어는 인덱스, `abilities/` 레이아웃, 저장소 수준의 `AGENTS.md`, 그리고 `.vetta/marketplace.json` 파일이 각 기능 패키지와 일치하도록 유지하는 CI 실행 (`vetta-plugin-cli sync --check`)을 설정합니다. 개발 명령은 항상 가장 가까운 기능 디렉터리에서 작동하므로, 마켓플레이스 내부에서 작업하는 것은 독립적인 플러그인을 다루는 것과 동일합니다.
플러그인은 `plugin.json`에 기능을 선언하며, 특권(privileged) 작업은 호스트에 의해 승인되고 런타임 시 다시 확인됩니다. 플러그인은 데스크톱 렌더러 내부에서 실행되므로, 임의 코드 샌드박스라기보다는 신중하게 관리된 코드로 취급해야 합니다. 배포하기 전에 플러그인 신뢰 및 권한 모델을 읽어보세요.
소스 체크아웃은 기본적으로 **라이트(lite)** 빌드를 생성합니다. 이는 Vetta가 운영하는 백엔드에 의존하지 않습니다. 계정, 구독, 원격 관리 또는 호스팅된 마켓플레이스가 필요하지 않습니다. 모델 요청은 구성한 엔드포인트로 전송되며, 자격 증명은 로컬 자격 증명 저장소에 유지됩니다.
공식 설치 프로그램은 계정, 구독 및 호스팅된 마켓플레이스를 위한 선택적 Vetta Serv 통합을 활성화할 수 있습니다. 이 통합은 빌드 시간에 선택되는 것이며, 라이트 빌드에서 자동으로 활성화되지 않습니다.
로컬 우선(Local-first)이라는 것이 네트워크 트래픽이 없다는 것을 의미하지는 않습니다. 모델 제공업체, MCP 서버, 플러그인, 웹훅, IM 통합, 업데이트 소스 및 선택적 원격 측정(telemetry)은 각각 자체 데이터 경계를 생성할 수 있습니다. 다음을 검토하세요:
- 보안 및 데이터 경계 (Security and data boundaries)
- 구성 경로 (Configuration paths)
- 빌드 모드 및 환경 변수 (Build modes and environment variables)
- 보안 정책 (Security policy)
이곳은 Bun/TypeScript 모노레포(monorepo)이며 Swift, Kotlin, Go 애플리케이션이 추가로 포함되어 있습니다. 의존성은 애플리케이션에서 재사용 가능한 패키지(`packages/*`)를 가리키며, `packages/*`는 절대 `apps/*`에 의존하지 않습니다.
| 영역 (Area) | 책임 (Responsibility) |
|---|---|
`apps/desktop` | Electron 데스크톱 호스트 및 렌더러 |
`apps/cli-host` | 코딩 에이전트(coding agent)용 CLI 호스트 |
`apps/docs-site` | `docs.openvetta.com`에 게시되는 Next.js 문서 사이트 |
`apps/mobile/client-apple` | Swift/SwiftUI로 작성된 네이티브 iOS 클라이언트 (LAN 또는 릴레이를 통해 데스크톱과 페어링되며, 종단 간 암호화(end-to-end encrypted)됨) |
`apps/mobile/client-android` | Kotlin Multiplatform Android 클라이언트 (프로토콜 v1에서 동결되었으며 참고용으로 보관됨) |
`apps/im-gateway` | Go IM 사이드카 게이트웨이 |
`packages/ai` · `packages/agent` | 프로바이더 추상화(Provider abstraction) 및 에이전트 루프 (agent loop) |
`packages/coding-agent` · `packages/runtime-*` | 제품 구성, 런타임 계약(runtime contracts), 도구(tools), 스토리지, MCP, 호스트 어댑터 |
`packages/plugins` · `packages/themes` | 확장 SDK, 프리셋 및 테마
아키텍처 세부 정보와 공개 통합 계약은 개발자 문서와 `docs/adr/`에 있습니다.
이 모노레포에서는 Bun과 저장소 스크립트를 사용하고, 단순히 `bun test`를 실행하지 마십시오.
bun run check:quick # 변경된 파일 lint 및 아키텍처 가드(architecture guards)
bun run check # 전체 lint, 타입(types), 및 아키텍처 가드
bun run test:pkg <package-name> # 포커스 패키지 테스트
...
풀 리퀘스트(Pull requests)는 **dev** 브랜치를 대상으로 합니다. 기여 맵(contribution map), 테스트 기대치, 검토 바(review bar)는 `CONTRIBUTING.md`에 있습니다. 아키텍처 및 에이전트 협업 규칙은 `AGENTS.md`에 있습니다.
질문이나 초기 아이디어는 GitHub Discussions에 남겨주십시오. 취약점은 GitHub Security Advisories를 통해 비공개로 보고해 주십시오.
- 사용자 및 제품 가이드 (User and product guides)
- 플러그인 개발 (Plugin development)
- 테마 개발 (Theme development)
- SDK, RPC, CLI, 아키텍처 (SDK, RPC, CLI, and architecture)
- 문제 해결 (Troubleshooting)
`QUICKSTART.md`
저장소 설정은 `CONTRIBUTING.md`에서, 기여는 `docs/adr/`에서 확인하십시오.
문서 사이트는 또한 `llms.txt`, `llms-full.txt`를 게시합니다.
, 그리고 Agent가 사용할 수 있도록 각 페이지의 Markdown 표현을 제공합니다.
Open Vetta Discord에 참여하여 질문하고, 워크플로우, 스킬, 플러그인 및 테마를 공유하며, 릴리스 뉴스를 팔로우하고, 유지보수 담당자들과 대화하세요.
더 길고 검색 가능한 스레드는 GitHub Discussions에 속해 있으며, 취약점은 GitHub Security Advisories를 통해 처리되므로, Discord에는 보고하지 마십시오.
Open Vetta는 pi, Codex CLI, MCP, Electron, React, Bun, models.dev 및 `NOTICE`에 나열된 프로젝트들을 포함하여 더 넓은 오픈소스 생태계의 작업에 기반을 두고 있습니다.
완전한 서드파티 인벤토리와 원본 공지사항은 그곳에서 확인할 수 있습니다.
Apache-2.0 라이선스 하에 제공됩니다.
**친구 및 링크:** LINUX DO - 기술 애호가를 위한 중국 커뮤니티입니다. 이 프로젝트는 LINUX DO와 연결되어 있으며 이를 지지합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기