trycompai/crm
TypeScript0 / 0
에이전트가 증거를 수집하고 스스로 운영하는 self-hosted CRM
TL;DR
이 레포는 에이전트 주도형 self-hosted CRM 애플리케이션을 제공하는 TypeScript 모노레포로, 에이전트가 자체 작업 큐와 durable session에서 스스로 검색·증거 수집·기록·팔로우업을 수행하도록 설계되어 있습니다. 기술스택은 Bun 기반 Turborepo에 Next.js 프론트엔드, NestJS API, apps/agent(eve)로 분리되어 있으며 데이터는 Prisma + Postgres를 사용합니다. 샌드박스는 기본적으로 egress를 차단하고 외부 키는 선택적이며 단일 테넌트 설계, AGENT_BRIDGE_SECRET로 UI와 연결하는 운영 모델을 채택하고 있어 에이전트 자동화와 보안 요구조건을 동시에 충족하려는 팀에 적합합니다.
핵심 포인트
- 이 레포는 에이전트가 중앙 역할을 하고 자체 작업 큐와 스케줄에서 스스로 동작하는 self-hosted CRM 애플리케이션을 제공합니다. 에이전트는 tools, skills, schedule 파일을 통해 입력을 받아 증거 기반으로 사실을 기록하고, 약한 증거는 제안으로 남겨 사람이 확정하도록 설계되어 있습니다. 브라우저를 닫아도 에이전트가 계속 일하도록 eve 런타임의 durable session 개념을 활용합니다.
- 구성은 Turborepo 모노레포 형태로 Bun 런타임에서 동작하며 프론트엔드(Next.js), API(NestJS + tRPC), 에이전트(apps/agent)가 독립 배포 가능한 세 프로세스로 나뉘어 있습니다. 데이터 계층은 Prisma + Postgres(예: Neon)를 사용하고 선택적으로 Redis를 연결할 수 있으며 인증은 Better Auth와 Google OAuth를 기본으로 지원합니다. API와 프론트엔드 사이는 타입 안전한 tRPC 라우터 타입 생성으로 연결되어 Prisma 행(row)부터 UI 셀까지 타입 안전을 보장합니다.
- 보안·운영 설계가 읽히는 부분이 많습니다; 샌드박스는 기본적으로 egress를 차단하고 데이터베이스 자격증명을 주지 않으며 외부 키가 없어도 최소한의 기능으로 동작하도록 설계되어 있습니다. 조직 멀티테넌시는 의도적으로 배제되어 단일 테넌트 구조로 설계되어 있고 AGENT_BRIDGE_SECRET 같은 시크릿으로 에이전트-UI 연결을 활성화합니다. 로컬 개발은 Bun과 Docker(Postgres)가 필요하고 README에 배포 및 환경변수 설정 절차가 구체적으로 나와 있습니다.
이미지 분석



7.2k
Stars
740
Forks
+214
Trending
0
조회수
7.2k watchers13 open issues
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.