xyne
企业级 AI 搜索问答引擎,统一索引多数据源,支持自然语言提问与可溯源回答
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
企业级 AI 搜索问答引擎,统一索引多数据源,支持自然语言提问与可溯源回答
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你是某科技公司的项目经理,要在堆积如山的文档、邮件、Slack 对话、Jira 工单、Confluence 页面、GitHub Issues 中,找到三个月前讨论过的某个功能设计决策。传统的做法是逐个工具搜索、复制粘贴关键词,或者在群里"有人记得 XX 吗?"然后等待回复。这件事消耗了大量本可用于创造价值的时间。
Xyne 正是为解决这个痛点而生。它是一个开源的企业级 AI 搜索与问答引擎,定位是 Glean / Google Gemini / Microsoft Copilot 的开源替代方案。它能将企业分散在各 SaaS 工具中的信息——文档、代码、邮件、消息、工单、日历等——统一索引,并通过大语言模型提供自然语言问答体验,同时附上可溯源的引用链接。

图1:Xyne 系统概览,支持多数据源统一搜索
现代知识工作者的信息分散程度远超想象。一个典型的中大型科技公司,可能同时使用 Google Workspace(Drive/Docs/Sheets/Gmail/Calendar)、Atlassian(Jira/Confluence/Bitbucket)、Slack、GitHub、Notion、Salesforce、Zendesk 等十余种工具。信息孤岛问题导致:
Xyne 的核心思路是:不改变现有工具和工作流,而是在其上建立一层统一的知识访问层。它像一位不知疲倦的 AI 助理,既能像 Google 一样搜索,也能像 ChatGPT 一样回答基于真实企业内部数据的问题。
Xyne 采用 Bun + TypeScript 作为后端运行时,React + Vite + Tailwind CSS 构建前端,架构清晰、全栈统一:
| 层级 | 技术选型 | 说明 |
|---|---|---|
| 后端运行时 | Bun 1.x | 比 Node.js 更快的 JavaScript 运行时 |
| Web 框架 | Hono 4.x | 轻量高性能,支持中间件扩展 |
| 前端框架 | React 19 + Vite | 现代响应式 UI |
| 数据库 | PostgreSQL 15 | 结构化数据存储(用户、权限、工单等) |
| 向量搜索引擎 | Vespa | 开源高性能向量检索引擎(类比 Elasticsearch + FAISS) |
| ORM | Drizzle ORM | TypeScript 原生类型安全 ORM |
| AI SDK | @ai-sdk 系列 | 统一接入 OpenAI / Anthropic / Google / AWS Bedrock |
| RAG 框架 | LangChain (@langchain/core) | 检索增强生成管线 |
| 实时通信 | LiveKit | 音视频/实时能力(用于 agent 协作场景) |
Xyne 的核心技术挑战是在企业私有数据上实现高质量的检索增强生成(RAG)。其搜索管线分为以下几个阶段:
1. 数据接入层(Ingestion) 支持连接多种外部数据源:Google Workspace(Drive/Docs/Sheets/Slides/Gmail/Calendar/Contacts)、Atlassian(Jira/Confluence)、Slack、GitHub、Notion、Microsoft 365(Outlook/Teams/SharePoint)、Email(IMAP/SMTP)等。每个连接器负责将外部数据转换为统一的文档格式,并提取元数据(来源、权限、创建时间等)。
2. 文档处理层(Chunking) 将文档切分为适合检索的文本块(chunks)。Xyne 支持多种切分策略:
docxChunks.ts 文件达 83KB,包含完整的 Word 文档解析逻辑)html-to-text 库)3. 向量索引层(Vespa) 切分后的 chunks 送入 Vespa 建立向量索引。Vespa 是 Yahoo 开源的高性能向量搜索和全文检索引擎,支持:
4. 权限感知层(Permission Enforcement) 这是企业搜索区别于通用搜索的关键。Xyne 实时同步每个数据源的用户权限模型,确保搜索结果只返回当前用户有权限访问的内容。例如,Google Drive 文档的共享范围、Confluence 页面的空间权限、Jira 项目的访问级别——这些权限在检索阶段就被强制执行,而不是事后过滤。
5. 生成层(RAG + LLM) 查询流程:用户提问 → 检索相关 chunks → 将 chunks 作为上下文注入 prompt → 调用用户指定的 LLM 生成回答 → 附加来源链接。
支持的主流 LLM 提供商包括:
用户可自由选择模型,甚至在同一对话中切换——真正实现"模型无关"(Model Agnostic)。

图2:Xyne 支持 DeepSeek 等多种开源模型接入
xyne/
├── server/ # Bun + Hono 后端
│ ├── ai/ # AI 核心逻辑(prompts、context、model config)
│ ├── api/ # REST API 路由(admin、search、auth、ingestion等)
│ ├── db/ # 数据库 schema(PostgreSQL + Drizzle ORM)
│ ├── auth/ # 认证授权(OAuth 集成)
│ ├── eval/ # 评测数据集(RAGEval)
│ └── server.ts # 主入口
├── frontend/ # React + Vite 前端
│ ├── src/ # 组件、路由、状态管理
│ ├── vite.config.ts
│ └── tailwind.config.js
├── deployment/ # 部署配置
│ ├── docker-compose.yml # 生产级完整部署
│ ├── docker-compose.prod.yml
│ ├── setup-deployment.sh # 自动化部署脚本
│ └── prometheus/grafana # 可选监控栈
└── Dockerfile # 多阶段构建镜像
用户可以在单一界面搜索所有已接入数据源的内容,并以自然语言提问。例如:"Q3 季度关于性能优化的所有 Jira 评论"、"张工上个月发的关于 API 重构的 Slack 消息"、"所有包含 AI 规划的 Confluence 页面"。
AI 回答会以引用气泡的形式标注每个信息来源,支持一键跳转原始页面。
Xyne 支持类似 Notion 的斜杠命令(slash commands)交互,用户可以在对话中输入 /search、/ask、/summarize 等命令触发特定行为。
Xyne 支持多租户部署,每个组织(tenant)有独立的数据存储和用户体系。权限模型与各数据源的原生权限无缝对齐,无需额外配置。
接入数据源后,Xyne 会保持增量同步:新创建/修改的文档会被自动索引,无需手动刷新。同步频率可配置。

图3:Xyne 支持的企业应用集成(Google/Atlassian/Slack/GitHub/Notion 等)
Xyne 提供开箱即用的 Docker Compose 一键部署,同时也支持云端手动部署。
git clone https://github.com/xynehq/xyne
cd xyne
# 配置环境变量
cp server/.env.default server/.env
# 编辑 .env 填入必要配置
docker-compose -f deployment/docker-compose.yml up -d
部署架构包含 6 个核心容器:
提供专门的 start-aws-linux.sh 脚本和 setup-deployment.sh,支持在 AWS EC2 上自动化部署,包含 NVIDIA GPU 支持(用于 GPU 加速向量计算)。

图4:Google Workspace OAuth 集成配置界面
Xyne 所在的赛道——企业 AI 搜索(Enterprise AI Search)——近年来增长迅速。随着 ChatGPT 浪潮,企业对"让 AI 理解企业内部知识"的需求急剧上升。Glean 估值超 40 亿美元,Microsoft Copilot Search、Perplexity Enterprise 相继推出,印证了这一赛道的商业价值。
Xyne 的开源策略意义在于:让中小企业和重视数据隐私的组织,也能以低成本部署企业级 AI 搜索能力,而不必依赖昂贵的商业方案或将数据交给第三方 SaaS。Vespa 作为底层向量引擎的性能保证,加上模型无关的灵活性,使 Xyne 在开源同类产品中具备相当的竞争力。
Xyne 是一款面向企业的开源 AI 搜索与问答平台,目标是成为企业知识工作流的"统一智能入口"。它以 RAG 为核心,结合权限感知的向量检索,支持几乎所有主流企业 SaaS 工具的数据接入,并通过 Docker Compose 实现一键部署。对于希望摆脱信息孤岛、提升知识流转效率的企业来说,Xyne 提供了目前开源生态中最接近 Glean 商业体验的替代方案。