[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-qx-labs--agents-deep-research":3,"tool-qx-labs--agents-deep-research":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",149489,2,"2026-04-10T11:32:46",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":32,"env_os":92,"env_gpu":93,"env_ram":94,"env_deps":95,"category_tags":102,"github_topics":104,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":111,"updated_at":112,"faqs":113,"releases":142},6353,"qx-labs\u002Fagents-deep-research","agents-deep-research","An implementation of iterative deep research using the OpenAI Agents SDK","agents-deep-research 是一款基于 OpenAI Agents SDK 构建的智能深度研究助手，旨在自动化完成复杂课题的深入调研与报告撰写。它解决了传统搜索工具信息碎片化、难以生成系统化长篇内容的问题，能够自主迭代地挖掘知识盲区，最终输出结构严谨、引用详实的研究成果。\n\n该工具特别适合研究人员、分析师、开发者及需要快速获取高质量行业洞察的专业人士使用。无论是撰写千字以内的简报，还是二十页以上的深度专著，它都能灵活应对。其核心亮点在于独特的双模式架构：轻量级的“迭代研究者”适合快速出稿；而强大的“深度研究者”则采用多智能体协作机制，先规划大纲，再并行调用多个子代理分章节攻关，通过“发现缺口 - 选择工具 - 执行搜索 - 综合总结”的闭环不断精进内容。此外，它拥有极佳的兼容性，不仅支持 OpenAI、Anthropic、Gemini 等主流大模型，也能连接本地部署模型（如 Ollama），并允许用户轻松扩展自定义工具，是实现全自动、无干预深度研究的得力伙伴。","\u003Cdiv align=\"center\">\n\n[![GitHub Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fqx-labs\u002Fagents-deep-research?style=social)](https:\u002F\u002Fgithub.com\u002Fqx-labs\u002Fagents-deep-research\u002Fstargazers)\n[![GitHub Forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fqx-labs\u002Fagents-deep-research?style=social)](https:\u002F\u002Fgithub.com\u002Fqx-labs\u002Fagents-deep-research\u002Fnetwork\u002Fmembers)\n\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fdeep-researcher.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fdeep-researcher\u002F)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fqx-labs\u002Fagents-deep-research)](https:\u002F\u002Fgithub.com\u002Fqx-labs\u002Fagents-deep-research\u002Fblob\u002Fmain\u002FLICENSE)\n[![PyPI Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqx-labs_agents-deep-research_readme_b8564a30b0f0.png)](https:\u002F\u002Fpepy.tech\u002Fprojects\u002Fdeep-researcher)\n\n\u003C\u002Fdiv>\n\n# Agentic Deep Research using the OpenAI Agents SDK\n\nA powerful deep research assistant built using the [OpenAI Agents SDK](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python), designed to perform in-depth research on any given topic. Compatible with Azure OpenAI, OpenAI, Anthropic, Gemini, DeepSeek, Perplexity, OpenRouter, Hugging Face and local models such as Ollama.\n\nIt uses a multi-agent architecture that works iteratively, continually refining its understanding of a topic and producing increasingly detailed insights that feed the final report.\n\nDesigned to be extendable to use custom tools and any other 3rd party LLMs compatible with the OpenAI API spec. LLM and tool calls can be optionally traced using OpenAI's tracing feature.\n\nSome background reading [here](https:\u002F\u002Fwww.j2.gg\u002Fthoughts\u002Fdeep-research-how-it-works).\n\n## Overview\n\nThis package has two modes of research:\n\n- An `IterativeResearcher` which runs a continuous loop of research on a topic or sub-topic and drafts a report\n  - This is preferred and sufficient for shorter reports (up to 5 pages \u002F 1,000 words)\n  - The user can specify constraints such as research depth, time limits, report length and formatting instructions\n- A `DeepResearcher` which runs a more thorough and structured process, first forming a report outline, and then running concurrent `IterativeResearcher` instances for each section of the report\n  - This is useful for longer reports (e.g. 20+ pages)\n\nThe flow of the `DeepResearcher` is as follows:\n\n1. Takes a research topic and conducts preliminary research to form a report outline \u002F plan\n2. For each section of the report plan, runs parallel instances of the `IterativeResearcher`, which:\n   1. Identifies knowledge gaps in the current research\n   2. Strategically selects the appropriate tools to fill those gaps\n   3. Executes research actions through specialized agents\n   4. Synthesizes findings into a comprehensive section\n3. Compiles all of the sections into a coherent and well-structured report\n\nIt is worth noting that the deep research agent does not ask clarifying questions at the start, so can be used in an automated fashion.\n\n## Sample Output\n\nDeep Research Examples (using DeepResearcher):\n- [Life and Works of Plato](examples\u002Fsample_output\u002Fplato.md) - 7,980 words\n- [Text Book on Quantum Computing](examples\u002Fsample_output\u002Fquantum_computing.md) - 5,253 words\n- [Deep-Dive on Tesla](examples\u002Fsample_output\u002Ftesla.md) - 4,732 words\n\nSimple Research Examples (using IterativeResearcher):\n- [Quantera Market Size](examples\u002Fsample_output\u002Fquantera_market_size.md) - 1,001 words\n- [UK Government Policies](examples\u002Fsample_output\u002Flabour_policies.md) - 1,077 words\n\n## Flow Diagram\n\n### IterativeResearcher Flow\n\n```mermaid\nflowchart LR\n    A[\"User Input\u003Cbr>- query\u003Cbr>- max_iterations\u003Cbr>- max_time\u003Cbr>- output_instructions\"] --> B\n\n    subgraph \"Deep Research Loop\"\n        B[\"Knowledge\u003Cbr>Gap Agent\"] -->|\"Current gaps\u003Cbr>& objective\"| C[\"Tool Selector\u003Cbr>Agent\"]\n        C -->|\"Tool queries\u003Cbr>(run in parallel)\"| D[\"Tool Agents\u003Cbr>- Web Search\u003Cbr>- Crawler\u003Cbr>- Custom tools\"]\n        D -->|\"New findings\"| E[\"Observations\u003Cbr>Agent\"]\n        E --> |\"Thoughts on findings\u003Cbr>and research strategy\"| B\n    end\n\n    E --> F[\"Writer Agent\u003Cbr>(final output\u003Cbr>with references)\"]\n```\n\n### DeepResearcher Flow\n\n```mermaid\nflowchart LR\n    A[\"User Input\u003Cbr>- query\u003Cbr>- max_iterations\u003Cbr>- max_time\"] --> B[\"Planner Agent\"]\n    \n    B -->|\"Report plan\u003Cbr>(sections & background context)\"| D2\n    \n    subgraph Parallel[\"Parallel Section Research\"]\n        D1[\"IterativeResearcher\u003Cbr>(Section 1)\"]\n        D2[\"IterativeResearcher\u003Cbr>(Section 2)\"]\n        D3[\"IterativeResearcher\u003Cbr>(Section 3)\"]\n    end\n    \n    D1 -->|\"Section 1\u003Cbr>Draft\"| E[\"Proofreader\u003Cbr>Agent\"]\n    D2 -->|\"Section 2\u003Cbr>Draft\"| E\n    D3 -->|\"Section 3\u003Cbr>Draft\"| E\n    \n    E --> F[\"Final\u003Cbr>Research\u003Cbr>Report\"]\n```\n\n## Installation\n\nInstall using `pip`:\n\n```\npip install deep-researcher\n```\n\nOr clone the GitHub repo:\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fqx-labs\u002Fagents-deep-research.git\ncd agents-deep-research\npip install -r requirements.txt\n```\n\nThen create a `.env` file with your API keys:\n\n```sh\ncp .env.example .env\n```\n\nEdit the `.env` file to add your OpenAI, Serper and other settings as needed, e.g.:\n\n```sh\nOPENAI_API_KEY=\u003Cyour_key>\nSEARCH_PROVIDER=serper  # or set to openai\nSERPER_API_KEY=\u003Cyour_key>\n```\n\n## Usage\n\n### Python Module\n\n```python\n# See the \u002Fexamples folder for working examples\nimport asyncio\nfrom deep_researcher import IterativeResearcher, DeepResearcher\n\n# Run the IterativeResearcher for simple queries\nresearcher = IterativeResearcher(max_iterations=5, max_time_minutes=5)\nquery = \"Provide a comprehensive overview of quantum computing\"\nreport = asyncio.run(\n    researcher.run(query, output_length=\"5 pages\")\n)\n\n# Run the DeepResearcher for more lengthy and structured reports\nresearcher = DeepResearcher(max_iterations=3, max_time_minutes=5)\nreport = asyncio.run(\n    researcher.run(query)\n)\n\nprint(report)\n```\n\n#### Custom LLM Configuration at Runtime\n\nWhen running the deep researcher in Python, you have the option to set custom LLM configuration variables at runtime. This gives you flexibility to dynamically change the model choice within your code.\n\n```python\nimport asyncio\nfrom deep_researcher import DeepResearcher, LLMConfig\n\n# These configuration options will take precedence over the environment variables\nllm_config = LLMConfig(\n    search_provider=\"serper\",\n    reasoning_model_provider=\"openai\",\n    reasoning_model=\"o3-mini\",\n    main_model_provider=\"openai\",\n    main_model=\"gpt-4o\",\n    fast_model_provider=\"openai\",\n    fast_model=\"gpt-4o-mini\"\n)\nresearcher = DeepResearcher(max_iterations=3, max_time_minutes=5, config=llm_config)\nreport = asyncio.run(\n    researcher.run(query)\n)\n```\n\n### Command Line\n\nRun the research assistant from the command line.\n\nIf you've installed via `pip`:\n```sh\ndeep-researcher --mode deep --query \"Provide a comprehensive overview of quantum computing\" --max-iterations 3 --max-time 10 --verbose\n```\n\nOr if you've cloned the GitHub repo:\n\n```sh\npython -m deep_researcher.main --mode deep --query \"Provide a comprehensive overview of quantum computing\" --max-iterations 3 --max-time 10 --verbose\n```\n\nParameters:\n\n- `--query`: The research topic or question (if not provided, you'll be prompted)\n- `--mode`: If `deep` uses the DeepResearcher, if `simple` uses the IterativeResearcher (default: deep)\n- `--max-iterations`: Maximum number of research iterations (default: 5)\n- `--max-time`: Maximum time in minutes before the research loop auto-exits to produce a final output (default: 10)\n- `--output-length`: Desired output length for the report (default: \"5 pages\")\n- `--output-instructions`: Additional formatting instructions for the final report\n\nBoolean Flags:\n\n- `--verbose`: Prints the research progress to console\n- `--tracing`: Traces the workflow on the OpenAI platform (only works for OpenAI models)\n\n## Compatible Models\n\nThe deep researcher is designed to run any model compatible with the OpenAI API spec, and does so by adjusting the `base_url` parameter to the relevant model provider. Compatible providers include Azure OpenAI, OpenAI, Anthropic, Gemini, DeepSeek, Hugging Face and OpenRouter as well as locally hosted models via Ollama and LM Studio.\n\nHowever, in order for the deep researcher to be run without errors it relies on models that are highly performant at tool calling.\n\n- If using OpenAI models, we find that the `gpt-4o-mini` is as good if not better at tool selection than `o3-mini` (which is consistent with [this leaderboard](https:\u002F\u002Fgorilla.cs.berkeley.edu\u002Fleaderboard.html)). Given the speed and cost benefits we therefore advise using `gpt-4o-mini` as the model for the majority of agents in our workflow, with `o3-mini` for planning tasks and `gpt-4o` for final writing.\n- If using Gemini models, note that only Gemini 2.5 Pro (currently `gemini-2.5-pro-preview-03-25`) works well. Gemini 2.0 Flash (`gemini-2.0-flash`), despite being listed as compatible with tool calling, very frequently fails to call any tools.\n\n## Architecture\n\nThe Deep Research Assistant is built with the following components:\n\n### Core Components\n\n- **IterativeResearcher**: Orchestrates the iterative research workflow on a single topic or subtopic\n- **DeepResearcher**: Orchestrates a deeper and broader workflow that includes an initial report outline, calling of multiple parallel `IterativeResearch` instances, and final proofreading step\n- **LLMConfig**: Manages interactions with language models so that these can be swapped out as needed\n\n### Agent System\n\n- **Knowledge Gap Agent**: Analyzes current research state and identifies gaps in knowledge\n- **Tool Selector Agent**: Determines which tools to use for addressing specific knowledge gaps\n- **Tool Agents**: Specialized agents for executing specific research actions (can be extended to add custom tools):\n  - Web Search Agent\n  - Website Crawler Agent\n- **Writer Agent**: Synthesizes research findings into coherent reports\n\n### Research Tools\n\n- **Web Search**: Finds relevant information from SERP queries\n  - Our implementation uses [Serper](https:\u002F\u002Fwww.serper.dev) to run Google searches by default, which requires an API key set to the `SERPER_API_KEY` env variable.\n  - You can replace this with the native web search tool from OpenAI by setting the environment variable `SEARCH_PROVIDER` to `openai`\n- **Website Crawler**: Extracts detailed content from the pages of a given website\n\n### Implementing Custom Tool Agents\n\nTool agents are agents specialized in carrying out specific tasks using one or more tools (e.g. web searches, fetching and interpreting data from an API, etc). To implement a custom tool agent:\n* Create any tools that the agent will use in the `deep_researcher\u002Ftools` folder\n* Create a new tool agent that calls this tool in the `deep_researcher\u002Fagents\u002Ftool_agents` folder\n* Add the tool agent definition to the `init_tool_agents` function in `deep_researcher\u002Fagents\u002Ftool_agents\u002F__init__.py`\n* Update the system prompt of `deep_researcher\u002Fagents\u002Ftool_selector_agent.py` to include the name and description of the new agent, so that the ToolSelectorAgent knows of its existence\n\n### Configuring Custom LLMs\n\nThis repository is in theory compatible with any LLMs that follow the OpenAI API specs. This includes the likes of DeepSeek as well as models served through OpenRouter. However, the models need to be compatible with [Structured Outputs](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fstructured-outputs) in the OpenAI API spec (i.e. being able to set `response_format: {type: \"json_schema\", ...}`).\n\nLLMs are configured and managed in the `deep_researcher\u002Fllm_config.py` file.\n\n## Trace Monitoring\n\nThe Deep Research assistant integrates with OpenAI's trace monitoring system. Each research session generates a trace ID that can be used to monitor the execution flow and agent interactions in real-time through the OpenAI platform.\n\n## Observations and Limitations\n\n### Rate Limits\n- The `DeepResearcher` runs a lot of searches and API calls in parallel (at any given point in time it could be ingesting 50-60 different web pages). As a result you may find that yourself hitting rate limits for OpenAI, Gemini, Anthropic and other model providers particularly if you are on lower or free tiers. \n- If you run into these errors, you may wish to use the `IterativeResearcher` instead which is less consumptive of API calls.\n\n### **Output Length:** \n\nLLMs are not good at following guidelines on output length. You typically run into two issues:\n\n- LLMs are bad at counting. When giving length instructions, it's better to provide a reference that the model will be familiar with from its training data (e.g. 'length of a tweet', 'a few paragraphs', 'length of a book') rather than a specific word count. \n- Even though the output token limit on many of these models is massive, it is very difficult to get them to produce more than 1-2,000 words per response. There are methods such as [this one](https:\u002F\u002Fmedium.com\u002F@techsachin\u002Flongwriter-using-llm-agent-based-pipeline-to-scale-llms-output-window-size-to-10-000-words-33210d299e2b) to produce longer outputs.\n\nWe include an `output_length` parameter for the `IterativeResearcher` to give the user control but bear in mind the above limitations.\n\n## TODOs:\n\n- [ ] Add unit tests for different model providers\n- [ ] Add example implementation for different models\n- [ ] Add compatibility with other search providers (e.g. SearXNG, Bing, Tavily, DuckDuckGo etc.)\n- [ ] Add caching (e.g. Redis) of scraped web pages to avoid duplicate work\u002Fcalls\n- [ ] Add more specialized research tools (e.g. Wikipedia, arXiv, data analysis etc.)\n- [ ] Add PDF parser\n- [ ] Add integration \u002F RAG for local files\n\n## Author\n\nCreated by Jai Juneja at [QX Labs](https:\u002F\u002Fwww.qxlabs.com).\n","\u003Cdiv align=\"center\">\n\n[![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fqx-labs\u002Fagents-deep-research?style=social)](https:\u002F\u002Fgithub.com\u002Fqx-labs\u002Fagents-deep-research\u002Fstargazers)\n[![GitHub 分支](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fqx-labs\u002Fagents-deep-research?style=social)](https:\u002F\u002Fgithub.com\u002Fqx-labs\u002Fagents-deep-research\u002Fnetwork\u002Fmembers)\n\n[![PyPI 版本](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fdeep-researcher.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fdeep-researcher\u002F)\n[![许可证](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fqx-labs\u002Fagents-deep-research)](https:\u002F\u002Fgithub.com\u002Fqx-labs\u002Fagents-deep-research\u002Fblob\u002Fmain\u002FLICENSE)\n[![PyPI 下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqx-labs_agents-deep-research_readme_b8564a30b0f0.png)](https:\u002F\u002Fpepy.tech\u002Fprojects\u002Fdeep-researcher)\n\n\u003C\u002Fdiv>\n\n# 使用 OpenAI Agents SDK 的智能体式深度研究\n\n一款基于 [OpenAI Agents SDK](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python) 构建的强大深度研究助手，旨在对任何给定主题进行深入研究。兼容 Azure OpenAI、OpenAI、Anthropic、Gemini、DeepSeek、Perplexity、OpenRouter、Hugging Face 以及 Ollama 等本地模型。\n\n它采用多智能体架构，以迭代方式工作，不断深化对主题的理解，并生成越来越详细的见解，最终汇集成完整的报告。\n\n该工具设计为可扩展，支持使用自定义工具以及任何符合 OpenAI API 规范的第三方大语言模型。LLM 和工具调用可以选择性地通过 OpenAI 的追踪功能进行跟踪。\n\n相关背景介绍 [在此](https:\u002F\u002Fwww.j2.gg\u002Fthoughts\u002Fdeep-research-how-it-works)。\n\n## 概述\n\n本包提供两种研究模式：\n\n- `IterativeResearcher`：针对某个主题或子主题持续循环进行研究并撰写报告。\n  - 推荐使用此模式，且适用于较短的报告（最多 5 页 \u002F 1,000 字）。\n  - 用户可以指定研究深度、时间限制、报告长度和格式要求等约束条件。\n- `DeepResearcher`：执行更为全面和结构化的流程，首先制定报告大纲，然后为报告的每个部分并行运行多个 `IterativeResearcher` 实例。\n  - 适用于较长的报告（例如 20 页以上）。\n\n`DeepResearcher` 的工作流程如下：\n\n1. 接收研究主题，进行初步研究以形成报告大纲\u002F计划。\n2. 针对报告计划中的每个部分，同时运行多个 `IterativeResearcher` 实例：\n   1. 识别当前研究中的知识空白；\n   2. 有针对性地选择合适的工具来填补这些空白；\n   3. 通过专业智能体执行研究任务；\n   4. 将研究成果综合成一个完整的章节。\n3. 将所有章节整合成一份连贯且结构清晰的报告。\n\n值得注意的是，深度研究智能体在开始时不会提出澄清性问题，因此可以以自动化方式使用。\n\n## 示例输出\n\n深度研究示例（使用 DeepResearcher）：\n- [柏拉图生平与著作](examples\u002Fsample_output\u002Fplato.md) - 7,980 字\n- [量子计算教材](examples\u002Fsample_output\u002Fquantum_computing.md) - 5,253 字\n- [特斯拉深度解析](examples\u002Fsample_output\u002Ftesla.md) - 4,732 字\n\n简单研究示例（使用 IterativeResearcher）：\n- [Quantera 市场规模](examples\u002Fsample_output\u002Fquantera_market_size.md) - 1,001 字\n- [英国政府政策](examples\u002Fsample_output\u002Flabour_policies.md) - 1,077 字\n\n## 流程图\n\n### IterativeResearcher 流程\n\n```mermaid\nflowchart LR\n    A[\"用户输入\u003Cbr>- 查询内容\u003Cbr>- 最大迭代次数\u003Cbr>- 最大时间\u003Cbr>- 输出指令\"] --> B\n\n    subgraph \"深度研究循环\"\n        B[\"知识空白智能体\"] -->|\"当前空白\u003Cbr>及目标\"| C[\"工具选择智能体\"]\n        C -->|\"工具查询\u003Cbr>(并行执行)\"| D[\"工具智能体\u003Cbr>- 网络搜索\u003Cbr>- 爬虫\u003Cbr>- 自定义工具\"]\n        D -->|\"新发现\"| E[\"观察智能体\"]\n        E --> |\"对发现及研究策略的思考\"| B\n    end\n\n    E --> F[\"撰写智能体\u003Cbr>(最终输出\u003Cbr>附参考文献)\"]\n```\n\n### DeepResearcher 流程\n\n```mermaid\nflowchart LR\n    A[\"用户输入\u003Cbr>- 查询内容\u003Cbr>- 最大迭代次数\u003Cbr>- 最大时间\"] --> B[\"规划智能体\"]\n    \n    B -->|\"报告计划\u003Cbr>(章节及背景信息)\"| D2\n    \n    subgraph 并行[\"并行章节研究\"]\n        D1[\"IterativeResearcher\u003Cbr>(第1章)\"]\n        D2[\"IterativeResearcher\u003Cbr>(第2章)\"]\n        D3[\"IterativeResearcher\u003Cbr>(第3章)\"]\n    end\n    \n    D1 -->|\"第1章\u003Cbr>草稿\"| E[\"校对智能体\"]\n    D2 -->|\"第2章\u003Cbr>草稿\"| E\n    D3 -->|\"第3章\u003Cbr>草稿\"| E\n    \n    E --> F[\"最终\u003Cbr>研究报告\"]\n```\n\n## 安装\n\n使用 `pip` 安装：\n\n```\npip install deep-researcher\n```\n\n或者克隆 GitHub 仓库：\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fqx-labs\u002Fagents-deep-research.git\ncd agents-deep-research\npip install -r requirements.txt\n```\n\n然后创建包含 API 密钥的 `.env` 文件：\n\n```sh\ncp .env.example .env\n```\n\n编辑 `.env` 文件，根据需要添加 OpenAI、Serper 等设置，例如：\n\n```sh\nOPENAI_API_KEY=\u003Cyour_key>\nSEARCH_PROVIDER=serper  # 或设置为 openai\nSERPER_API_KEY=\u003Cyour_key>\n```\n\n## 使用方法\n\n### Python 模块\n\n```python\n# 可参阅 \u002Fexamples 文件夹获取完整示例\nimport asyncio\nfrom deep_researcher import IterativeResearcher, DeepResearcher\n\n# 对于简单查询，运行 IterativeResearcher\nresearcher = IterativeResearcher(max_iterations=5, max_time_minutes=5)\nquery = \"请提供关于量子计算的全面概述\"\nreport = asyncio.run(\n    researcher.run(query, output_length=\"5 页\")\n)\n\n# 对于更长且结构化程度更高的报告，运行 DeepResearcher\nresearcher = DeepResearcher(max_iterations=3, max_time_minutes=5)\nreport = asyncio.run(\n    researcher.run(query)\n)\n\nprint(report)\n```\n\n#### 运行时自定义 LLM 配置\n\n在 Python 中运行深度研究时，您可以在运行时设置自定义的 LLM 配置变量，从而在代码中动态切换模型选择。\n\n```python\nimport asyncio\nfrom deep_researcher import DeepResearcher, LLMConfig\n\n# 这些配置选项将优先于环境变量\nllm_config = LLMConfig(\n    search_provider=\"serper\",\n    reasoning_model_provider=\"openai\",\n    reasoning_model=\"o3-mini\",\n    main_model_provider=\"openai\",\n    main_model=\"gpt-4o\",\n    fast_model_provider=\"openai\",\n    fast_model=\"gpt-4o-mini\"\n)\nresearcher = DeepResearcher(max_iterations=3, max_time_minutes=5, config=llm_config)\nreport = asyncio.run(\n    researcher.run(query)\n)\n```\n\n### 命令行\n\n从命令行运行研究助理。\n\n如果你通过 `pip` 安装的：\n\n```sh\ndeep-researcher --mode deep --query \"提供量子计算的全面概述\" --max-iterations 3 --max-time 10 --verbose\n```\n\n或者如果你克隆了 GitHub 仓库：\n\n```sh\npython -m deep_researcher.main --mode deep --query \"提供量子计算的全面概述\" --max-iterations 3 --max-time 10 --verbose\n```\n\n参数说明：\n\n- `--query`：研究主题或问题（如果不提供，系统会提示您输入）\n- `--mode`：如果设置为 `deep`，则使用 DeepResearcher；如果设置为 `simple`，则使用 IterativeResearcher（默认值为 `deep`）\n- `--max-iterations`：最大研究迭代次数（默认值为 5）\n- `--max-time`：研究循环在自动退出以生成最终报告之前的最大时间（单位：分钟；默认值为 10）\n- `--output-length`：报告期望的长度（默认值为“5页”）\n- `--output-instructions`：对最终报告的额外格式化说明\n\n布尔标志：\n\n- `--verbose`：将研究进度打印到控制台\n- `--tracing`：在 OpenAI 平台上跟踪工作流（仅适用于 OpenAI 模型）\n\n## 兼容模型\n\nDeep Researcher 设计用于运行任何符合 OpenAI API 规范的模型，并通过调整 `base_url` 参数来适配相应的模型提供商。兼容的提供商包括 Azure OpenAI、OpenAI、Anthropic、Gemini、DeepSeek、Hugging Face 和 OpenRouter，以及通过 Ollama 和 LM Studio 运行的本地托管模型。\n\n然而，为了确保 Deep Researcher 能够顺利运行且不出现错误，它依赖于在工具调用方面表现优异的模型。\n\n- 如果使用 OpenAI 模型，我们发现 `gpt-4o-mini` 在工具选择方面的效果与 `o3-mini` 不相上下，甚至更好（这与 [此排行榜](https:\u002F\u002Fgorilla.cs.berkeley.edu\u002Fleaderboard.html) 的结果一致）。鉴于其速度和成本优势，我们建议在工作流中大多数代理使用 `gpt-4o-mini`，而将 `o3-mini` 用于规划任务，`gpt-4o` 则用于最终撰写。\n- 如果使用 Gemini 模型，请注意只有 Gemini 2.5 Pro（当前为 `gemini-2.5-pro-preview-03-25`）表现良好。Gemini 2.0 Flash（`gemini-2.0-flash`）虽然被列为支持工具调用，但经常无法成功调用任何工具。\n\n## 架构\n\nDeep Research Assistant 由以下组件构成：\n\n### 核心组件\n\n- **IterativeResearcher**：协调单个主题或子主题的迭代式研究流程\n- **DeepResearcher**：协调更深入、更广泛的流程，包括初始报告大纲、并行调用多个 `IterativeResearch` 实例，以及最后的校对步骤\n- **LLMConfig**：管理与语言模型的交互，以便根据需要随时更换模型\n\n### 代理系统\n\n- **知识缺口代理**：分析当前研究状态，识别知识上的空白\n- **工具选择代理**：确定用于填补特定知识缺口的工具\n- **工具代理**：专门执行特定研究任务的代理（可扩展以添加自定义工具）：\n  - 网络搜索代理\n  - 网站爬虫代理\n- **撰写代理**：将研究发现整合成连贯的报告\n\n### 研究工具\n\n- **网络搜索**：通过 SERP 查询查找相关信息\n  - 我们的实现默认使用 [Serper](https:\u002F\u002Fwww.serper.dev) 来运行 Google 搜索，这需要将 API 密钥设置到 `SERPER_API_KEY` 环境变量中。\n  - 您可以通过将环境变量 `SEARCH_PROVIDER` 设置为 `openai`，将其替换为 OpenAI 的原生网络搜索工具。\n- **网站爬虫**：从给定网站的页面中提取详细内容\n\n### 实现自定义工具代理\n\n工具代理是专门使用一个或多个工具来执行特定任务的代理（例如网络搜索、从 API 获取并解释数据等）。要实现自定义工具代理：\n\n* 在 `deep_researcher\u002Ftools` 文件夹中创建代理将使用的任何工具\n* 在 `deep_researcher\u002Fagents\u002Ftool_agents` 文件夹中创建调用该工具的新工具代理\n* 将工具代理的定义添加到 `deep_researcher\u002Fagents\u002Ftool_agents\u002F__init__.py` 中的 `init_tool_agents` 函数中\n* 更新 `deep_researcher\u002Fagents\u002Ftool_selector_agent.py` 的系统提示，加入新代理的名称和描述，以便 ToolSelectorAgent 能够识别它的存在\n\n### 配置自定义 LLM\n\n理论上，本仓库与任何遵循 OpenAI API 规范的 LLM 都兼容。这包括 DeepSeek 以及通过 OpenRouter 提供的模型。然而，这些模型需要与 OpenAI API 规范中的 [结构化输出](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fstructured-outputs) 兼容（即能够设置 `response_format: {type: \"json_schema\", ...}`）。\n\nLLM 的配置和管理在 `deep_researcher\u002Fllm_config.py` 文件中进行。\n\n## 跟踪监控\n\nDeep Research Assistant 集成了 OpenAI 的跟踪监控系统。每次研究会话都会生成一个跟踪 ID，可用于通过 OpenAI 平台实时监控执行流程和代理之间的交互。\n\n## 观察与局限性\n\n### 速率限制\n- `DeepResearcher` 会并行执行大量搜索和 API 调用（在任何给定时刻，它可能正在抓取 50–60 个不同的网页）。因此，您可能会遇到 OpenAI、Gemini、Anthropic 等模型提供商的速率限制，尤其是在使用较低或免费层级时。\n- 如果遇到此类错误，您可以改用消耗较少 API 调用的 `IterativeResearcher`。\n\n### 输出长度\nLLM 对于严格遵循输出长度指导并不擅长。通常会出现以下两个问题：\n\n- LLM 不擅长计数。在给出长度指示时，最好提供模型在其训练数据中熟悉的参考标准（如“一条推文的长度”、“几段文字”、“一本书的长度”），而不是具体的字数。\n- 尽管许多模型的输出 token 限制非常大，但很难让它们每次回复生成超过 1–2 千字的内容。有一些方法可以生成更长的输出，例如 [这种方法](https:\u002F\u002Fmedium.com\u002F@techsachin\u002Flongwriter-using-llm-agent-based-pipeline-to-scale-llms-output-window-size-to-10-000-words-33210d299e2b)。\n\n我们为 `IterativeResearcher` 添加了 `output_length` 参数，以便用户更好地控制输出长度，但请务必考虑到上述局限性。\n\n## 待办事项：\n\n- [ ] 为不同模型提供商添加单元测试\n- [ ] 添加针对不同模型的示例实现\n- [ ] 增加与其他搜索引擎提供商的兼容性（如 SearXNG、Bing、Tavily、DuckDuckGo 等）\n- [ ] 添加缓存功能（如 Redis），以避免重复抓取网页或重复调用\n- [ ] 添加更多专业化的研究工具（如维基百科、arXiv、数据分析等）\n- [ ] 添加 PDF 解析器\n- [ ] 添加本地文件集成 \u002F RAG 功能\n\n## 作者\n\n由 Jai Juneja 在 [QX Labs](https:\u002F\u002Fwww.qxlabs.com) 创建。","# agents-deep-research 快速上手指南\n\n`agents-deep-research` 是一个基于 OpenAI Agents SDK 构建的强大深度研究助手。它采用多智能体架构，能够迭代式地深入调研任何主题，并生成结构化的研究报告。支持 OpenAI、Azure、Anthropic、Gemini、DeepSeek 以及本地模型（如 Ollama）。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows\n*   **Python 版本**：建议 Python 3.10 或更高版本\n*   **API Keys**：\n    *   **LLM 密钥**：OpenAI API Key（默认），或兼容 OpenAI 接口规范的其它模型密钥（如 DeepSeek、Azure OpenAI 等）。\n    *   **搜索服务密钥**：默认使用 [Serper](https:\u002F\u002Fwww.serper.dev) 进行网络搜索，需准备 `SERPER_API_KEY`。也可配置为使用 OpenAI 原生搜索工具。\n\n## 安装步骤\n\n您可以通过 PyPI 直接安装，或克隆源代码进行自定义开发。\n\n### 方式一：通过 pip 安装（推荐）\n\n```bash\npip install deep-researcher\n```\n\n### 方式二：从源码安装\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fqx-labs\u002Fagents-deep-research.git\ncd agents-deep-research\npip install -r requirements.txt\n```\n\n### 配置环境变量\n\n安装完成后，在项目根目录创建 `.env` 文件并填入您的密钥：\n\n```bash\ncp .env.example .env\n```\n\n编辑 `.env` 文件，配置必要的 API Key：\n\n```bash\nOPENAI_API_KEY=\u003Cyour_openai_key>\nSEARCH_PROVIDER=serper\nSERPER_API_KEY=\u003Cyour_serper_key>\n```\n\n> **提示**：如果您使用国内模型（如 DeepSeek）或本地模型（Ollama），可在代码运行时通过 `LLMConfig` 动态指定 `base_url` 和模型名称，无需修改环境变量中的默认值。\n\n## 基本使用\n\n该工具提供两种研究模式：\n1.  **IterativeResearcher**：适用于简短报告（约 5 页以内），单线程迭代调研。\n2.  **DeepResearcher**：适用于长篇深度报告（20 页+），先生成大纲，再并行调用多个智能体分章节调研。\n\n### 1. Python 模块调用\n\n创建一个 Python 文件（例如 `run_research.py`）：\n\n```python\nimport asyncio\nfrom deep_researcher import IterativeResearcher, DeepResearcher\n\n# --- 模式 A: 简单快速调研 (IterativeResearcher) ---\n# 适合短报告，用户可指定最大迭代次数和时间\nresearcher_simple = IterativeResearcher(max_iterations=5, max_time_minutes=5)\nquery = \"Provide a comprehensive overview of quantum computing\"\nreport_simple = asyncio.run(\n    researcher_simple.run(query, output_length=\"5 pages\")\n)\nprint(\"简单调研报告完成\")\n\n# --- 模式 B: 深度结构化调研 (DeepResearcher) ---\n# 适合长报告，自动规划大纲并并行处理各章节\nresearcher_deep = DeepResearcher(max_iterations=3, max_time_minutes=10)\nreport_deep = asyncio.run(\n    researcher_deep.run(query)\n)\nprint(\"深度调研报告完成\")\nprint(report_deep)\n```\n\n**动态配置模型示例**（以使用 DeepSeek 为例）：\n\n```python\nimport asyncio\nfrom deep_researcher import DeepResearcher, LLMConfig\n\nllm_config = LLMConfig(\n    search_provider=\"serper\",\n    reasoning_model_provider=\"openai_compatible\", # 假设使用兼容接口\n    reasoning_model=\"deepseek-chat\",\n    main_model_provider=\"openai_compatible\",\n    main_model=\"deepseek-chat\",\n    fast_model_provider=\"openai_compatible\",\n    fast_model=\"deepseek-chat\"\n)\n# 注意：实际使用时需在代码中设置正确的 base_url，此处仅为配置结构示意\n# 具体 base_url 设置需参考 llm_config.py 实现或通过环境变量注入\n\nresearcher = DeepResearcher(max_iterations=3, max_time_minutes=5, config=llm_config)\nreport = asyncio.run(researcher.run(\"量子计算概述\"))\n```\n\n### 2. 命令行调用\n\n如果您通过 pip 安装了包，可以直接在终端运行：\n\n```bash\n# 深度研究模式\ndeep-researcher --mode deep --query \"Provide a comprehensive overview of quantum computing\" --max-iterations 3 --max-time 10 --verbose\n\n# 简单研究模式\ndeep-researcher --mode simple --query \"UK Government Policies\" --max-iterations 2 --max-time 5\n```\n\n如果您是从源码克隆的仓库，请使用以下命令：\n\n```bash\npython -m deep_researcher.main --mode deep --query \"Provide a comprehensive overview of quantum computing\" --max-iterations 3 --max-time 10 --verbose\n```\n\n**常用参数说明：**\n*   `--query`: 研究主题或问题。\n*   `--mode`: `deep` (深度模式) 或 `simple` (简单模式)，默认为 `deep`。\n*   `--max-iterations`: 最大研究迭代次数。\n*   `--max-time`: 最大运行时间（分钟），超时后会自动生成当前最佳报告。\n*   `--verbose`: 打印详细的研究进度日志。\n*   `--tracing`: 启用 OpenAI 平台的流程追踪（仅限 OpenAI 模型）。","某科技咨询公司的分析师需要在 48 小时内交付一份关于“全球固态电池供应链与关键技术瓶颈”的深度行业报告，以支持客户的投资决策。\n\n### 没有 agents-deep-research 时\n- **信息搜集碎片化**：分析师需手动在数十个网页、论文库和新闻源间切换，难以系统性识别知识盲区，容易遗漏关键数据。\n- **逻辑整合耗时久**：从杂乱的信息中提炼观点并构建报告大纲需耗费大量脑力，撰写初稿往往占据 80% 的时间，导致深度分析不足。\n- **内容深度受限**：受限于个人精力，很难对每个技术细分领域（如电解质材料、制造工艺）进行多轮迭代挖掘，报告流于表面。\n- **协作与追溯困难**：多人协作时信息来源不透明，难以追溯具体数据的出处，验证事实准确性成本极高。\n\n### 使用 agents-deep-research 后\n- **自动化闭环调研**：agents-deep-research 的“知识缺口代理”自动识别盲区，并调度搜索与爬虫工具并行填补，确保信息覆盖无死角。\n- **结构化大纲先行**：DeepResearcher 模式先生成严谨的报告大纲，再并发运行多个迭代研究实例填充各章节，将构思与写作效率提升数倍。\n- **多层级深度洞察**：通过多轮“观察 - 思考 - 行动”循环，工具能深入挖掘技术参数与产业链细节，产出媲美专家水平的深度内容。\n- **全程可追溯输出**：生成的报告自带详细引用来源，且支持通过 OpenAI 追踪功能复盘每一步推理过程，极大降低了事实核查成本。\n\nagents-deep-research 将原本需要团队数天协作的深度调研工作，转化为单人即可在数小时内完成的高质量自动化流程，重新定义了行业研究的效率标准。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqx-labs_agents-deep-research_26a03fe3.png","qx-labs","QX Labs","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fqx-labs_4598a596.png","AI, data and workflow automation lab",null,"https:\u002F\u002Fwww.qxlabs.com","https:\u002F\u002Fgithub.com\u002Fqx-labs",[80,84],{"name":81,"color":82,"percentage":83},"Python","#3572A5",99.9,{"name":85,"color":86,"percentage":87},"CSS","#663399",0.1,752,87,"2026-04-10T10:10:47","Apache-2.0","Linux, macOS, Windows","非必需。主要依赖云端 API (OpenAI, Anthropic, Gemini 等) 或本地模型服务 (如 Ollama, LM Studio)。若运行本地模型，GPU 需求取决于具体模型大小，文中未指定具体显存要求。","未说明 (建议根据并发任务量配置，文中提到可能同时处理 50-60 个网页抓取任务)",{"notes":96,"python":97,"dependencies":98},"1. 该工具主要基于 LLM API 运行，默认无需本地高性能 GPU，但需配置 API Key (如 OPENAI_API_KEY, SERPER_API_KEY)。\n2. 支持通过 OpenAI 兼容接口连接本地模型 (如 Ollama, LM Studio)。\n3. 默认使用 Serper 进行网络搜索，也可配置为使用 OpenAI 原生搜索。\n4. 深度研究模式下会高并发执行大量搜索和网页抓取 (可能同时 50-60 个请求)，需注意 API 速率限制和网络稳定性。\n5. 仅部分模型对工具调用 (Tool Calling) 和结构化输出支持良好 (推荐 gpt-4o-mini, o3-mini, gemini-2.5-pro)。","3.8+",[99,100,101],"openai-agents-python","deep-researcher","asyncio",[103,13,35],"其他",[105,106,107,108,109,110],"agentic-ai","agents","deep-research","llms","deepresearch","openai","2026-03-27T02:49:30.150509","2026-04-11T03:26:40.871988",[114,119,124,129,134,138],{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},28757,"运行时报错 'openai.BadRequestError: Error code: 400' 或出现速率限制错误怎么办？","这通常是由最新版本的 OpenAI Agents SDK (0.0.8) 引起的兼容性问题，或者是 API Key 的速率限制。\n解决方案：\n1. 降级 OpenAI Agents SDK 版本到 0.0.7。运行命令：`pip install openai-agents==0.0.7`。\n2. 如果降级后仍报错，检查是否为速率限制错误，尝试更换另一个有效的 API Key。\n3. 确保 `.env` 文件中配置了正确的 Provider 和 Model 设置。","https:\u002F\u002Fgithub.com\u002Fqx-labs\u002Fagents-deep-research\u002Fissues\u002F8",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},28758,"如何配置项目以使用 Google Gemini 模型（如 gemini-2.5-pro）而不是默认的 OpenAI 模型？","要在 `.env` 文件中将所有模型提供商和模型名称设置为 Gemini。具体配置如下：\n\n```\nREASONING_MODEL_PROVIDER=gemini\nREASONING_MODEL=gemini-2.5-pro-preview-03-25\nMAIN_MODEL_PROVIDER=gemini\nMAIN_MODEL=gemini-2.5-pro-preview-03-25\nFAST_MODEL_PROVIDER=gemini\nFAST_MODEL=gemini-2.5-pro-preview-03-25\n```\n注意：项目已更新以支持非 OpenAI\u002FAnthropic 模型的自定义解析逻辑，确保使用的是包含此修复的最新版本。","https:\u002F\u002Fgithub.com\u002Fqx-labs\u002Fagents-deep-research\u002Fissues\u002F5",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},28759,"遇到错误 'The model `o3-mini-...` does not exist or you do not have access to it' (404 错误) 如何解决？","这通常是因为您的 OpenAI 账户（特别是免费层级）没有权限访问 `o3-mini` 模型。\n解决方案：\n修改 `.env` 文件，将模型更改为您账户有权访问的模型，例如 `gpt-4o-mini`。配置示例：\n\n```\nOPENAI_API_KEY=\u003C您的密钥>\nSERPER_API_KEY=\u003C您的密钥>\nSEARCH_PROVIDER=serper\n\nREASONING_MODEL_PROVIDER=openai\nREASONING_MODEL=gpt-4o-mini\nMAIN_MODEL_PROVIDER=openai\nMAIN_MODEL=gpt-4o-mini\nFAST_MODEL_PROVIDER=openai\nFAST_MODEL=gpt-4o-mini\n```","https:\u002F\u002Fgithub.com\u002Fqx-labs\u002Fagents-deep-research\u002Fissues\u002F7",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},28760,"该项目是否支持 Azure OpenAI 模型？","是的，项目计划支持 Azure OpenAI。由于底层的 Agents SDK 原生支持 Azure OpenAI，因此可以通过配置将其添加为模型提供商选项。维护者已确认正在研究将此功能尽快加入项目中。","https:\u002F\u002Fgithub.com\u002Fqx-labs\u002Fagents-deep-research\u002Fissues\u002F13",{"id":135,"question_zh":136,"answer_zh":137,"source_url":123},28761,"为什么使用 Gemini 2.0 Flash 模型时会频繁失败？","根据目前的测试，Gemini 2.0 Flash 模型在处理结构化输出时经常失败，这与其自身的特性有关。建议暂时使用更稳定的模型版本，如 `gemini-2.5-pro-preview-03-25`，以获得更好的兼容性。",{"id":139,"question_zh":140,"answer_zh":141,"source_url":123},28762,"通过 pip 安装和通过 GitHub 源码克隆安装有什么区别？","早期版本中，某些新功能（如对 Gemini 等非 OpenAI 模型的完整支持）可能首先存在于 GitHub 源码的最新提交中，而 PyPI 上的 pip 包版本可能尚未更新。如果遇到模型兼容性问题，建议尝试通过克隆仓库的方式安装最新版本：\n`git clone \u003Crepo_url>`\n`pip install -e .`\n或者等待维护者将修复推送到 PyPI。",[]]