项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 11925
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- 已安装 Docker 与 Docker Compose(Docker 方式)
- 已安装 Bun(本地 Node.js 方式运行)
- OpenAI 账号与 API Key(必需)
- Anthropic 账号与 API Key(必需)
- Exa 账号与 API Key(使用网页搜索功能时必需)
安装与启动步骤
-
1注册所需账号
README 明确要求注册 OpenAI、Anthropic(均必需)和 Exa(网页搜索必需)账号,并准备好各自 API Key,后续要写入环境变量文件。
-
2获取项目代码
把仓库克隆到本地并进入项目根目录,后续所有命令都在项目根目录执行(README 强调在 project root 运行)。
git clone https://github.com/zaidmukaddam/scira.git cd scira -
3创建环境变量文件
按 README 要求以 .env.example 为模板创建环境变量文件并填入 API 密钥:Docker 方式用 .env,本地 Node.js 方式用 .env.local。
cp .env.example .env -
4Docker Compose 启动
README 推荐方式。确认已安装 Docker 和 Docker Compose,在项目根目录执行后容器会自动构建并启动。
docker compose up -
5或用 Docker 直接运行
不习惯 Compose 时可先构建镜像再运行容器,通过 --env-file 注入密钥,并把容器 3000 端口映射到本机。
docker build -t scira.app . docker run --env-file .env -p 3000:3000 scira.app -
6本地 Node.js 运行
不用 Docker 时,先 bun install 安装依赖,再 bun dev 启动开发服务器,需要保证 .env.local 已填好密钥。
bun install bun dev
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
.env | 是 | Docker 方式使用的环境变量文件,基于 .env.example,填 API 密钥 | 由 .env.example 复制而来 |
.env.local | 是 | 本地 Node.js/Bun 方式使用的环境变量文件 | 由 .env.example 复制而来 |
OPENAI_API_KEY | 是 | OpenAI 模型密钥,README 标注为必需(变量名以 .env.example 为准) | sk-xxxxxxxxxxxxxxxx |
ANTHROPIC_API_KEY | 是 | Anthropic 模型密钥,README 标注为必需(变量名以 .env.example 为准) | sk-ant-xxxxxxxxxxxxxxxx |
EXA_API_KEY | 是 | Exa 搜索密钥,使用网页搜索功能时必需(变量名以 .env.example 为准) | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
如何确认成功
启动完成后浏览器打开 http://localhost:3000,能看到 Scira 界面并能正常提问即成功。
常见问题
Q:Docker Compose 和 Docker 命令该选哪个?
A:README 推荐使用 Docker Compose,一条 docker compose up 即可;直接 docker build + docker run 适合需要手动控制镜像和容器参数的场景。
Q:环境变量文件到底用 .env 还是 .env.local?
A:Docker 两种方式都读取 .env;本地用 Bun 运行时应复制为 .env.local 并填入密钥。
Q:没有全部 API Key 能启动吗?
A:README 把 OpenAI、Anthropic 标为必需、Exa 为搜索功能必需,缺少对应密钥时相关能力无法正常工作。
Q:3000 端口被占用怎么办?
A:修改 docker run 的端口映射,例如 -p 3001:3000,然后访问 http://localhost:3001。
注意事项
- 生产镜像采用多阶段构建,运行在 Node.js LTS + Alpine Linux 上,体积较小。
- 密钥只写在 .env / .env.local 中,不要提交到 Git 仓库。
- 不同版本的依赖与功能差异较大,最终以仓库内 .env.example 给出的变量名为准。
核心亮点
- 基于 Vercel AI SDK,流式输出体验流畅,代码结构清晰易扩展
- 支持多种 LLM 和搜索后端,可灵活切换,适配不同场景
- 界面极简现代,响应式设计,移动端体验良好
不足之处
- 依赖外部 AI 和搜索服务,自部署需自行配置 API Key,成本可控性一般
- 文档/社区待观察
适用场景
- 个人开发者快速搭建 AI 搜索原型或自用搜索工具
- 企业内网部署私有化 AI 搜索,避免数据外泄
- 作为教学示例,学习 AI 应用与搜索集成的架构设计
替代项目
Perplexica、Khoj、MindSearch
同类项目推荐
YT-Navigator
开源
搜 YouTube 视频内容,像聊天一样直接问,秒出带时间戳的答案
YT Navigator: AI-powered YouTube content explorer that lets you search and chat with···
gc-qa-rag
开源
把文档变成精准问答对,让 RAG 回答更靠谱
A RAG (Retrieval-Augmented Generation) solution Based on Advanced Pre-generated QA P···
fojin
开源
一站式检索万部佛典,AI 问答直达经义
Buddhist Digital Text Platform — 10,500+ texts, 613 sources, trilingual cross-canon···
MySearch-Proxy
开源
一个接口搞定多种搜索源,让 AI 实时获取信息
Unified search MCP, proxy console, and skill for Tavily, Firecrawl, and Social / X.
youtu-rag
开源
让 AI 自己规划检索,复杂问题答得更准
Youtu-RAG: Next-Generation Agentic Intelligent Retrieval-Augmented Generation System
rag-postgres-openai-python
开源
用大白话问数据库表,直接出答案还带出处
A RAG app to ask questions about rows in a database table. Deployable on Azure Conta···
geo-seo-claude
开源
让网站被 AI 搜索引用,一键出诊断报告
GEO-first SEO skill for Claude Code. Comprehensive AI search optimization for any we···
vector-graph-rag
开源
纯向量搜索实现图RAG,多跳推理性能SOTA
Graph RAG with pure vector search, achieving SOTA performance in multi-hop reasoning···
openchatbi
开源
用聊天代替写SQL,一句话查数出图
OpenChatBI is an intelligent chat-based BI tool powered by large language models, de···
