miurla/morphic · 上手攻略
- 仓库:miurla/morphic
- 链接:https://github.com/miurla/morphic
- 分类:ai(rag)
- 作者:Jay
- 更新:2026-07-10
一、是什么
Morphic 是一个带有生成式 UI 的 AI 驱动搜索引擎。用户输入查询,它调用 AI 搜索多源内容,实时流式返回带引用来源的答案,答案中的内容块(图片、网格、标题)以结构化组件实时渲染,而非普通 Markdown 文本。
核心特点:Grounded answers with cited sources + Generative UI(生成式界面)。
二、解决什么问题
- 传统搜索引擎信息碎片:搜索结果是一堆链接,需要用户自己阅读;Morphic 直接给出汇总答案并标注来源
- AI 搜索幻觉:所有答案带可溯源引用,降低幻觉风险
- 搜索结果不够直观:生成式 UI 直接渲染图片、网格、结构化内容,比纯文本更直观
- 搜索工具链复杂:需要自己组合搜索 API + LLM + 前端;Morphic 开箱即用,一条命令跑起来
三、快速安装
推荐:Docker(最简)
# 拉取镜像
docker pull ghcr.io/miurla/morphic:latest
# 克隆并配置
git clone https://github.com/miurla/morphic.git
cd morphic
cp .env.local.example .env.local
# 编辑 .env.local,至少填一个 AI Provider
vim .env.local
# OPENAI_API_KEY=sk-...
# 或 ANTHROPIC_API_KEY=sk-...
# 或 GOOGLE_GENERATIVE_AI_API_KEY=...
# 启动(自动包含 PostgreSQL + Redis + SearXNG)
docker compose up -d
# 访问 http://localhost:3000
从源码安装(Node.js)
git clone https://github.com/miurla/morphic.git
cd morphic
bun install # 或 npm install
cp .env.local.example .env.local
# 配置 API Key
vim .env.local
# 启动
bun dev
# 访问 http://localhost:3000
⚠️ Node.js ≥ 18,建议用 Bun 以获得最佳开发体验
四、核心配置
4.1 AI Provider(必须至少配置一个)
# OpenAI(最简单)
OPENAI_API_KEY=sk-...
# Anthropic
ANTHROPIC_API_KEY=sk-...
# Google Gemini
GOOGLE_GENERATIVE_AI_API_KEY=...
# Ollama(本地模型,无需 API key)
OLLAMA_BASE_URL=http://localhost:11434
# Vercel AI Gateway(200+ 模型统一接入)
AI_GATEWAY_API_KEY=...
# OpenAI 兼容接口(DeepSeek / Moonshot / 自部署等)
OPENAI_COMPATIBLE_API_KEY=sk-...
OPENAI_COMPATIBLE_API_BASE_URL=https://api.deepseek.com/v1
OPENAI_COMPATIBLE_MODELS=deepseek-chat,deepseek-reasoner
OPENAI_COMPATIBLE_PROVIDER_NAME=DeepSeek
4.2 搜索 Provider
SearXNG(默认,包含在 Docker Compose 中,无需额外 API key):
SEARCH_API=searxng
SEARXNG_API_URL=http://localhost:8080
Tavily(需申请 API key):
TAVILY_API_KEY=tvly-...
Brave Search(视频/图片搜索增强):
BRAVE_SEARCH_API_KEY=...
4.3 数据库 & 持久化
# PostgreSQL(存储聊天记录,必须开启历史功能)
DATABASE_URL=postgresql://user:password@localhost:5432/morphic
# 初始化
bun run migrate
4.4 认证 & 多用户
# 默认匿名模式(适合个人使用)
ENABLE_AUTH=false
# 开启 Supabase 认证(多用户场景)
ENABLE_AUTH=true
NEXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=sb_publishable_xxx
SUPABASE_SECRET_KEY=sb_secret_xxx
4.5 访客模式(无需注册试玩)
ENABLE_GUEST_CHAT=true
# 可选限流
GUEST_CHAT_DAILY_LIMIT=10
UPSTASH_REDIS_REST_URL=https://xxx.upstash.io
UPSTASH_REDIS_REST_TOKEN=...
4.6 LLM 可观测性(Langfuse)
LANGFUSE_SECRET_KEY=...
LANGFUSE_PUBLIC_KEY=...
LANGFUSE_HOST=https://cloud.langfuse.com
4.7 文件上传(Cloudflare R2 / S3)
R2_ACCESS_KEY_ID=...
R2_SECRET_ACCESS_KEY=...
R2_ACCOUNT_ID=... # Cloudflare R2 专用
R2_BUCKET_NAME=...
4.8 内容提取增强(Jina)
JINA_API_KEY=...
五、核心用法
5.1 搜索模式
- Quick 模式:快速返回答案,适合简单问题
- Adaptive 模式:根据问题复杂度自动调整搜索深度
5.2 模型选择
在 UI 右上角的模型选择器中切换不同 AI Provider。Morphic 会动态检测已配置的 Provider 并显示对应模型列表。
⚠️ 研究 Agent(生成关联问题、深度搜索)依赖 tool calling 能力,确保所选模型支持 function calling
5.3 分享搜索结果
每条搜索结果有唯一 URL,可直接分享给其他人查看,无需登录。
5.4 SearXNG 自托管搜索
Docker Compose 默认启动 SearXNG,无需任何 API key 即可搜索。使用 .env.local 中的 SEARXNG_* 变量可调整搜索引擎选择、搜索深度、安全过滤等。
六、典型适用场景
- 个人 AI 搜索引擎:替代 Google/Bing,获得带来源的 AI 汇总答案
- 团队知识搜索:部署为内部工具,搜索内部文档(配合自定义 SearXNG 引擎)
- 研究辅助:学术搜索 + AI 摘要 + 来源追踪
- 竞品监控:配置特定搜索源,持续追踪行业动态
- 客服/文档机器人:文件上传 + 搜索问答能力
七、坑与注意
- API Key 安全:
.env.local不要提交到 Git;已配置.gitignore,确认生效 - 搜索质量:SearXNG 是元搜索引擎,搜索质量依赖其配置的引擎;国内可能需要 VPN 或配置其他 Provider(如 Tavily)
- 多轮对话:Morphic 本质是搜索引擎,非通用聊天机器人;每次搜索是独立上下文
- Docker 资源:PostgreSQL + Redis + SearXNG + Morphic 同时运行,建议分配 2GB+ RAM
- 版本更新:Docker 镜像定期更新,
docker compose pull获取最新版本 - Tool Calling:研究 Agent 功能要求模型支持 function calling;Ollama 部分模型可能不支持
- 迁移数据库:修改
.env.local中的DATABASE_URL后需重新运行bun run migrate
八、与同类对比
| 特性 | Morphic | Perplexity | ChatGPT 搜索 | Tavily |
|---|---|---|---|---|
| 生成式 UI | ✅ 实时结构化渲染 | ✅ | ❌ | ❌ |
| 自托管 | ✅ Docker | ❌ | ❌ | ✅ API |
| 多搜索源 | ✅ SearXNG/Tavily/Brave | ✅ | ✅ | ✅ |
| 多 AI Provider | ✅ 动态切换 | ❌ | ❌ | ❌ |
| 聊天历史 | ✅ PostgreSQL | ✅ | ✅ | ❌ |
| 开源 | ✅ Apache 2.0 | ❌ | ❌ | ❌ |
| 文件上传 | ✅ R2/S3 | ❌ | ✅ | ❌ |
| 认证系统 | ✅ Supabase | ✅ | ✅ | ❌ |
结论:需要开源、可自托管、带引用来源的 AI 搜索,选 Morphic;追求最强 AI 能力选 Perplexity;只需要搜索 API 选 Tavily。
九、一句话推荐结论
Morphic 将 AI 搜索做到了"开箱即用"——一行 Docker 命令跑起、可自托管、支持任意 LLM Provider、生成式 UI 让答案比传统搜索更直观,是个人/团队构建 AI 搜索引擎的零成本首选方案。
来源: - GitHub README(https://github.com/miurla/morphic) - Morphic 配置文档(https://github.com/miurla/morphic/blob/main/docs/CONFIGURATION.md) - Docker 指南(https://github.com/miurla/morphic/blob/main/docs/DOCKER.md)