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 是一个开源的、TypeScript 优先的框架,它封装了大多数 AI 驱动产品所需的底层设施:文档摄取、OCR、向量存储 RAG、知识图谱处理、LLM 聊天抽象、后台任务编排以及相关的实用工具(加密、护栏、额度管理等)。其核心引擎是刻意保持框架无关的;一个 Next.js 参考应用 (apps/web) 展示了宿主如何将引擎的端口(ports)连接到具体的服务(Postgres + pgvector, S3, Inngest 等)。
关键软件包
| Package | Status | Role |
|---|---|---|
@launchstack/core |
unpublished (将通过 Changesets 发布) | 作为一个外观层(Facade)重新导出分层引擎 (protocol, evidence, application, adapters)。提供 DB, LLM, embeddings, OCR, RAG, graph, crypto, guardrails, ingestion, providers, storage, jobs, credits, errors。 |
@launchstack/features/* |
internal | 基于核心层构建的即插即用垂直功能(例如:文档摄取、法律模板生成、营销流水线、语音、趋势搜索)。 |
packages/protocol, evidence, application, adapters |
internal | 低层级:契约、纯领域逻辑、用例端口、具体适配器。 |
apps/web |
– | 实现端口(S3 存储, Inngest 任务调度器, PostgreSQL DB 等)并提供 UI、身份验证和最终用户体验的 Next.js 宿主。 |
apps/worker |
– | 处理摄取输出队列并执行后台任务的持久化工作流运行器。 |
services/ |
– | 使用 Node 或 Python 编写的小型辅助服务(文档转换、转录);不属于 pnpm workspace,但被引擎使用。 |
架构概览
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 框架一无所知 —— 它仅暴露类型化的端口(ports)。
- 功能层 仅导入这些端口;它们无法触及宿主代码。
- 宿主(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启动 web 和 worker 包。 - 聊天配置 – 默认情况下,引擎与 Google Gemini 的 OpenAI 兼容端点进行通信。可以通过
CHAT_BASE_URL和CHAT_API_KEY覆盖配置,以指向任何 OpenAI 兼容的服务(OpenRouter, Ollama, vLLM 等)。Embeddings, OCR, 转录等都有独立的凭证槽位。
当前状态
- 引擎软件包尚未发布到 npm;首次发布将通过仓库的
release.yml工作流自动完成。 - 参考应用可以在本地或通过 Docker 运行,提供了一个从 摄取 → 向量存储 → RAG → 带护栏的聊天功能的完整功能演示。
- 路线图项目 (
mcp,workflow-generation,rules-extraction,connectors) 目前仅作为脚手架存在。
适用人群
- 需要为文档处理、检索增强生成和 LLM 驱动的代理(agents)构建坚实、类型化基础的团队,正在构建 AI 原生 SaaS 产品。
- 偏好业务逻辑(引擎)与基础设施(宿主)之间保持清晰分离,并追求 TypeScript 优先、基于端口的设计的开发者。
- 有兴趣通过扩展垂直功能或添加新适配器/提供商的实现开源贡献者。
License – Apache 2.0。
相关
- 项目
- 项目
- 项目
- 项目
- 项目