科学工具
科学工具让世界更美好
让世界更美好

AI智能研究助手DecipherItAI智能研究助手DecipherIt

DecipherIt AI研究助手整合了不同来源的信息,利用 AI 分析这些信息,通过 Bright Data 的 MCP 服务器提供访问。

DecipherIt受Google NotebookLM启发,可将文档、网址或主题转换为综合性研究笔记本,提供AI生成摘要、交互式问答、音频概述、可视化思维导图和自动生成常见问题解答等。

传统研究往往耗时和碎片化,研究者常常面临以下的挑战:

• 信息过载:需要手动筛选大量资源,费时费力

• 地域限制:有时无法访问其他地区的内容和信息

• 爬虫限制:大量获取数据时会被机器人检测系统拦截

• 综合难题:难以关联来自不同地方的信息

• 格式转换:需要为不同的受众将研究成果转为不同的格式

DecipherIt通过整合Bright Data的MCP服务器,借助先进AI代理理解、综合信息,然后以不同的格式来展示信息,解决了上面的这些难题。

AI代理有策略的收集和规划数据,利用Bright Data搜索能力发现遍布世界各地的信息资源,从不同的维度整理这些信息。DecipherIt可以针对时事、学术等各类主题展开研究,最后输出能媲美人类研究者的深度分析报告。

用户可在单个研究项目中组合多种输入类型,这些类型包括:

• 上传文档:支持PDF、DOCX、PPTX、XLSX等格式

• 添加网址:定向获取特定的网页内容

• 手动输入内容:直接分析文本内容

• 主题检索:由AI驱动,从网络上搜索相关资源

最后所有的来源数据会被处理,然后整合到统一的研究报告中。

AI生成摘要:CrewAI代理会生成研究摘要,会整合不同来源的信息,内容撰写者可以构建出结构清晰、重点突出的分析报告。

交互式问答:通过基于Qdrant向量数据库的向量嵌入和语义搜索技术,帮助用户通过自然语言查询所需要的研究内容。系统会检索所有处理过的内容,提供上下文相关的解答。

音频概述:能按需将研究内容转换为播客音频,播客脚本会对话式的脚本,通过LemonFox TTS引擎合成高质量音频,我们会提供多个人工智能语音选项,方便用户根据需要将音频最后展示在不同的用户面前。

生成常见问题答案:AI代理会自动分析研究内容,生成相关问题的答案,能帮助用户快速把握研究主题的核心要点。

可视化的思维导图:思维导图的代理会分析并研究数据,生成交互式思维导图,基于react-mindmap-visualiser构建的思维导图,能让用户更好的理解复杂的主题。

DecipherIt 技术架构

文件存储:Cloudflare R2

网络爬取:Bright Data MCP Server

数据库:PostgreSQL(关系型数据库)、Qdrant(向量数据库)

AI服务:Google Gemini(通过OpenRouter调用)、OpenAI Embeddings、LemonFox TTS、MarkItDown

代理框架:CrewAI

前端:Next.js 15、React 19、TypeScript 5、Tailwind CSS 4、Shadcn/ui、Radix UI、Better Auth、Prisma、react-mindmap-visualiser、pnpm

后端:Python 3.12、FastAPI、CrewAI、Qdrant、SQLAlchemy、Pydantic、Loguru、uv

基础设施:Docker(容器化部署)、PostgreSQL 14+

DecipherIt配置和使用指南

系统环境要求

• 前端:Node.js 20+、pnpm

• 后端:Python 3.12+、uv、PostgreSQL 14+

• 可选:Docker(用于容器化部署)

快速启动

1、克隆仓库:

git clone https://github.com/mtwn105/decipher-research-agent.git
cd decipher-research-agent

2、配置前端:

cd client
pnpm install
cp .env.example .env.local
# 配置环境变量
pnpm prisma generate
pnpm prisma migrate dev

3、配置后端:

cd ../backend
uv venv
source .venv/bin/activate  # Windows系统使用 .venv\Scripts\activate
uv pip install -e .
cp .env.example .env
# 配置环境变量

4、启动开发服务器:

• 前端:在终端1执行 cd client && pnpm dev

• 后端:在终端2执行 cd backend && python server.py

Bright Data MCP服务器设置

1、注册Bright Data账号,获取API令牌。

2、默认自动创建Web Unlocker区域,也可以在控制面板自定义创建,实现对代理设置和使用限制的控制。

3、集成代码示例:

from mcp import StdioServerParameters
from crewai_tools import MCPServerAdapter

server_params = StdioServerParameters(
    command="pnpm",
    args=["dlx", "@brightdata/mcp"],
    env={
        "API_TOKEN": os.environ["BRIGHT_DATA_API_TOKEN"],
        "BROWSER_AUTH": os.environ["BRIGHT_DATA_BROWSER_AUTH"]
    },
)
环境变量配置

前端(.env.local):需配置数据库连接、认证密钥、Cloudflare R2存储等信息。

后端(.env):包含数据库、AI服务(OpenAI、OpenRouter、LemonFox)、Bright Data、向量数据库(Qdrant)及云存储等配置项。

多代理的工作流程

代理分工

网络爬取团队:负责数据收集策略制定与执行,包含爬取规划器、链接收集代理、网页爬取代理。

研究团队:利用Bright Data发现并分析相关资源。

内容处理团队:提取并结构化网页内容数据。

分析团队:综合多源信息。

内容创作团队:生成研究摘要。

常见问题生成团队:自动生成问答内容。

可视化团队:创建思维导图。

安全实践

• 自动过滤和验证所有网络数据,采用结构化数据提取而非原始文本。

• 实施速率限制和错误处理机制。

• 使用住宅代理和反机器人检测技术,确保访问的合规性与可靠性。

部署方案

Docker Compose配置示例
version: "3.8"
services:
  frontend:
    build: ./client
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgresql://postgres:password@db:5432/decipher
    depends_on:
      - db
      - backend

  backend:
    build: ./backend
    ports:
      - "8001:8001"
    environment:
      - DATABASE_URL=postgresql://postgres:password@db:5432/decipher
    depends_on:
      - db
      - qdrant

  db:
    image: postgres:15
    environment:
      - POSTGRES_DB=decipher
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=password
    volumes:
      - postgres_data:/var/lib/postgresql/data

  qdrant:
    image: qdrant/qdrant:latest
    ports:
      - "6333:6333"
    volumes:
      - qdrant_data:/qdrant/storage

volumes:
  postgres_data:
  qdrant_data:
启动命令
docker-compose up -d