具有持久记忆的AI研究助理
再也不会失去研究进展——你的人工智能会记住它学到的一切
使用E2B沙盒和Docker MCP服务器为MCP代理黑客马拉松而构建。
______________________________________________________________________
🎯 特性
- 🔍 深度网络研究:使用Exa+Firecrawl MCP搜索和抓取内容
- 🧠 知识图谱记忆:在Redis中构建持久实体关系图
- 💾 会话连续性:在沙盒重启过程中恢复研究
- 🔄 重试逻辑:具有指数回退的稳健错误处理
- ⚡ 生产准备就绪:TypeScript、测试、干净的架构
______________________________________________________________________
🏗️ 建筑
┌─────────────────────────────────────────────────────────────┐
│ User (CLI Interface) │
└─────────────────────┬───────────────────────────────────────┘
│
┌─────────────────────▼───────────────────────────────────────┐
│ Research Agent │
│ (Node.js/TypeScript + Claude Haiku 4.5) │
└─────────────────────┬───────────────────────────────────────┘
│
┌─────────────────────▼───────────────────────────────────────┐
│ E2B Sandbox + MCP Gateway │
│ │
│ ┌──────────┐ ┌──────────┐ ┌────────────────────────┐ │
│ │ Exa MCP │ │Firecrawl │ │ Upstash Redis SDK │ │
│ │(Search) │ │ MCP │ │ (Persistent Storage) │ │
│ │ │ │(Scrape) │ │ │ │
│ └──────────┘ └──────────┘ └────────────────────────┘ │
└──────────────────────────────────────────────────────────────┘技术方法:
- Exa MCP:语义网搜索(每个查询5个结果)
- Firecrawl MCP:使用markdown转换进行网络抓取
- 升级Redis SDK:持久知识图存储
- 克劳德·海库4.5:查询规划、知识提取、报告合成
- E2B沙箱:安全的MCP执行环境
______________________________________________________________________
🚀 快速开始
先决条件
- Node.js 18+
- API密钥 (都有免费等级):
- 苯甲酸雌二醇 -$100免费积分 - Anthropic -5美元免费 - 升级Redis -10K指令/天 - 火爬 -500学分/月 - 艾克萨 -1000次搜索/月
安装
# Clone repository
git clone
cd ai-research-assistant
# Install dependencies
npm install
# Configure environment variables
cp .env.example .env
# Edit .env with your API keys
# Verify API keys work
npm run verify-keys
# Start the assistant
npm start______________________________________________________________________
💻 用法
交互式CLI
npm start可用命令:
- 研究查询:键入任何研究问题
🔬 > quantum computing breakthroughs 2024- 列出会话:查看过去的研究会议
🔬 > sessions- 继续会话:恢复以前的研究
🔬 > load 1763827232780-lapqut
🔬 > Tell me more about IBM quantum- 退出:退出应用程序
🔬 > exit示例会话
🔬 > quantum computing 2024
🔍 Researching...
✅ Found 5 sources
📄 Scraped 3 articles
🧠 Extracted 6 entities
💾 Stored in Redis
📊 Knowledge Graph:
Entities:
• Quantum Computing [concept]
• IBM [organization]
• Google Quantum AI [organization]
Relations:
• IBM --[researches]--> Quantum Computing
📝 Research Report:
Recent breakthroughs in quantum computing...______________________________________________________________________
🧪 测试
# Run full cycle test (all 3 tests)
npm test
# Individual test suites
npm run test:sandbox # E2B sandbox creation
npm run test:mcp # MCP Gateway connection
npm run test:redis # Redis persistence
npm run test:search # Anthropic + MCP integration
# Verify API keys
npm run verify-keys测试覆盖范围:
- ✅ E2B沙盒创建(639ms)
- ✅ MCP网关连接(7个工具)
- ✅ Redis跨重启的持久性
- ✅ 完整的研究周期端到端
- ✅ 会话继续
- ✅ 知识图合并
______________________________________________________________________
🏆 黑客马拉松标准对齐
技术质量(33%)
- ✅ 2台MCP服务器 集成(Exa、Firecrawl)
- ✅ TypeScript 正确打字
- ✅ 干净的建筑:代理、服务、实用工具
- ✅ 重试逻辑 指数回退
- ✅ E2B SDK 正确使用(Sandbox.create、MCP网关)
- ✅ 测试覆盖率:100%关键路径
创造力和问题契合度(33%)
- ✅ 真正的问题:研究人员在会话之间失去了上下文切换
- ✅ 新颖的方法:知识图谱+持久记忆
- ✅ 智能解决方案:用于存储的混合Redis SDK(实用与纯MCP)
- ✅ 惊人的能力:重启沙盒后恢复研究
生产准备和演示(33%)
- ✅ 专业CLI 命令明确
- ✅ 错误处理:重试逻辑、回退、优雅的失败
- ✅ 第一次尝试就成功了:所有测试均通过
- ✅ 净值:“再也不会失去研究进展”
- ✅ 文档:README,.env.example,内联注释
______________________________________________________________________
📁 项目结构
ai-research-assistant/
├── src/
│ ├── agent/
│ │ └── ResearchAgent.ts # Main research orchestrator
│ ├── services/
│ │ └── SessionManager.ts # Session persistence
│ ├── utils/
│ │ ├── graph.ts # Knowledge graph utilities
│ │ └── retry.ts # Retry logic
│ ├── mocks/
│ │ └── research-data.ts # Mock data for testing
│ └── cli.ts # Interactive CLI interface
├── tests/
│ ├── test-sandbox.ts # E2B sandbox tests
│ ├── test-mcp-gateway.ts # MCP connection tests
│ ├── test-redis-persistence.ts # Redis persistence tests
│ ├── test-search-scrape.ts # Anthropic + MCP tests
│ └── test-full-cycle.ts # End-to-end tests
├── scripts/
│ └── verify-keys.ts # API key verification
├── .env.example # Environment template
├── package.json
├── tsconfig.json
└── README.md______________________________________________________________________
🔑 关键技术决策
- 混合存储方法:由于E2B沙盒连接限制,直接使用Uptash Redis SDK而不是Redis MCP
- 工具调用语法:
callTool({ name: 'tool', arguments: {...} })MCP SDK要求的格式 - 克劳德·海库4.5:研究任务的速度和质量的最佳平衡
- 基于会话的体系结构:每个研究会话都有一个唯一的ID用于持久性
- 使用指数回退重试:所有MCP调用都包含重试逻辑(3次尝试)
______________________________________________________________________
📊 性能指标
- 沙盒创建:~5秒
- 研究周期:~45秒
- 每次查询成本: ~$0.08
- MCP工具可用:7(考试:1,Firecrawl:6)
- 代码:约1200行TypeScript
- 测试通过率:100%(3/3关键测试)
______________________________________________________________________
🛠️ 发展
# Development mode (watch for changes)
npm run dev
# Run specific test
npm run test:mcp
# Type check
npx tsc --noEmit
# Format code
npx prettier --write src/______________________________________________________________________
🚨 故障排除
“MCP错误-32602:未知工具”
- 创建沙盒后等待5-10秒,以便MCP服务器初始化
- 验证正确的工具名称前缀(例如。,
exa-web_search_exa)
“Redis持久性失败”
- 确保
UPSTASH_REDIS_REST_URL和UPSTASH_REDIS_REST_TOKEN都在.env - 检查Upstash仪表板是否存在连接问题
“Anthropic API超时”
- 减少
max_tokens在ResearchAgent(目前为1024-2048) - 检查API密钥是否有剩余信用
______________________________________________________________________
📄 许可证
麻省理工学院许可证-为MCP代理黑客马拉松而建
______________________________________________________________________
🙏 致谢
为 MCP代理黑客马拉松 由E2B和Docker组织。
技术:
______________________________________________________________________
🎬 演示视频
\[此处将添加演示视频链接\]
______________________________________________________________________
内置于❤️ 为MCP代理黑客马拉松2024
