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构建的思维导图,能让用户更好的理解复杂的主题。
文件存储: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+
• 前端: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
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发现并分析相关资源。
内容处理团队:提取并结构化网页内容数据。
分析团队:综合多源信息。
内容创作团队:生成研究摘要。
常见问题生成团队:自动生成问答内容。
可视化团队:创建思维导图。
• 自动过滤和验证所有网络数据,采用结构化数据提取而非原始文本。
• 实施速率限制和错误处理机制。
• 使用住宅代理和反机器人检测技术,确保访问的合规性与可靠性。
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