<div align="center">
Nexus
Go 1.26+
Node.js 22+
License: Apache 2.0
<p align="center">
<a href="./README_zh.md">중국어</a> | <strong class="text-primary">English</strong>
</p>
</div>
<div align="center">
<img src="https://raw.githubusercontent.com/nexus-research-lab/nexus/HEAD/docs/images/nexus.gif" alt="Nexus 작업 공간" width="100%">
</div>
개요 (Overview)
Nexus는 기업, 연구팀 및 개발자를 위한 멀티 에이전트 협업 플랫폼입니다. 에이전트는 독립적으로 이름을 지정하고, 자체 작업 공간을 소유하며, 런타임 관리형 파일 기반 메모리를 유지할 수 있어 태스크 컨텍스트와 지식이 세션 간에 지속될 수 있습니다. 'Room'은 여러 에이전트를 조직하여 복잡한 작업을 중심으로 토론하고, 업무를 분담하며, 결과를 종합하는 데 사용할 수 있으며, 'DM(Direct Message)'은 단일 에이전트와의 집중적인 작업 지원을 합니다.
기존의 싱글 에이전트 AI 오피스 도구와 비교하여 Nexus는 다음과 같은 기능을 제공합니다:
- 멀티 에이전트 협업: 여러 에이전트가 동일한 태스크에 참여하고 함께 결과를 생성할 수 있습니다.
- 영속적인 메모리 및 지식 축적: 내장된
nxs 런타임은 각 에이전트 작업 공간의 memory/ 아래에 MEMORY.md 인덱스와 토픽 파일을 유지합니다.
- 선제적 실행 (Proactive execution): Echo 후속 조치, 예약된 태스크, 환경 인식 기능 등이 에이전트가 작업을 진전시키는 데 도움을 줍니다.
- 유연한 확장성: 내장된 Skills는 Word, PDF, PowerPoint, Excel 파일을 읽고, 생성하고, 편집하고, 렌더링하고, 검증할 수 있으며, Connectors는 Feishu Docs, DingTalk AI Tables, Tencent Docs, Yuque 및 사용자 지정 MCP 서비스를 통합합니다.
Nexus는 에이전트 관리, 태스크 협업, 외부 서비스 연결을 하나의 통일된 플랫폼으로 가져와 현대적인 AI 협업 생태계를 구축합니다.
아키텍처 (Architecture)
<div align="center">
<img src="https://raw.githubusercontent.com/nexus-research-lab/nexus/HEAD/docs/images/nexus-architecture-diagram.svg" alt="Nexus 기술 아키텍처" width="100%">
</div>
<p align="center">
<a href="./docs/nexus-architecture-blueprint.md">아키텍처 가이드</a> ·
<a href="./docs/README.md">문서 색인</a>
</p>
기능 (Features)
| 카테고리 | 기능 (Capabilities) | 이점 (Benefit) |
|---|
| 에이전트 관리 (Agent Management) | 독립적인 ID, 작업 공간, 스킬 구성 및 런타임 관리 파일 메모리 | 반복되는 컨텍스트가 적은 지속적인 워크플로우 |
| ... | | |
빠른 시작 (Quick Start)
에이전트 런타임 백엔드 선택하기
Nexus는 두 가지 에이전트 런타임 백엔드를 지원합니다: nxs와 claude. 공식 Nexus 릴리스에서는 nxs를 기본 폐쇄형 소스(closed-source) 런타임 실행 파일로 번들링하며, 이 Go 구현은 이 저장소의 일부가 아닙니다. 제품은 이를 오픈소스 에이전트 SDK Bridge 계약 뒤에 있는 교체 가능한 서브프로세스로 취급합니다.
nxs는 Anthropic Messages, OpenAI Chat Completions, 그리고 OpenAI Responses를 지원합니다. Responses Providers는 nxs에서만 사용할 수 있으며, 공개 통합 경계(public integration boundary)에 대한 자세한 내용은 OpenAI Responses 런타임 가이드를 참조하십시오.
claude 백엔드는 Claude Code를 통해 에이전트를 실행합니다. Claude Code는 별도로 설치하고, claude 런타임을 선택하며, 해당 실행 파일이 백엔드 머신에서 사용 가능한지 확인해야 합니다.
curl -fsSL https://claude.ai/install.sh | bash
...
Windows PowerShell에서는:
imr https://claude.ai/install.ps1 | iex
또는 WinGet으로 설치합니다:
winget install Anthropic.ClaudeCode
데스크톱 앱 (Desktop Apps)
- macOS Apple Silicon:
Nexus-macos-arm64-<version>-<build>.dmg
- macOS Intel:
Nexus-macos-intel-<version>-<build>.dmg
- Windows:
NexusSetup-<version>-<build>.exe
설치하기 전에 일치하는 .sha256 파일을 확인하십시오. 데스크톱 앱 데이터는 ~/.nexus 아래에 저장됩니다.
macOS 소스 디버깅을 하려면 make app-run을 실행하십시오. 로컬 데스크톱 주체(Desktop principal)는 Control에 의존하지 않습니다.
서버 배포 (Server Deployment)
Docker 배포 (Docker Deployment)
서버 배포에는 Docker Compose를 권장합니다:
Keep the nexus와 nexus-control 저장소를 같은 상위 디렉터리에 두고, http://localhost를 열면 됩니다. 동일한 Nexus 웹 앱이 로그인, 멤버 및 구독 관리를 담당하며, 이 권한 요청을 Control로 전송합니다. 이때 Nexus는 로컬 사용과 런타임 강제 적용을 유지합니다. Control은 기본적으로 SQLite를 사용하며, CONTROL_DATABASE_DRIVER=postgres와 CONTROL_DATABASE_URL을 통해 PostgreSQL도 지원합니다. 첫 번째 소유자를 대화형으로 생성하려면, AUTH_INIT_OWNER_PASSWORD를 비워두고 32자 이상의 CONTROL_SETUP_TOKEN을 설정한 후 /setup을 열면 됩니다. 기본 compose 스택은 HTTP만 노출하므로, 프로덕션 TLS는 외부 게이트웨이나 로드 밸런서에서 종료하고 이 HTTP 진입점으로 포워딩해야 합니다. 기존 웹 사용자는 전환하기 전에 Control 마이그레이션을 완료해야 합니다.
웹 앱의 Capability / Channels에서 IM 채널 자격 증명을 구성하세요. 컨테이너는 시작 시 데이터베이스에서 저장된 채널 구성을 다시 로드합니다. .env 파일에 있는 DISCORD_BOT_TOKEN과 TELEGRAM_BOT_TOKEN은 레거시 시스템 수준 폴백(fallback)일 뿐입니다.
Docker용 로컬 호스트 프록시를 재사용할 때, 127.0.0.1 / localhost 프록시 호스트는 기본적으로 host.docker.internal로 리라이트됩니다. 컨테이너가 데스크톱 앱의 .env와 다른 값이 필요할 때는 NEXUS_DOCKER_HTTPS_PROXY, NEXUS_DOCKER_HTTP_PROXY, 또는 NEXUS_DOCKER_DATABASE_URL을 사용하세요.
Docker를 사용하지 않는 배포의 경우, 커넥터 자격 증명 암호화 키를 직접 생성해야 합니다:
로컬 개발
종속성을 한 번 설치한 후, 로컬 .env 파일에 초기 소유자를 구성하세요:
AUTH_INIT_OWNER_USERNAME=admin
AUTH_INIT_OWNER_PASSWORD=your-local-password
그 후, 웹 개발은 한 개의 명령어로 끝납니다:
make dev는 형제(sibling)인 nexus-control, 백엔드, 그리고 프론트엔드를 시작합니다. Control은 기본적으로 http://localhost:8020에서 실행되며 데이터를 ~/.nexus/control에 저장합니다. 백엔드는 http://localhost:8010에서 시작하고, 프론트엔드 개발 서버는 http://localhost:3000에서 시작합니다.
개별 디버거를 연결할 때는 make run-control, make run-backend, 그리고 make run-web을 별도의 터미널에서 실행해야 합니다. 서버 배포는 위에서 설명한 Docker의 make start 흐름을 사용하므로 /auth/v1에는 항상 필요한 동일 출처 게이트웨이(same-origin gateway)가 있습니다.
nxs 런타임 설정 및 메모리 유지 관리
Nexus 프로젝트는 각 Agent의 비(非)비밀 런타임 기본값을 <workspace>/.nexus/settings.json에 저장합니다. Provider 자격 증명은 Nexus 내에 남아 있으며, 런타임 서브프로세스가 시작될 때만 주입되고 Agent 작업 공간에는 절대 영구적으로 저장되지 않습니다.
AutoDream은 사용자 자동화가 아닙니다. Nexus가 클럭(clock), 프로세스 생명 주기(process lifecycle), 동시성(concurrency), 재시도(retries), 그리고 Provider 해결을 소유합니다. 브릿지는 취소 가능한 TryAutoDream 제어 요청을 전달하며, nxs가 설정, 적격성 검사(eligibility checks), 교차 프로세스 잠금(cross-process locking), 모델 실행, 메모리 쓰기의 최종 소유자입니다. 제어 결과는 작성된 경로를 노출하는 반면, 일반적인 백그라운드 쓰기는 다음 주요 쿼리에서 영구적인 system/memory_saved 이벤트로 반환됩니다. Agent 설정은 기본적으로 Summary, AutoMemory, 그리고 AutoDream을 활성화하며, 이 세 가지 모두 구성된 백그라운드 모델과 함께 활성 Agent Provider를 재사용합니다.
핵심 개념
라이선스
Apache License 2.0 · 라이선스