Deodat-Lawson/LaunchStack
AI-powered StartUp Accelerator Engine built with Next.js, LangChain, PostgreSQL + pgvector. Upload, organize, and chat with documents. Includes predictive missing-document detection, role-based workflows, and page-level insight extraction.
LaunchStack – AI 네이티브 앱을 위한 TypeScript 엔진
개요 – LaunchStack은 대부분의 AI 기반 제품에 필요한 기반 작업을 묶어 제공하는 오픈 소스, TypeScript 우선 프레임워크입니다: 문서 수집, OCR, 벡터 스토어 RAG, 지식 그래프 처리, LLM 채팅 추상화, 백그라운드 작업 오케스트레이션 및 관련 유틸리티(암호화, 가드레일, 크레딧 등). 핵심 엔진은 의도적으로 프레임워크에 구애받지 않도록 설계되었습니다. Next.js 참조 앱(apps/web)은 호스트가 엔진의 포트를 구체적인 서비스(Postgres + pgvector, S3, Inngest 등)에 연결하는 방법을 보여줍니다.
주요 패키지
| 패키지 | 상태 | 역할 |
|---|---|---|
@launchstack/core |
미출판 (Changesets를 통해 출시 예정) | 계층화된 엔진(protocol, evidence, application, adapters)을 다시 내보내는 퍼사드입니다. DB, LLM, 임베딩, OCR, RAG, 그래프, 암호화, 가드레일, 수집, 프로바이더, 스토리지, 작업, 크레딧, 오류를 제공합니다. |
@launchstack/features/* |
내부용 | 코어를 기반으로 구축된 즉시 사용 가능한 수직 기능(예: 문서 수집, 법률 템플릿 생성, 마케팅 파이프라인, 음성, 트렌드 검색). |
packages/protocol, evidence, application, adapters |
내부용 | 저수준 계층: 계약, 순수 도메인 로직, 유스케이스 포트, 구체적인 어댑터. |
apps/web |
– | 포트(S3 스토리지, Inngest 작업 디스패처, PostgreSQL DB 등)를 구현하고 UI, 인증 및 최종 사용자 경험을 제공하는 Next.js 호스트. |
apps/worker |
– | 수집 발신함을 처리하고 백그라운드 작업을 실행하는 지속형 워크플로우 러너. |
services/ |
– | Node 또는 Python으로 작성된 소규모 보조 서비스(문서 변환, 전사); pnpm 워크스페이스의 일부는 아니지만 엔진에서 사용됩니다. |
아키텍처 개요
apps/web (Next.js host) ──► createEngine(config) ──► @launchstack/core
│ │
│ registers ports: StoragePort (S3), JobDispatcherPort (Inngest),
│ CreditsPort (DB), RagPort (hybrid pgvector + Neo4j), …
▼ ▼
@launchstack/features/* (vertical use‑cases) engine internals (db, llm, ocr, …)
- 코어는 Next.js, React 또는 어떤 UI 프레임워크에 대해서도 알지 못합니다. 오직 타입이 지정된 포트만 노출합니다.
- **기능(Features)**은 해당 포트만 가져옵니다. 호스트 코드에 접근할 수 없습니다.
- 호스트(Next.js 앱)는 포트에 대한 구체적인 구현을 제공하고 환경 변수를 공급합니다.
- 모든 구성은
CoreConfig객체를 통해 전달됩니다. 엔진은process.env를 직접 읽지 않습니다(ESLint로 강제됨).
프로젝트 실행
- 필수 조건 – Node ≥ 20,
pnpm10.15.1 (corepack enable사용). - Docker (권장) –
make up-prod(라이트 스택) 또는make up-ocr(Docling OCR 추가).make down/make down‑clean을 사용하여 중지하고 선택적으로 볼륨을 초기화합니다. - Docker 없이 –
pgvector확장이 포함된 PostgreSQL 인스턴스를 제공한 다음, 마이그레이션/시드 명령을 실행하고pnpm --filter @launchstack/web dev및pnpm --filter @launchstack/worker dev를 통해 웹 및 워커 패키지를 시작합니다. - 채팅 구성 – 기본적으로 엔진은 Google Gemini의 OpenAI 호환 엔드포인트와 통신합니다.
CHAT_BASE_URL및CHAT_API_KEY를 재정의하여 OpenAI 호환 서비스(OpenRouter, Ollama, vLLM 등)를 가리키도록 설정합니다. 임베딩, OCR, 전사 등은 별도의 자격 증명 슬롯을 가집니다.
현재 상태
- 엔진 패키지는 아직 npm에 게시되지 않았습니다. 첫 번째 릴리스는 저장소의
release.yml워크플로우를 통해 자동화될 것입니다. - 참조 앱은 로컬 또는 Docker를 통해 실행할 수 있으며, 수집 → 벡터 스토어 → RAG → 가드레일이 있는 채팅의 완전한 기능 데모를 제공합니다.
- 로드맵 항목(
mcp,workflow-generation,rules-extraction,connectors)은 현재 스캐폴딩으로만 존재합니다.
대상 사용자
- 문서 처리, 검색 증강 생성 및 LLM 기반 에이전트를 위한 견고하고 타입이 지정된 기반이 필요한 AI 네이티브 SaaS 제품을 구축하는 팀.
- 비즈니스 로직(엔진)과 인프라(호스트) 간의 명확한 분리를 선호하고 TypeScript 우선, 포트 기반 설계를 원하는 개발자.
- 수직 기능을 확장하거나 새로운 어댑터/프로바이더를 추가하는 데 관심 있는 오픈 소스 기여자.
기여 방법
CONTRIBUTING.md의 지침을 따르세요.- 게시된 엔진 패키지에 대한 모든 변경 사항은 Changeset을 동반해야 합니다.
- 린팅(사용자 지정 가져오기 경계 규칙 포함)은 차단 CI 단계이므로 코어-기능-호스트 분리를 그대로 유지하세요.
라이선스 – Apache 2.0.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트