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(生成式界面)。


二、解决什么问题

  1. 传统搜索引擎信息碎片:搜索结果是一堆链接,需要用户自己阅读;Morphic 直接给出汇总答案并标注来源
  2. AI 搜索幻觉:所有答案带可溯源引用,降低幻觉风险
  3. 搜索结果不够直观:生成式 UI 直接渲染图片、网格、结构化内容,比纯文本更直观
  4. 搜索工具链复杂:需要自己组合搜索 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_* 变量可调整搜索引擎选择、搜索深度、安全过滤等。


六、典型适用场景

  1. 个人 AI 搜索引擎:替代 Google/Bing,获得带来源的 AI 汇总答案
  2. 团队知识搜索:部署为内部工具,搜索内部文档(配合自定义 SearXNG 引擎)
  3. 研究辅助:学术搜索 + AI 摘要 + 来源追踪
  4. 竞品监控:配置特定搜索源,持续追踪行业动态
  5. 客服/文档机器人:文件上传 + 搜索问答能力

七、坑与注意

  1. API Key 安全.env.local 不要提交到 Git;已配置 .gitignore,确认生效
  2. 搜索质量:SearXNG 是元搜索引擎,搜索质量依赖其配置的引擎;国内可能需要 VPN 或配置其他 Provider(如 Tavily)
  3. 多轮对话:Morphic 本质是搜索引擎,非通用聊天机器人;每次搜索是独立上下文
  4. Docker 资源:PostgreSQL + Redis + SearXNG + Morphic 同时运行,建议分配 2GB+ RAM
  5. 版本更新:Docker 镜像定期更新,docker compose pull 获取最新版本
  6. Tool Calling:研究 Agent 功能要求模型支持 function calling;Ollama 部分模型可能不支持
  7. 迁移数据库:修改 .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)