Olama Deep研究员DXT扩展
概述
Ollama深度研究员 是一个桌面扩展(DXT),它使用网络搜索和LLM合成来实现高级主题研究,由本地MCP服务器提供支持。它支持可配置的研究参数、状态跟踪和资源访问,旨在与DXT生态系统无缝集成。
- 研究任何主题 使用网络搜索API(Tavily、Perplexity、Exa)和LLM(Ollama、DeepSeek等)
- 配置 最大研究循环、LLM模型和搜索API
- 轨道状态 正在进行的研究
- 获取研究成果 通过MCP协议作为资源
特性
- 通过stdio实现MCP协议,以实现本地安全操作
- 防御性编程:错误处理、超时和验证
- 通过stderr进行日志记录和调试
- 与DXT主机环境兼容
目录结构
.
├── manifest.json # DXT manifest (see MANIFEST.md for spec)
├── src/
│ ├── index.ts # MCP server entrypoint (Node.js, stdio transport)
│ └── assistant/ # Python research logic
│ └── run_research.py
├── README.md # This documentation
└── ...安装和设置
- 克隆存储库 并安装依赖项:
git clone
cd mcp-server-ollama-deep-researcher
npm install- 安装Python依赖项 对于助理:
cd src/assistant
pip install -r requirements.txt
# or use pyproject.toml/uv if preferred- 设置所需的环境变量 对于web搜索API:
- 对于塔维利: TAVILY_API_KEY - 对于困惑: PERPLEXITY_API_KEY - 例如: EXA_API_KEY (点击此处获取您的https://dashboard.exa.ai/api-keys) - 例子:
export TAVILY_API_KEY=your_tavily_key
export PERPLEXITY_API_KEY=your_perplexity_key
export EXA_API_KEY=your_exa_key- 构建TypeScript服务器 (如果需要):
npm run build- 在本地运行扩展进行测试:
node dist/index.js
# Or use the DXT host to load the extension per DXT documentation用法
- 研究一个主题:
- 使用 research 工具与 { "topic": "Your subject" }
- 获取研究状态:
- 使用 get_status 工具
- 配置研究参数:
- 使用 configure 具有以下任一功能的工具: maxLoops, llmModel, searchApi
清单
看 manifest.json 获取完整的DXT清单,包括工具模式和资源模板。跟随 DXT MANIFEST.md.
日志记录和调试
- 所有服务器日志和错误都输出到
stderr用于调试。 - 5分钟后,研究子进程将被终止,以防止挂起。
- 无效请求和配置错误会返回清晰、结构化的错误消息。
安全与最佳实践
- 所有工具模式在执行前都经过验证。
- API密钥是web搜索API所必需的,并且从不记录。
- MCP协议通过stdio用于本地安全通信。
测试与验证
- 通过将扩展加载到DXT兼容主机中来验证它。
- 确保所有工具调用都返回有效、结构化的JSON响应。
- 检查清单是否加载,扩展是否注册为DXT。
故障排除
- 缺少API密钥: 确保
TAVILY_API_KEY,PERPLEXITY_API_KEY,或EXA_API_KEY根据您使用的搜索API在您的环境中进行设置。 - Python错误: 检查Python依赖关系并登录
stderr. - 超时: 研究子过程限制为5分钟。
搜索API比较
- 塔维利: 快速、全面的网络搜索,可提取原始内容
- 困惑: 基于人工智能的搜索,带有自然语言摘要和引用
- 考试: 针对具有亮点的语义搜索进行优化的神经搜索引擎
参考文献
______________________________________________________________________
