프로젝트 소개
MyAgents는 오픈소스 데스크톱 개인 Agent 워크벤치로, 그 위치는 채팅 창이 아니라 대화, 워크스페이스, 파일, 도구, 모델, 작업, 장기 기억을 하나의 데스크톱 시스템에 담는 것입니다. 프로젝트는 AGPL-3.0-only 라이선스를 채택하며, 공식 웹사이트와 다운로드 입구는 myagents.io입니다.
핵심 경험
- 워크스페이스 우선: 각 Agent는 실제 워크스페이스에 바인딩되며 파일 트리, 파일 미리보기, Git 브랜치, Skills와 명령 입구를 제공합니다. @ 파일 참조, / 스킬 호출, MCP 도구 호출과 모델 선택을 지원합니다.
- 다중 탭 Agent: Chrome 스타일 다중 탭 페이지로, 각 Tab은 독립적으로 하나의 Agent와 Sidecar를 실행하여 병렬 작업에 적합합니다.
- 내장 터미널과 브라우저: 오른쪽 분할 화면에서 xterm.js + portable-pty 터미널과 Tauri 다중 Webview 브라우저를 제공하여 실행과 검증을 동시에 하기 편리합니다.
- 아이디어와 작업 센터: 먼저 아이디어를 메모하고 태그로 보관한 뒤 AI와 논의하여 작업으로 정착시킬 수 있습니다. 일회성 작업, 주기 작업, Cron 표현식, 선택적 로컬 명령 감지기, 작업 상태, 실행 횟수, 실행 로그와 예외 복구를 지원합니다.
- 다중 모델 공급자: Anthropic 구독 또는 API, 그리고 DeepSeek, Moonshot, 智谱, MiniMax, Google Gemini, 火山方舟, 硅基流动, ZenMux, OpenRouter, 小米 MiMo, 阿里云百炼 등을 지원하며, 실제 목록은 앱 내 페이지를 기준으로 합니다.
- 개방 능력: MCP는 STDIO / HTTP / SSE를 지원하고, Skills는 내장, 사용자 수준, 워크스페이스 수준으로 나뉩니다. 서로 다른 워크스페이스에 맞춰 사용자 정의 Agent의 Prompt, 모델, 도구와 권한을 구성할 수 있으며, 실험실 기능은 Claude Code CLI, OpenAI Codex CLI, Google Gemini CLI를 외부 Runtime으로 지원합니다.
- 다중 입구: Telegram, 钉钉 IM Bot이 내장되어 있고 더 많은 플랫폼은 OpenClaw 플러그인으로 연결할 수 있습니다. 또한 작은 어시스턴트, 데스크톱 펫/플로팅 창과 예약 작업이 있습니다.
- 로컬 우선: 세션, 작업, 설정과 생성 산출물은 기본적으로 본机에 저장됩니다. 로컬 전문 검색은 Tantivy + jieba 기반으로 세션 기록과 워크스페이스 파일을 검색할 수 있습니다.
기술 스택과 아키텍처
데스크톱 계층은 Tauri v2 + Rust, 프런트엔드는 React 19 + TypeScript + Vite + TailwindCSS, 백엔드 Sidecar는 Node.js v24 + Claude Agent SDK이며, 통신은 Rust HTTP/SSE 프록시를 거치고 프런트엔드는 Tauri invoke로 Sidecar에 접근합니다. 검색은 Tantivy + tantivy-jieba, 터미널은 portable-pty + xterm.js를 사용합니다.
핵심 아키텍처 원칙은 다음과 같습니다. Session과 Sidecar는 1:1이며, Tab, CronTask, BackgroundCompletion, Agent는 Owner 모델을 통해 수명 주기를 공유합니다. Chat Tab은 tab-scoped API를 사용하고 Settings와 Launcher는 Global Sidecar를 사용합니다. 제어면 HTTP/SSE는 Rust 프록시를 거치며, /refs/:id와 /attachment/* 대용량 페이로드 데이터면만 CORS/CSP/경로 안전 제약 아래 네이티브 fetch를 사용합니다. 워크스페이스 파일 IO는 Tauri/Rust를 거치고, 설정 디스크 쓰기는 disk-first이며, Session 작업은 통일적으로 src/server/session-engine/ facade를 거치고 selector가 builtin 또는 external adapter를 선택합니다.
개발과 빌드
최종 사용자는 macOS 13.0+(Apple Silicon 및 Intel)과 Windows 10+를 지원합니다. 개발자에게는 Node.js >=22(24 권장), npm, rustup으로 설치한 Rust(rust-toolchain.toml로 toolchain 고정)가 필요합니다. 콜드 빌드 네이티브 추론 리소스에는 CMake 3.28+와 플랫폼 C/C++ 툴체인이 필요하며, macOS는 추가로 Git, Python 3.10+와 Apple Clang이 필요합니다.
macOS / Linux는 ./setup.sh와 ./start_dev.sh를, Windows는 .\setup_windows.ps1와 .\build_windows.ps1을 사용합니다. 자주 쓰는 명령으로는 npm run typecheck, npm run lint(dependency-cruiser 아키텍처 경계 검사 포함), 계층 테스트 test:classification / test:unit / test:dom / test:integration, 그리고 명시적으로 로컬 실행해야 하는 test:credentialed가 있습니다. 빌드 스크립트로는 build_dev.sh, build_macos.sh, build_linux.sh가 있습니다. Linux 빌드 머신에는 Tauri/WebKit 관련 시스템 의존성을 설치해야 합니다.
프로젝트 구조는 src/renderer(React 프런트엔드), src/server(Node Sidecar), src/server/plugin-bridge(OpenClaw Plugin Bridge), src/cli(myagents CLI), src/shared(공유 타입), src-tauri(Rust 계층), bundled-agents, bundled-skills와 specs(아키텍처 및 설계 문서)로 나뉩니다. 커밋 메시지는 Conventional Commits를 따릅니다.
라이선스와 상업적 사용
프로젝트는 GNU Affero General Public License v3.0(AGPL-3.0-only)을 채택하며, 개인과 기업 모두 무료로 사용할 수 있고 상업적 사용도 가능합니다. 수정 버전을 배포하거나 네트워크를 통해 사용자에게 수정 버전을 제공하는 등의 상황에서는 AGPL을 완전히 이행해야 합니다. AGPL 오픈소스 의무를 이행하지 않고 클로즈드 소스 수정, 임베드, OEM, 배포 또는 호스팅을 원하는 경우 별도의 상업 라이선스가 필요합니다. 서드파티 구성 요소에는 각자의 라이선스가 계속 적용됩니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.