字节DeerFlow开源框架:多智能体深度研究框架,实现端到端自动化研究流程

news2025/7/17 20:17:58

🦌 DeerFlow

DeerFlow(Deep Exploration and Efficient Research Flow)是一个社区驱动的深度研究框架,它建立在开源社区的杰出工作基础之上。目标是将语言模型与专业工具(如网络搜索、爬虫和Python代码执行)相结合.。
在这里插入图片描述

0.1 特性

  • 🤖 LLM集成
    • 通过litellm支持集成大多数模型
    • 支持开源模型如Qwen
    • 兼容OpenAI的API接口
    • 多层LLM系统适用于不同复杂度的任务
  • 工具和MCP集成

    • 🔍 搜索和检索

      • 通过Tavily、Brave Search等进行网络搜索
      • 使用Jina进行爬取
      • 高级内容提取
    • 🔗 MCP无缝集成

      • 扩展私有域访问、知识图谱、网页浏览等能力
      • 促进多样化研究工具和方法的集成
  • 人机协作

    • 🧠 人在环中

      • 支持使用自然语言交互式修改研究计划
      • 支持自动接受研究计划
    • 📝 报告后期编辑

      • 支持类Notion的块编辑
      • 允许AI优化,包括AI辅助润色、句子缩短和扩展
      • 由tiptap提供支持
  • 内容创作

    • 🎙️ 播客和演示文稿生成
      • AI驱动的播客脚本生成和音频合成
      • 自动创建简单的PowerPoint演示文稿
      • 可定制模板以满足个性化内容需求

0.2 架构

DeerFlow实现了一个模块化的多智能体系统架构,专为自动化研究和代码分析而设计。该系统基于LangGraph构建,实现了灵活的基于状态的工作流,其中组件通过定义良好的消息传递系统进行通信。

在这里插入图片描述

系统采用了精简的工作流程,包含以下组件:

  1. 协调器:管理工作流生命周期的入口点

    • 根据用户输入启动研究过程
    • 在适当时候将任务委派给规划器
    • 作为用户和系统之间的主要接口
  2. 规划器:负责任务分解和规划的战略组件

    • 分析研究目标并创建结构化执行计划
    • 确定是否有足够的上下文或是否需要更多研究
    • 管理研究流程并决定何时生成最终报告
  3. 研究团队:执行计划的专业智能体集合:

    • 研究员:使用网络搜索引擎、爬虫甚至MCP服务等工具进行网络搜索和信息收集。
    • 编码员:使用Python REPL工具处理代码分析、执行和技术任务。
      每个智能体都可以访问针对其角色优化的特定工具,并在LangGraph框架内运行
  4. 报告员:研究输出的最终阶段处理器

    • 汇总研究团队的发现
    • 处理和组织收集的信息
    • 生成全面的研究报告

在这里插入图片描述

1.快速开始

DeerFlow使用Python开发,并配有用Node.js编写的Web UI。为确保顺利的设置过程,我们推荐使用以下工具:

  • 推荐工具

    • uv:
      简化Python环境和依赖管理。uv会自动在根目录创建虚拟环境并为您安装所有必需的包—无需手动安装Python环境。

    • nvm:
      轻松管理多个Node.js运行时版本。

    • pnpm:
      安装和管理Node.js项目的依赖。

  • 环境要求
    确保您的系统满足以下最低要求:

  • Python: 版本 3.12+
  • Node.js: 版本 22+

1.1安装

# 克隆仓库
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow

# 安装依赖,uv将负责Python解释器和虚拟环境的创建,并安装所需的包
uv sync

# 使用您的API密钥配置.env
# Tavily: https://app.tavily.com/home
# Brave_SEARCH: https://brave.com/search/api/
# 火山引擎TTS: 如果您有TTS凭证,请添加
cp .env.example .env

# 查看下方的"支持的搜索引擎"和"文本转语音集成"部分了解所有可用选项

# 为您的LLM模型和API密钥配置conf.yaml
# 请参阅'docs/configuration_guide.md'获取更多详情
cp conf.yaml.example conf.yaml

# 安装marp用于PPT生成
# https://github.com/marp-team/marp-cli?tab=readme-ov-file#use-package-manager
brew install marp-cli

可选,通过pnpm安装Web UI依赖:

cd deer-flow/web
pnpm install
  • 控制台UI

运行项目的最快方法是使用控制台UI。

# 在类bash的shell中运行项目
uv run main.py

1.2 Web UI

本项目还包括一个Web UI,提供更加动态和引人入胜的交互体验。

[!注意]
您需要先安装Web UI的依赖。

# 在开发模式下同时运行后端和前端服务器
# 在macOS/Linux上
./bootstrap.sh -d

# 在Windows上
bootstrap.bat -d

打开浏览器并访问http://localhost:3000探索Web UI。

web目录中探索更多详情。

1.3支持的搜索引擎

DeerFlow支持多种搜索引擎,可以在.env文件中通过SEARCH_API变量进行配置:

  • Tavily(默认):专为AI应用设计的专业搜索API

    • 需要在.env文件中设置TAVILY_API_KEY
    • 注册地址:https://app.tavily.com/home
  • DuckDuckGo:注重隐私的搜索引擎

    • 无需API密钥
  • Brave Search:具有高级功能的注重隐私的搜索引擎

    • 需要在.env文件中设置BRAVE_SEARCH_API_KEY
    • 注册地址:https://brave.com/search/api/
  • Arxiv:用于学术研究的科学论文搜索

    • 无需API密钥
    • 专为科学和学术论文设计

要配置您首选的搜索引擎,请在.env文件中设置SEARCH_API变量:

# 选择一个:tavily, duckduckgo, brave_search, arxiv
SEARCH_API=tavily

1.4 文本转语音集成

DeerFlow现在包含一个文本转语音(TTS)功能,允许您将研究报告转换为语音。此功能使用火山引擎TTS API生成高质量的文本音频。速度、音量和音调等特性也可以自定义。

  • 使用TTS API

您可以通过/api/tts端点访问TTS功能:

# 使用curl的API调用示例
curl --location 'http://localhost:8000/api/tts' \
--header 'Content-Type: application/json' \
--data '{
    "text": "这是文本转语音功能的测试。",
    "speed_ratio": 1.0,
    "volume_ratio": 1.0,
    "pitch_ratio": 1.0
}' \
--output speech.mp3

2.开发

2.1测试

运行测试套件:

# 运行所有测试
make test

# 运行特定测试文件
pytest tests/integration/test_workflow.py

# 运行覆盖率测试
make coverage

2.2 代码质量

# 运行代码检查
make lint

# 格式化代码
make format

使用LangGraph Studio进行调试

DeerFlow使用LangGraph作为其工作流架构。您可以使用LangGraph Studio实时调试和可视化工作流。

  • 本地运行LangGraph Studio

DeerFlow包含一个langgraph.json配置文件,该文件定义了LangGraph Studio的图结构和依赖关系。该文件指向项目中定义的工作流图,并自动从.env文件加载环境变量。

  • Mac
# 如果您没有uv包管理器,请安装它
curl -LsSf https://astral.sh/uv/install.sh | sh

# 安装依赖并启动LangGraph服务器
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.12 langgraph dev --allow-blocking
  • Windows / Linux
# 安装依赖
pip install -e .
pip install -U "langgraph-cli[inmem]"

# 启动LangGraph服务器
langgraph dev

启动LangGraph服务器后,您将在终端中看到几个URL:

  • API: http://127.0.0.1:2024
  • Studio UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
  • API文档: http://127.0.0.1:2024/docs

在浏览器中打开Studio UI链接以访问调试界面。

  • 使用LangGraph Studio

在Studio UI中,您可以:

  1. 可视化工作流图并查看组件如何连接
  2. 实时跟踪执行情况,了解数据如何在系统中流动
  3. 检查工作流每个步骤的状态
  4. 通过检查每个组件的输入和输出来调试问题
  5. 在规划阶段提供反馈以完善研究计划

当您在Studio UI中提交研究主题时,您将能够看到整个工作流执行过程,包括:

  • 创建研究计划的规划阶段
  • 可以修改计划的反馈循环
  • 每个部分的研究和写作阶段
  • 最终报告生成

3. 示例展示

以下示例展示了DeerFlow的功能:

  1. 什么是MCP? - 对"MCP"一词在多个上下文中的全面分析

    • 探讨AI中的Model Context Protocol、化学中的Monocalcium Phosphate和电子学中的Micro-channel Plate
    • 查看完整报告
  2. 比特币价格波动 - 最近比特币价格走势分析

    • 研究市场趋势、监管影响和技术指标
    • 基于历史数据提供建议
    • 查看完整报告
# 最近三个月比特币价格波动分析报告  

## 执行摘要  
本报告分析了过去三个月内比特币的价格波动情况,主要依据现有的搜索结果进行总结。分析内容涵盖市场情绪、监管影响、经济因素以及技术分析指标。由于无法直接获取和处理原始数据,本报告基于多个来源的汇总信息进行研究。

## 关键发现  
- **特朗普政府政策影响**20254月实施的关税政策导致比特币价格从109,000美元下跌至84,000美元。  
- **经济不确定性**:整体经济环境的不确定性促使比特币价格跌破90,000美元。  
- **市场情绪**:加密货币“恐惧与贪婪指数”反映了市场整体情绪,该指数会因新闻事件而波动。  
- **技术分析**:关键支撑位约在80,400美元和74,000美元,阻力位则接近98,500美元和106,000美元。

## 详细分析  

### 影响因素  
#### 监管环境  
特朗普政府对加密货币的监管态度以及美国证券交易委员会(SEC)的相关行动对比特币价格产生了显著影响。  

#### 市场情绪  
“加密货币恐惧与贪婪指数”是衡量市场情绪的重要指标。此外,来自雅虎财经(Yahoo Finance)和Investing.com的历史交易数据显示了过去三个月的比特币交易量变化。  

#### 社交媒体情绪  
Reddit的r/cryptocurrency板块及推特(X)上的讨论可提供市场情绪洞察。  

#### GBTC持仓  
Grayscale比特币信托(GBTC)的历史价格和持仓数据反映了机构投资者的态度。  

#### 比特币期货  
根据雅虎财经的数据,比特币期货(BTC=F)的历史走势提供了市场预期的参考。  

#### Google趋势  
Google Trends显示,“比特币”关键词的搜索热度随时间变化。近期文章指出,“比特币”及“比特币价格”相关搜索兴趣有所下降。

### 价格波动情况  
- **关税政策影响**:受特朗普政府于202542日宣布的关税政策影响,比特币价格由109,000美元跌至84,000美元。  
- **经济不确定性影响**:整体经济形势不明朗,导致比特币价格跌破90,000美元。  
- **技术支撑与阻力位**:当前需关注的关键支撑位为80,400美元和74,000美元,阻力位分别为98,500美元和106,000美元。

## 结论与建议  

### 结论  
综合现有信息来看,过去三个月比特币价格波动主要受到监管政策、宏观经济状况以及市场情绪等多重因素的影响。

### 建议  
1. **密切关注监管动向**:持续跟踪各国政府及监管机构的政策调整,评估其对加密货币市场的潜在影响。  
2. **关注宏观经济指标**:密切留意全球经济增长、通胀数据等宏观指标,以判断其对投资者行为的影响。  
3. **利用市场情绪工具**:结合“加密货币恐惧与贪婪指数”及社交媒体舆情分析,掌握市场心理变化。  
4. **技术分析辅助决策**:运用技术分析工具识别关键支撑与阻力位,为投资策略提供参考依据。

### 局限性  
本报告基于公开渠道的汇总信息撰写,缺乏对原始数据的深入分析。如需得出更精确的结论,建议进一步开展基于完整数据分析的深入研究。
  1. 如何使用Claude进行深度研究? - 在深度研究中使用Claude的最佳实践和工作流程
    • 涵盖提示工程、数据分析和与其他工具的集成
    • 查看完整报告
# 深度研究中使用 Claude:工作流程与最佳实践  

## 执行摘要  
本报告概述了将 **Claude** 有效整合进深度研究流程的最佳实践,涵盖数据收集、预处理、分析与综合等关键环节。此外,还探讨了其与其他工具的集成方式、结果验证方法、成本管理策略、协作机制、文档撰写规范及相关案例研究。Claude 可作为辅助工具支持学术写作与研究,但应始终服务于原创性思考,而非替代之。

## 关键发现  
- **学术写作与研究支持**:Claude 能够辅助学术写作和研究,但应作为辅助工具,而非取代原创性思维。
- **项目功能(Project Feature)**:可上传相关文档以减少重复设置上下文信息的工作量。
- **数据分析能力**:内置的数据分析工具能够编写并运行 JavaScript 代码,对数据进行处理并提供洞察。
- **引用工具**:具备自动验证来源及规范引用格式的功能,有助于提升学术严谨性。
- **模型选择建议**:Haiku 是其智能等级中响应最快、性价比最高的模型。
- **虚拟团队成员角色**:Claude 可作为虚拟团队成员推动研究或产品开发进程。
- **协同创新**:分享由 Claude 协助生成的研究成果,有助于激发产品开发与科研中的创新。
- **技术文档撰写**:Claude 能高效生成技术文档,并保持内容一致性。
- **工具集成能力**:可与笔记、写作及参考文献管理工具无缝集成。

## 详细分析  

### 工作流程与最佳实践  

#### 明确研究问题  
在初始提示中清晰定义研究问题和关注领域,确保 Claude 理解任务目标。

#### 结构化数据输入  
提供结构化的数据信息,提高 Claude 的理解和处理效率。

#### 使用 Project 功能  
利用 Claude 的“项目”功能上传相关文档,避免重复输入背景信息,提升工作效率。  
[来源: https://support.anthropic.com/en/articles/9797557-usage-limit-best-practices]

#### 提示工程技巧  
采用提示工程技巧,如加入“请逐步思考”,以提升输出质量。  
[来源: https://aws.amazon.com/blogs/machine-learning/prompt-engineering-techniques-and-best-practices-learn-by-doing-with-anthropics-claude-3-on-amazon-bedrock/]

---

### 数据分析  

#### 内置数据分析工具  
Claude 提供内置数据分析工具,可通过执行 JavaScript 代码对数据进行处理并提取洞察。  
[来源: https://www.anthropic.com/news/analysis-tool, https://support.anthropic.com/en/articles/10008684-enabling-and-using-the-analysis-tool]

#### CSV 文件分析  
该工具也可用于分析上传的 CSV 数据文件,并实现可视化展示。  
[来源: https://support.anthropic.com/en/articles/10008684-enabling-and-using-the-analysis-tool]

---

### 结果验证  

#### 引用验证工具  
使用 Claude 提供的引用工具来验证来源准确性,并确保符合学术引用规范。  
[来源: https://www.yomu.ai/blog/claude-ai-in-academic-writing-and-research-essential-tips-for-optimal-results]

#### 提示词清洗与验证  
注意 Anthropic API 对用户提示词会进行基本的清洗与验证处理。  
[来源: https://docs.anthropic.com/en/api/prompt-validation]

---

### 成本管理  

#### 模型选择  
根据任务需求选择合适的模型,推荐在需要高性价比时使用 **Claude Haiku**,其在同级别智能模型中响应最快、成本最低。  
[来源: https://www.anthropic.com/news/claude-3-family]

---

### 协作策略  

#### 虚拟团队成员  
将 Claude 视为虚拟团队成员,协助完成资料整理、初稿撰写、逻辑梳理等工作。  
[来源: https://www.anthropic.com/team]

#### 共享共创成果  
共享由 Claude 协助生成的内容,尤其适用于产品开发和科研协作,可促进团队内部创新。  
[来源: https://www.anthropic.com/news/projects]

---

### 文档撰写  

#### 技术文档生成  
Claude 可快速生成高质量技术文档,并确保术语与风格的一致性。  
[来源: https://beginswithai.com/how-to-use-claude-ai-to-create-technical-documentation/]

---

### 与其他工具集成  

#### 笔记与写作工具  
与 Evernote、OneNote、Google Docs 等笔记与写作工具集成,便于实时同步与协作。  
[来源: https://beginswithai.com/using-claude-for-research/]

#### 参考文献管理工具  
支持 Zotero、Mendeley 和 EndNote 等参考文献管理工具的集成。  
[来源: https://beginswithai.com/using-claude-for-research/]

#### 平台集成  
确保与 Anthropic API、Google Cloud Vertex AI 等平台的良好兼容性,提升整体研究效率。  
[来源: https://www.yomu.ai/blog/claude-ai-in-academic-writing-and-research-essential-tips-for-optimal-results]

---

### 案例研究  

#### 多领域成功应用  
已有多个行业成功应用 Claude 的案例,包括鲸类保护、品牌管理、网络安全、招聘筛选、保险理赔、代码审查、客户服务和销售转化等领域。  
[来源: https://www.anthropic.com/customers]

---

## 结论与建议  

### 结论  
Claude 是一款在深度研究中极具价值的人工智能助手,只要合理规划使用方式,即可显著提升研究效率与质量。通过明确研究问题、结构化数据输入、善用项目功能与数据分析工具,研究人员可以充分发挥其潜力。同时,借助引用工具与提示工程优化输出内容的准确性和逻辑性至关重要。Claude 还能增强团队协作能力,并通过与其他研究工具的集成优化整体工作流。从多个领域的实际案例来看,Claude 展现出广泛的应用前景与强大的适应能力。

### 建议  
1. **明确研究目标**:在开始阶段就清晰定义研究问题与目标。
2. **结构化输入数据**:提供清晰、有组织的数据以提高处理效率。
3. **充分利用项目功能**:上传背景材料,节省反复解释时间。
4. **优化提示词设计**:采用分步引导、角色设定等方式提升输出质量。
5. **验证输出结果**:使用引用工具确保信息准确无误。
6. **控制成本支出**:根据任务复杂程度选择合适模型。
7. **加强团队协作**:鼓励团队共享与共创,推动知识沉淀与创新。
8. **完善文档记录**:利用 Claude 快速生成统一风格的技术文档。
9. **整合研究工具链**:打通与现有研究工具的数据与流程连接。
10. **学习成功案例**:借鉴其他行业的应用经验,探索更多可能性。
  1. 医疗保健中的AI采用:影响因素 - 影响医疗保健中AI采用的因素分析
    • 讨论AI技术、数据质量、伦理考虑、经济评估、组织准备度和数字基础设施
    • 查看完整报告

要运行这些示例或创建您自己的研究报告,您可以使用以下命令:

# 使用特定查询运行
uv run main.py "哪些因素正在影响医疗保健中的AI采用?"

# 使用自定义规划参数运行
uv run main.py --max_plan_iterations 3 "量子计算如何影响密码学?"

# 在交互模式下运行,带有内置问题
uv run main.py --interactive

# 或者使用基本交互提示运行
uv run main.py

# 查看所有可用选项
uv run main.py --help
  • 交互模式

应用程序现在支持带有英文和中文内置问题的交互模式:

  1. 启动交互模式:

    uv run main.py --interactive
    
  2. 选择您偏好的语言(English或中文)

  3. 从内置问题列表中选择或选择提出您自己问题的选项

  4. 系统将处理您的问题并生成全面的研究报告

参考:

  • 字节跳动开源了一款 Deep Research 项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2376368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法第十八天|530. 二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

530. 二叉搜索树的最小绝对差 题目 思路与解法 第一想法: 一个二叉搜索树的最小绝对差,从根结点看,它的结点与它的最小差值一定出现在 左子树的最右结点(左子树最大值)和右子树的最左结点(右子树的最小值…

微服务调试问题总结

本地环境调试。 启动本地微服务,使用公共nacos配置。利用如apifox进行本地代码调试解决调试问题。除必要的业务微服务依赖包需要下载到本地。使用mvn clean install -DskipTests进行安装启动前选择好profile环境进行启动,启动前记得mvn clean清理项目。…

美SEC主席:探索比特币上市证券交易所

作者/演讲者:美SEC主席Paul S. Atkins 编译:Liam 5月12日,由美国SEC加密货币特别工作组发起的主题为《资产上链:TradFi与DeFi的交汇点》系列圆桌会议如期举行。 会议期间,现任美SEC主席Paul S. Atkins发表了主旨演讲。…

MySQL Join连接算法深入解析

引言 在关系型数据库中,Join操作是实现多表数据关联查询的关键手段,直接影响查询性能和资源消耗。MySQL支持多种Join算法,包括经典的索引嵌套循环连接(Index Nested-Loop Join)、块嵌套循环连接(Block Nes…

http请求卡顿

接口有时出现卡顿,而且抓包显示有时tcp目标机器没有响应, 但nginx和java应用又没有错误日志,让人抓耳挠腮,最终还是请运维大哥帮忙,一顿操作后系统暂时无卡顿了,佩服的同时感觉疑惑到底调整了啥东…

vite+vue建立前端工程

​ 参考 开始 | Vite 官方中文文档 VUE教程地址 https://cn.vuejs.org/tutorial/#step-1 第一个工程 https://blog.csdn.net/qq_35221977/article/details/137171497 脚本 chcp 65001 echo 建立vite工程 set PRO_NAMEmy-vue-appif not exist %PRO_NAME% (call npm i…

vue使用路由技术实现登录成功后跳转到首页

文章目录 一、概述二、使用步骤安装vue-router在src/router/index.js中创建路由器,并导出在vue应用实例中使用router声明router-view标签,展示组件内容 三、配置登录成功后跳转首页四、参考资料 一、概述 路由,决定从起点到终点的路径的进程…

day20-线性表(链表II)

一、调试器 1.1 gdb(调试器) 在程序指定位置停顿 1.1.1 一般调试 gcc直接编译生成的是发布版(Release) gcc -g //-g调式版本,(体积大,内部有源码)(DeBug&#…

HTTP 连接复用机制详解

文章目录 HTTP 连接复用机制详解为什么需要连接复用?连接复用的实现方式HTTP/1.1 的 Keep-AliveHTTP/2 多路复用 HTTP/1.1 的队头阻塞问题 HTTP 连接复用机制详解 HTTP 连接复用是 HTTP/1.1 及更高版本中的核心优化机制,旨在减少 TCP 连接建立和关闭的开…

网络协议分析 实验六 TCP和端口扫描

文章目录 实验6.1 TCP(Transfer Control Protocol)练习二 利用仿真编辑器编辑并发送TCP数据包实验6.2 UDP端口扫描实验6.3 TCP端口扫描练习一 TCP SYN扫描练习二 TCP FIN扫描 实验6.1 TCP(Transfer Control Protocol) 建立:syn,syn ack,ack 数据传送:tcp…

Spring Web MVC————入门(2)

1,请求 我们接下来继续讲请求的部分,上期将过很多了,我们来给请求收个尾。 还记得Cookie和Seesion吗,我们在HTTP讲请求和响应报文的时候讲过,现在再给大家讲一遍,我们HTTP是无状态的协议,这次的…

每日算法-250514

每日算法学习记录 (2024-05-14) 今天记录三道 LeetCode 算法题的解题思路和代码。 1. 两数之和 题目截图: 解题思路 这道题要求我们从一个整数数组中找出两个数,使它们的和等于一个给定的目标值 target,并返回这两个数的下标。 核心思路是使用 哈希…

嵌入式培训之数据结构学习(三)gdb调试、单向链表练习、顺序表与链表对比

目录 一、gdb调试 (一)一般调试步骤与命令 (二)找段错误(无下断点的地方) (三)调试命令 二、单向链表练习 1、查找链表的中间结点(用快慢指针) 2、找出…

虚拟机安装CentOS7网络问题

虚拟机安装CentOS7网络问题 1. 存在的问题1.1 CentOS7详细信息 2. 解决问题3.Windows下配置桥接模式 1. 存在的问题 虽然已经成功在虚拟机上安装了CentOS7,但是依旧不能上网。 1.1 CentOS7详细信息 [fanzhencentos01 ~]$ hostnamectlStatic hostname: centos01Ic…

迅为RK3588开发板安卓GPIO调用APP运行测试

将网盘上的安卓工程文件复制到 Windows 电脑上。确保工程路径中使用英文字符,不包含中文。接着,启动 Android Studio,点击“Open”按钮选择应用工程文件夹,然后点击“OK”。由于下载 Gradle 和各种 Jar 包可能需要一段时间&#x…

Unity 红点系统

首先明确一个,即红点系统的数据结构是一颗树,并且红点的数据结构的初始化需要放在游戏的初始化中,之后再是对应的红点UI侧的注册,对应的红点UI在销毁时需要注销对红点UI的显示回调注册,但是不销毁数据侧的红点注册 - …

尼康VR镜头防抖模式NORMAL和ACTIVE的区别(私人笔记)

1. NORMAL 模式(常规模式) 适用场景:一般手持拍摄,比如人像、静物、风景或缓慢平移镜头(如水平追拍)等。工作特性: 补偿手抖引起的小幅度震动(比如手持时自然的不稳)&am…

从索引中排除 Elasticsearch 字段

作者:来自 Elastic Kofi Bartlett 说明如何配置 Elasticsearch 排除字段、为什么要这样做,以及应遵循的最佳实践。 更多阅读:Elasticsearch:inverted index,doc_values 及 source 想获得 Elastic 认证?了解…

超详细Docker教程

前言:大家在在Linux上部署mysql及其他软件时,大家想一想自己最大的感受是什么? 我相信,除了个别天赋异禀的人以外,大多数人都会有相同的感受,那就是麻烦。核心体现在三点: 命令太多了&#xff…

Java项目拷打(外卖+点评)

一、点评星球(黑马点评) 1、项目概述 1.1、项目简介 本项目是基于Spring Boot与Redis深度整合的前后端分离的点评平台。系统以Redis为核心技术支撑,重点解决高并发场景下的缓存穿透、击穿、雪崩等问题,涵盖商户展示、优惠券秒杀…