项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1727
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Node.js 环境(Next.js 应用运行所需)
- 一个 Supabase 项目或本地 Supabase CLI 环境(提供 pgvector 与数据库)
- OpenAI API Key(用于生成嵌入和文本补全)
- Vercel 账号(README 推荐的一键部署平台)
安装与启动步骤
-
1获取项目代码
把模板仓库克隆到本地,后续所有配置都在项目根目录下进行。
git clone https://github.com/supabase-community/nextjs-openai-doc-search.git cd nextjs-openai-doc-search -
2安装项目依赖
在项目根目录安装 Next.js 应用的依赖包,确保后续可以构建和本地预览。
npm install -
3复制环境变量文件
README 明确要求先把示例环境变量文件复制成实际使用的 .env 文件。
cp .env.example .env -
4填写 OpenAI 密钥
编辑 .env,把 OPENAI_KEY 换成你自己的 OpenAI API Key,这是唯一必须手动设置的变量。
-
5启动 Supabase 获取密钥
README 提示必须先运行 Supabase 才能拿到密钥,迁移会在此步骤自动建表和启用 pgvector。
supabase start -
6填入 Supabase 密钥
把上一步得到的 NEXT_PUBLIC_SUPABASE_ANON_KEY 与 SUPABASE_SERVICE_ROLE_KEY 写进 .env。
-
7部署到 Vercel
README 推荐直接部署到 Vercel,Supabase 集成会自动注入环境变量并配置数据库 Schema,只需设置 OPENAI_KEY。
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_KEY | 是 | OpenAI API 密钥,用于生成嵌入与文本补全 | sk-xxxxxxxxxxxxxxxx |
NEXT_PUBLIC_SUPABASE_ANON_KEY | 是 | Supabase 匿名密钥,前端访问数据库使用 | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxxxxx |
SUPABASE_SERVICE_ROLE_KEY | 是 | Supabase 服务角色密钥,构建时写入嵌入数据使用 | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.yyyyyyyy |
如何确认成功
打开部署或本地站点,在搜索框输入自然语言问题,能返回流式生成且带引用来源的答案即成功。
常见问题
Q:如何获取 Supabase 的两个密钥?
A:README 说明必须先运行 supabase start,启动本地实例后在输出中获取 anon key 和 service role key,再填入 .env。
Q:数据库表和 pgvector 扩展需要手动创建吗?
A:不需要。初始化 SQL 位于 supabase/migrations 目录,运行 supabase start 时会自动应用到本地 Postgres;部署到 Vercel 时 Supabase 集成会自动配置 Schema。
Q:知识库内容从哪来?
A:构建时会读取 pages 目录下的所有 .mdx 文件,分块后生成向量嵌入并存入 Postgres 的 pgvector,替换这些文件即可换成自己的内容。
Q:运行时是怎么工作的?
A:用户提问后由 Edge Function(pages/api/vector-search.ts)先做向量相似度检索,再把相关内容注入 GPT-3 补全提示,以流式返回给前端 SearchDialog 组件。
注意事项
- README 强调只需手动设置 OPENAI_KEY,其余环境变量由 Supabase 集成自动注入。
- 嵌入向量维度为 1536,对应 OpenAI 的 embedding 输出。
- 向量检索与流式回答的核心文件是 components/SearchDialog.tsx 和 pages/api/vector-search.ts。
- 本教程依据 README 节选整理,具体端口与详细部署按钮请以官方仓库和 Supabase 博客为准。
核心亮点
- 内置向量搜索与 OpenAI 生成式回答,语义理解准确
- 支持流式输出和引用来源,答案可信可追溯
- 基于 Next.js 和 Supabase,全栈 TypeScript,部署简单
不足之处
- 依赖 OpenAI 和 Supabase 外部服务,成本与网络需自担
- 文档/社区待观察,模板功能相对基础,高级定制需自行扩展
适用场景
- 企业产品文档的智能客服问答
- 开发者快速搭建内部知识库检索工具
- 为静态文档站点添加 AI 对话式搜索
替代项目
ChatGPT Retrieval Plugin、quivr、docsgpt
同类项目推荐
fess
开源
自建一个搜索,公司文档网页全都能翻
Open-source, self-hosted enterprise & site search server built on OpenSearch. Crawls···
cognita
开源
模块化 RAG 框架,快速搭建生产级问答应用
RAG (Retrieval Augmented Generation) Framework for building modular, open source app···
searxNcrawl
开源
给 AI 装搜索和整站抓取,免 Key 自托管
Open-source MCP server that gives AI agents web search (SearXNG) and clean Markdown ···
denser-chat
开源
上传 PDF,直接提问,答案带原文高亮。
Chat with PDF files with source highlights
DyPRAG
开源
测试时动态更新模型参数,让知识永不落伍
[NeurIPS 2026 TTCL] Dynamic Parametric Retrieval Augmented Generation for Test-time ···
StruInfo
开源
把文档变成可追溯、可编辑的知识图谱,数据自己掌控
Self-hosted, traceable document-to-knowledge workspace with deterministic workflows,···
fojin
开源
一站式检索万部佛典,AI 问答直达经义
Buddhist Digital Text Platform — 10,500+ texts, 613 sources, trilingual cross-canon···
LLMSys-PaperList
开源
按主题整理 LLM 系统论文,快速找到方向内必读清单
Large Language Model (LLM) Systems Paper List
logseq-copilot
开源
浏览器里随手搜 Logseq 笔记,不用切窗口
Logseq Copilot is a Browser extension that allows you to access your Logseq via your···
