字节DeerFlow开源框架:多智能体深度研究框架,实现端到端自动化研究流程
🦌 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构建,实现了灵活的基于状态的工作流,其中组件通过定义良好的消息传递系统进行通信。
系统采用了精简的工作流程,包含以下组件:
-
协调器:管理工作流生命周期的入口点
- 根据用户输入启动研究过程
- 在适当时候将任务委派给规划器
- 作为用户和系统之间的主要接口
-
规划器:负责任务分解和规划的战略组件
- 分析研究目标并创建结构化执行计划
- 确定是否有足够的上下文或是否需要更多研究
- 管理研究流程并决定何时生成最终报告
-
研究团队:执行计划的专业智能体集合:
- 研究员:使用网络搜索引擎、爬虫甚至MCP服务等工具进行网络搜索和信息收集。
- 编码员:使用Python REPL工具处理代码分析、执行和技术任务。
每个智能体都可以访问针对其角色优化的特定工具,并在LangGraph框架内运行
-
报告员:研究输出的最终阶段处理器
- 汇总研究团队的发现
- 处理和组织收集的信息
- 生成全面的研究报告
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中,您可以:
- 可视化工作流图并查看组件如何连接
- 实时跟踪执行情况,了解数据如何在系统中流动
- 检查工作流每个步骤的状态
- 通过检查每个组件的输入和输出来调试问题
- 在规划阶段提供反馈以完善研究计划
当您在Studio UI中提交研究主题时,您将能够看到整个工作流执行过程,包括:
- 创建研究计划的规划阶段
- 可以修改计划的反馈循环
- 每个部分的研究和写作阶段
- 最终报告生成
3. 示例展示
以下示例展示了DeerFlow的功能:
-
什么是MCP? - 对"MCP"一词在多个上下文中的全面分析
- 探讨AI中的Model Context Protocol、化学中的Monocalcium Phosphate和电子学中的Micro-channel Plate
- 查看完整报告
-
比特币价格波动 - 最近比特币价格走势分析
- 研究市场趋势、监管影响和技术指标
- 基于历史数据提供建议
- 查看完整报告
# 最近三个月比特币价格波动分析报告 ## 执行摘要
本报告分析了过去三个月内比特币的价格波动情况,主要依据现有的搜索结果进行总结。分析内容涵盖市场情绪、监管影响、经济因素以及技术分析指标。由于无法直接获取和处理原始数据,本报告基于多个来源的汇总信息进行研究。## 关键发现
- **特朗普政府政策影响**:2025年4月实施的关税政策导致比特币价格从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显示,“比特币”关键词的搜索热度随时间变化。近期文章指出,“比特币”及“比特币价格”相关搜索兴趣有所下降。### 价格波动情况
- **关税政策影响**:受特朗普政府于2025年4月2日宣布的关税政策影响,比特币价格由109,000美元跌至84,000美元。
- **经济不确定性影响**:整体经济形势不明朗,导致比特币价格跌破90,000美元。
- **技术支撑与阻力位**:当前需关注的关键支撑位为80,400美元和74,000美元,阻力位分别为98,500美元和106,000美元。## 结论与建议 ### 结论
综合现有信息来看,过去三个月比特币价格波动主要受到监管政策、宏观经济状况以及市场情绪等多重因素的影响。### 建议
1. **密切关注监管动向**:持续跟踪各国政府及监管机构的政策调整,评估其对加密货币市场的潜在影响。
2. **关注宏观经济指标**:密切留意全球经济增长、通胀数据等宏观指标,以判断其对投资者行为的影响。
3. **利用市场情绪工具**:结合“加密货币恐惧与贪婪指数”及社交媒体舆情分析,掌握市场心理变化。
4. **技术分析辅助决策**:运用技术分析工具识别关键支撑与阻力位,为投资策略提供参考依据。### 局限性
本报告基于公开渠道的汇总信息撰写,缺乏对原始数据的深入分析。如需得出更精确的结论,建议进一步开展基于完整数据分析的深入研究。
- 如何使用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. **学习成功案例**:借鉴其他行业的应用经验,探索更多可能性。
- 医疗保健中的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
- 交互模式
应用程序现在支持带有英文和中文内置问题的交互模式:
-
启动交互模式:
uv run main.py --interactive
-
选择您偏好的语言(English或中文)
-
从内置问题列表中选择或选择提出您自己问题的选项
-
系统将处理您的问题并生成全面的研究报告
参考:
- 字节跳动开源了一款 Deep Research 项目
相关文章:

字节DeerFlow开源框架:多智能体深度研究框架,实现端到端自动化研究流程
🦌 DeerFlow DeerFlow(Deep Exploration and Efficient Research Flow)是一个社区驱动的深度研究框架,它建立在开源社区的杰出工作基础之上。目标是将语言模型与专业工具(如网络搜索、爬虫和Python代码执行࿰…...
MySQL 存储函数[特殊字符] VS 存储过程[特殊字符]
1、存储函数😸 一、存储函数概述 存储函数是MySQL中一种特殊的存储程序,具有以下特点: 返回单个值:必须通过RETURN语句返回明确的结果SQL表达式使用:可以直接在SQL语句中调用输入参数:只接受输入参数(隐…...
reactor实现TCP遇到的问题和探究
struct conn{ int fd; char rbuffer[1024]; char wbuffer[1024]; int wlength; int rlength; int (*recv_cb)(int); int (*send_cb)(int); }; int (*recv_cb)(int); recv_cb:函数指针的名称*recv_cb:星号 * 表示 recv_cb 是一个指针。(*recv_cb)&#…...
ElasticSearch重启之后shard未分配问题的解决
以下是Elasticsearch重启后分片未分配问题的完整解决方案,结合典型故障场景与最新实践: 一、快速诊断定位 检查集群状态 GET /_cluster/health?pretty # status为red/yellow时需关注unassigned_shards字段值 2.查看未分配分片详情 …...

算法第十八天|530. 二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先
530. 二叉搜索树的最小绝对差 题目 思路与解法 第一想法: 一个二叉搜索树的最小绝对差,从根结点看,它的结点与它的最小差值一定出现在 左子树的最右结点(左子树最大值)和右子树的最左结点(右子树的最小值…...
QMK键盘编码器(Encoder)(理论部分)
QMK键盘编码器(Encoder)(理论部分) 前言 作为一名深耕机械键盘DIY多年的老司机,我发现很多键盘爱好者对QMK编码器的配置总是一知半解。今天我就把多年积累的经验毫无保留地分享给大家,从硬件接线到软件配置,从基础应用到高阶玩法,一文全搞定!保证看完就能让你的编码…...

微服务调试问题总结
本地环境调试。 启动本地微服务,使用公共nacos配置。利用如apifox进行本地代码调试解决调试问题。除必要的业务微服务依赖包需要下载到本地。使用mvn clean install -DskipTests进行安装启动前选择好profile环境进行启动,启动前记得mvn clean清理项目。…...
C++(2)
二、面向对象基础 1. 类与对象 1.1 核心概念 类(Class) 定义:抽象描述具有共同特征和行为的对象模板本质:代码复用的蓝图,定义数据(属性)与操作(行为࿰…...

美SEC主席:探索比特币上市证券交易所
作者/演讲者:美SEC主席Paul S. Atkins 编译:Liam 5月12日,由美国SEC加密货币特别工作组发起的主题为《资产上链:TradFi与DeFi的交汇点》系列圆桌会议如期举行。 会议期间,现任美SEC主席Paul S. Atkins发表了主旨演讲。…...
@Controller 与 @RestController-笔记
1.Controller与RestController对比 Spring MVC 中 Controller 与 RestController 的功能对比: Controller是Spring MVC中用于标识一个类作为控制器的标准注解。它允许处理HTTP请求,并返回视图名称,通常和视图解析器一起使用来渲染页面。而R…...
JavaScript篇:揭秘函数式与命令式编程的思维碰撞
大家好,我是江城开朗的豌豆,一名拥有6年以上前端开发经验的工程师。我精通HTML、CSS、JavaScript等基础前端技术,并深入掌握Vue、React、Uniapp、Flutter等主流框架,能够高效解决各类前端开发问题。在我的技术栈中,除了…...
c++和c的不同
c:面向对象(封装,继承,多态),STL,模板 一、基础定义与背景 C语言 诞生年代:20世纪70年代,Dennis Ritchie在贝尔实验室开发。主要特点: 过程式、结构化编程面向系统底层…...

MySQL Join连接算法深入解析
引言 在关系型数据库中,Join操作是实现多表数据关联查询的关键手段,直接影响查询性能和资源消耗。MySQL支持多种Join算法,包括经典的索引嵌套循环连接(Index Nested-Loop Join)、块嵌套循环连接(Block Nes…...
从构想到交付:专业级软开发流程详解
目录 一、软件开发生命周期(SDLC)标准化流程 1. 需求工程阶段(Requirement Engineering) 2. 系统设计阶段(System Design) 3. 开发阶段(Implementation) 4. 测试阶段&a…...
腾讯云-人脸核身+人脸识别教程
一。产品概述 慧眼人脸核身特惠活动 腾讯云慧眼人脸核身是一组对用户身份信息真实性进行验证审核的服务套件,提供人脸核身、身份信息核验、银行卡要素核验和运营商类要素核验等各类实名信息认证能力,以解决行业内大量对用户身份信息真实性核实的需求&a…...

http请求卡顿
接口有时出现卡顿,而且抓包显示有时tcp目标机器没有响应, 但nginx和java应用又没有错误日志,让人抓耳挠腮,最终还是请运维大哥帮忙,一顿操作后系统暂时无卡顿了,佩服的同时感觉疑惑到底调整了啥东…...
使用Vite打包前端Vue项目,碰到依赖包体积大,出现内存溢出的解决办法
vite.config.ts 中 方式一 使用 esbuild build: {outDir: "dist",minify: "esbuild",sourcemap: false,chunkSizeWarningLimit: 5000,rollupOptions: {experimentalLogSideEffects: false,output: {// 最小化拆分包manualChunks(id) {if (id.includes(&q…...
C语言_函数调用栈的汇编分析
在 C 语言的底层实现中,函数调用栈是程序运行时内存管理的核心机制。它不仅负责函数间的控制转移,还管理局部变量、参数传递和返回值。本文将结合 C 语言代码和 x86-64 汇编指令,深入解析函数调用栈的工作原理。 一、函数调用栈的基本概念 函数调用栈是内存中的一块后进先…...
Java Spring Boot 控制器中处理用户数据详解
目录 一、获取请求参数1.1 获取查询参数1.2 获取路径参数 二、处理表单提交2.1 处理表单数据 三、处理 JSON 数据3.1 接收 JSON 数据 四、返回 JSON 数据五、处理文件上传5.1 单文件上传5.2 多文件上传 六、总结 在 Spring Boot 应用开发中,控制器(Contr…...

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…...
【Docker】docker login总是报各种超时错误,导致登录不成功。
报错信息:Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).等超时错误。 解决方案:docker login总是报各种超时错…...

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&#…...
什么是函数重载?为什么 C 不支持函数重载,而 C++能支持函数重载?
函数重载的定义 函数重载是指在同一作用域内,可以有多个同名函数,但是这些函数的参数列表(参数的个数、类型或顺序)不同。编译器会根据调用函数时传递的实际参数来确定具体调用哪个重载函数。 C不支持函数重载的原因 C语言的编译器…...
Python机器学习笔记(二十二、模型评估-交叉验证)
交叉验证(cross-validation)是一种评估泛化性能的统计学方法,它比单次划分训练集和测试集的方法更加稳定、全面。 在交叉验证中,数据被多次划分,并且需要训练多个模型。最常用的交叉验证是k折交叉验证(k-fold cross-validation),其中k是由用户指定的数字,通常取5或10…...
Python爬虫实战:获取woodo网各类免费图片,积累设计素材
1. 引言 在设计素材收集领域,woodo 网(吾道)提供了大量高质量的设计图片资源。然而,手动下载这些图片效率低下,且难以批量获取。开发自动化爬虫系统能够有效解决这一问题,但面临网站反爬机制、数据去重、并发控制等技术挑战。本文提出的爬虫系统针对 woodo 网站特点进行…...
Go语言运算符详解
文章目录 1. 算术运算符2. 关系运算符3. 逻辑运算符4. 位运算符5. 赋值运算符6. 其他运算符运算符优先级注意事项 Go语言提供了与其他语言类似的运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等。这些运算符即可满足基本的运算需求。 1. 算…...

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是无状态的协议,这次的…...