当前位置: 首页 > news >正文

Skyvern:用 AI+视觉驱动浏览器自动化

Skyvern:用 AI+视觉驱动浏览器自动化

    • 一、前言
    • 二、项目概览
      • 2.1 Skyvern 项目简介
      • 2.2 代码结构与模块划分
    • 三、环境搭建与快速上手
      • 3.1 环境准备
        • 3.1.1 系统与依赖
        • 3.1.2 克隆项目
        • 3.1.3 安装 Python 依赖
        • 3.1.4 配置环境变量
        • 3.1.5 启动服务
      • 3.2 验证安装
    • 四、核心功能与实战演练
      • 4.1 LLM+CV 自动化原理
      • 4.2 典型用例实操
        • 4.2.1 自动化登录流程
        • 4.2.2 复杂表单自动填写
        • 4.2.3 数据采集与爬取
      • 4.3 工作流编排与调试
    • 五、进阶玩法与二次开发
      • 5.1 自定义集成与插件开发
        • 5.1.1 新增 LLM 支持
        • 5.1.2 集成自定义动作
      • 5.2 与 CI/CD、测试平台集成
        • 5.2.1 API 调用示例
      • 5.3 典型应用场景
    • 六、最佳实践与常见问题
      • 6.1 提高自动化稳定性的建议
      • 6.2 常见问题解答
    • 七、结语

一、前言

  • Skyvern 是一个开源的自动化平台,结合了 LLM 与计算机视觉,能够像人类一样理解和操作网页。它不仅能自动化常规的表单填写、按钮点击,还能识别复杂的页面结构、处理动态内容,甚至支持多步工作流的自动化执行。
  • 本文将从项目架构、环境搭建、核心功能、实战案例、二次开发等多个维度,带你深入理解并高效上手 Skyvern。

二、项目概览

2.1 Skyvern 项目简介

在这里插入图片描述

Skyvern 由 Skyvern-AI 团队开源,主打“用 LLM+CV 自动化浏览器操作”,支持多种主流大模型(如 OpenAI、Gemini、Novita 等),并可通过 API 进行扩展。其核心亮点包括:

  • LLM 驱动:通过自然语言理解页面内容和用户意图,自动生成操作序列。
  • 计算机视觉:识别页面元素、处理复杂布局,突破传统 DOM 定位的局限。
  • 多模型兼容:支持 OpenAI、Gemini、Novita 等主流模型,灵活切换。
  • 工作流编排:支持多步任务链式执行,适合复杂业务流程自动化。
  • 可视化与可扩展性:提供 Streamlit/React UI,便于任务管理和二次开发。

2.2 代码结构与模块划分

根据官方仓库结构,Skyvern 主要包含以下核心目录:

  • skyvern/:后端主逻辑,包含 LLM 调用、CV 处理、任务编排等。
  • skyvern-frontend/:前端 UI,支持任务配置、运行监控、结果展示。
  • integrations/:第三方集成模块,如与 Playwright、Selenium 等的对接。
  • evaluation/:评测与基准测试相关代码。
  • scripts/:常用脚本,如环境初始化、数据处理等。
  • .streamlit/:Streamlit UI 配置。
  • alembic/:数据库迁移相关。

三、环境搭建与快速上手

3.1 环境准备

3.1.1 系统与依赖

Skyvern 推荐在 Linux/MacOS 环境下运行,Windows 亦可通过 WSL 兼容。主要依赖包括:

  • Python 3.9+
  • Node.js(用于前端构建)
  • Docker(可选,便于一键部署)
  • Chrome/Chromium 浏览器(自动化驱动)
3.1.2 克隆项目
git clone https://github.com/skyvern-ai/skyvern.git
cd skyvern
3.1.3 安装 Python 依赖

建议使用虚拟环境:

python3 -m venv venv
source venv/bin/activate
pip install -U pip
pip install -r requirements.txt
3.1.4 配置环境变量

复制并编辑 .env.example

cp .env.example .env

根据你的 LLM 服务(如 OpenAI、Gemini、Novita)填写对应的 API Key。例如:

OPENAI_COMPATIBLE_MODEL_NAME=gpt-3.5-turbo
OPENAI_COMPATIBLE_API_KEY=sk-xxxxxx
OPENAI_COMPATIBLE_API_BASE=https://api.openai.com/v1
3.1.5 启动服务
# 启动后端
python -m skyvern# 启动前端(可选)
cd skyvern-frontend
npm install
npm run dev

或使用 Docker 一键启动:

docker-compose up --build

3.2 验证安装

访问本地 UI(如 http://localhost:8501 或 http://localhost:3000),应能看到 Skyvern 的任务管理界面。


四、核心功能与实战演练

4.1 LLM+CV 自动化原理

Skyvern 的核心在于将 LLM 的自然语言理解能力与计算机视觉的元素识别能力结合,实现“像人一样”操作网页。其基本流程如下:

  1. 页面分析:通过浏览器截图、DOM 抓取等方式,获取页面结构与视觉信息。
  2. 意图解析:LLM 解析用户输入的自然语言指令,生成操作意图。
  3. 元素定位:结合 CV 模型和 DOM 信息,精准定位目标元素。
  4. 动作执行:通过 Playwright/Selenium 等驱动,完成点击、输入、滚动等操作。
  5. 多步编排:支持链式任务,自动处理页面跳转、弹窗等复杂场景。

4.2 典型用例实操

4.2.1 自动化登录流程

以自动登录 GitHub 为例,Skyvern 的任务配置如下:

steps:- description: "打开 GitHub 登录页"action: "navigate"url: "https://github.com/login"- description: "输入用户名"action: "type"selector: "input[name='login']"value: "your_username"- description: "输入密码"action: "type"selector: "input[name='password']"value: "your_password"- description: "点击登录按钮"action: "click"selector: "input[type='submit']"

你也可以直接用自然语言描述任务,Skyvern 会自动解析:

“打开 GitHub 登录页,输入用户名和密码,点击登录。”

4.2.2 复杂表单自动填写

对于多级表单、动态加载的页面,Skyvern 能自动识别表单结构,逐步填写并提交。例如:

“在某招聘网站注册账号,填写所有必填项,上传简历,提交注册。”

Skyvern 会自动处理文件上传、验证码识别(如集成第三方打码服务)、多步跳转等。

4.2.3 数据采集与爬取

Skyvern 支持自动化采集网页数据,并可将结果导出为 CSV/JSON。例如:

“抓取某电商网站前 10 页的商品名称和价格,保存为 CSV。”

Skyvern 会自动翻页、提取数据,并生成结构化文件。

4.3 工作流编排与调试

Skyvern 支持多步任务链式编排,可视化管理每一步的输入输出。你可以在 UI 中拖拽、编辑每个步骤,实时查看执行结果和日志,便于调试和优化。


五、进阶玩法与二次开发

5.1 自定义集成与插件开发

Skyvern 设计了灵活的插件机制,便于集成自定义 LLM、CV 模型或第三方服务。例如,你可以接入自有的 OCR 服务、验证码识别 API,或扩展支持新的浏览器驱动。

5.1.1 新增 LLM 支持

.env 中配置新的 LLM 接口参数,并在 skyvern/llm/ 目录下实现对应的适配器即可。

5.1.2 集成自定义动作

skyvern/actions/ 目录下新增自定义动作(如特殊的文件上传、复杂交互等),并在任务配置中调用。

5.2 与 CI/CD、测试平台集成

Skyvern 支持通过 API 触发任务,便于与 Jenkins、GitHub Actions 等 CI/CD 工具集成,实现自动化回归测试、冒烟测试等。

5.2.1 API 调用示例
curl -X POST http://localhost:8000/api/run \-H "Content-Type: application/json" \-d '{"steps": [...]}'

5.3 典型应用场景

  • AI 测试工程师:自动化 UI 测试、回归测试、兼容性测试。
  • RPA 工程师:自动化办公流程、数据录入、报表生成。
  • 数据分析师:自动化数据采集、网页爬虫。
  • 产品经理/运营:无需编程即可配置自动化任务,提高效率。

六、最佳实践与常见问题

6.1 提高自动化稳定性的建议

  • 优先使用视觉+DOM双重定位,提升元素识别准确率。
  • 合理设置等待时间,处理异步加载和动画。
  • 对于验证码、滑块等反爬机制,集成第三方识别服务或人工干预。
  • 利用 Skyvern 的“调试模式”,逐步执行并观察每一步结果。

6.2 常见问题解答

Q1:如何处理动态页面元素?
A:Skyvern 结合 CV 和 DOM 信息,能自动适应元素位置变化。必要时可通过自定义 selector 或视觉锚点增强定位。

Q2:如何扩展支持新的 LLM 或 CV 模型?
A:参考 skyvern/llm/skyvern/cv/ 目录,按接口规范实现适配器,并在配置文件中切换即可。

Q3:如何关闭数据上报/隐私保护?
A:设置环境变量 SKYVERN_TELEMETRY=false 即可关闭遥测。


七、结语

Skyvern 以 LLM+CV 为核心,极大提升了浏览器自动化的智能化和易用性。无论你是 AI 测试工程师、RPA 开发者,还是自动化爱好者,都能在 Skyvern 中找到高效、灵活的解决方案。


参考链接:

  • Skyvern GitHub 仓库
  • Skyvern 官网

相关文章:

Skyvern:用 AI+视觉驱动浏览器自动化

Skyvern:用 AI视觉驱动浏览器自动化 一、前言二、项目概览2.1 Skyvern 项目简介2.2 代码结构与模块划分 三、环境搭建与快速上手3.1 环境准备3.1.1 系统与依赖3.1.2 克隆项目3.1.3 安装 Python 依赖3.1.4 配置环境变量3.1.5 启动服务 3.2 验证安装 四、核心功能与实…...

101alpha第九

alpha ((rank(ts_arg_max((vwap - close), 3)) * rank(ts_delta(volume, 3))) 今天我们来学下这个 这个是两个rank操作符相加,然后和另外一个操作符相乘,我们来看实现了什么 vwap - close:这部分先计算成交量加权平均价(vwap&am…...

蓝牙身份证阅读器使用Uniapp调用二次开发demo

<template> <view class"content"> <view class"search" :loading"searchingstatus" click"searchbluetooth"> {{searchingstatus?"搜索中":"搜索蓝牙阅读器"}} </view> …...

好用的shell终端工具

FinalShell SSH工具,服务器管理 FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本4.5.12,更新日期2024.10.30 - FinalShell官网...

OSPF不规则区域划分

1、建立一条虚链路 vlink 可以被视为是⻣⼲区域的⼀段延伸。 这⼀条虚拟的链路&#xff0c;只能够跨域⼀个⾮⻣⼲区域。 [r2-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3 [r3-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2 在没有建立虚链路之前,r1是不能ping r4的。vlink建⽴的邻居关…...

复习javascript

1.修改元素内的内容 ​ <div>zsgh</div> <script> const box1document.querySelector("div") box1.innerText"ppp" box1.innerHtml<h1>修改</h1> </script>​ 2.随机点名练习 <!DOCTYPE html> <html lang…...

海盗王64位服务端+32位客户端3.0版本

经过多天的尝试&#xff0c;终于把海盗王3.0的服务端改成了64位的&#xff0c;包括AccountServer GroupServer GameServer GateServer。 客户端则保留了32位。 服务端改成64位的好处是GameServer可以只启动一个就开全部地图&#xff0c;大概6G内存左右&#xff0c;直接将跳…...

【从零实现JsonRpc框架#2】Muduo库介绍

1.基本概念 Muduo 由陈硕大佬开发&#xff0c;是一个基于非阻塞IO和事件驱动的C高并发TCP网络编程库。它是一款基于主从Reactor模型的网络库&#xff0c;其使用的线程模型是 one loop per thread。 1.1 主从 Reactor 模型 主 Reactor&#xff08;MainReactor&#xff0c;通常…...

如何创建伪服务器,伪接口

创建伪接口一般是用于模拟真实接口的行为&#xff0c;以便在开发和测试过程中进行使用&#xff0c;以下是一些常见的创建伪接口的方法&#xff1a; 使用 Web 框架搭建&#xff1a; Python 和 Flask&#xff1a;Flask 是一个轻量级的 Python Web 框架。示例代码如下&#xff1a;…...

NX949NX952美光科技闪存NX961NX964

NX949NX952美光科技闪存NX961NX964 在半导体存储领域&#xff0c;美光科技始终扮演着技术引领者的角色。其NX系列闪存产品线凭借卓越的性能与创新设计&#xff0c;成为数据中心、人工智能、高端消费电子等场景的核心组件。本文将围绕NX949、NX952、NX961及NX964四款代表性产品…...

vue配置代理解决前端跨域的问题

文章目录 一、概述二、报错现象三、通过配置代理来解决修改request.js中的baseURL为/api在vite.config.js中增加代理配置 四、参考资料 一、概述 跨域是指由于浏览器的同源策略限制&#xff0c;向不同源(不同协议、不同域名、不同端口)发送ajax请求会失败 二、报错现象 三、…...

深入解析Vue3中ref与reactive的区别及源码实现

深入解析Vue3中ref与reactive的区别及源码实现 前言 Vue3带来了全新的响应式系统&#xff0c;其中ref和reactive是最常用的两个API。本文将从基础使用、核心区别到源码实现&#xff0c;由浅入深地分析这两个API。 一、基础使用 1. ref import { ref } from vueconst count…...

Java Bean容器详解:核心功能与最佳使用实践

在Java企业级开发中&#xff0c;Bean容器是框架的核心组件之一&#xff0c;它通过管理对象&#xff08;Bean&#xff09;的生命周期、依赖关系等&#xff0c;显著提升了代码的可维护性和扩展性。主流的框架如Spring、Jakarta EE&#xff08;原Java EE&#xff09;均提供了成熟的…...

Xilinx Kintex-7 XC7K325T-2FFG676I 赛灵思 FPGA

XC7K325T-2FFG676I 属于 Kintex-7 FPGA &#xff0c;低功耗与合理成本的应用市场&#xff0c;可提供比前代产品两倍的性价比提升和卓越的系统集成能力。该器件于 28 nm 工艺节点制造&#xff0c;速度等级为 -2&#xff0c;适合对时序要求严格但预算有限的系统设计。 产品架构与…...

AI实战笔记(1)AI 的 6 大核心方向 + 学习阶段路径

一、机器学习&#xff08;ML&#xff09; 目标&#xff1a;用数据“训练”模型&#xff0c;完成分类、回归、聚类等任务。 学习阶段&#xff1a; &#xff08;1&#xff09;基础数学&#xff1a;线性代数、概率统计、微积分&#xff08;适度&#xff09; &#xff08;2&#xf…...

Ceph集群故障处理 - PG不一致修复

Ceph集群故障处理 - PG不一致修复 目录故障现象故障分析故障定位修复过程磁盘状态检查OSD存储结构检查修复分析故障总结问题原因修复方法后续建议经验教训最佳实践 参考资料 # ceph -v ceph version 14.2.22目录 故障现象故障分析故障定位修复过程磁盘状态检查OSD存储结构检查…...

【前端】每日一道面试题3:如何实现一个基于CSS Grid的12列自适应布局?

要实现一个基于CSS Grid的12列自适应布局&#xff0c;关键在于利用网格系统的灵活性和响应式设计能力。以下是具体实现步骤及核心代码示例&#xff1a; 一、基础网格容器定义 创建网格容器 使用display: grid将父元素定义为网格容器&#xff1a; .container {display: grid;gr…...

leetcode 349. Intersection of Two Arrays

题目描述 题目限制0 < nums1[i], nums2[i] < 1000&#xff0c;所以可以开辟一个1001个元素的数组来做哈希表。 class Solution { public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {vector<int> table(1001,0…...

机器学习 day01

文章目录 前言一、机器学习的基本概念二、数据集的加载1.玩具数据集2.联网数据集3.本地数据集 三、数据集的划分四、特征提取1.稀疏矩阵与稠密矩阵2.字典列表特征提取3.文本特征提取 前言 目前我开始学习机器学习部分的相关知识&#xff0c;通过今天的学习&#xff0c;我掌握了…...

C++STL——priority_queue

优先队列 前言优先队列仿函数头文件 前言 本篇主要讲解优先队列及其底层实现。 优先队列 优先队列的本质就是个堆&#xff0c;其与queue一样&#xff0c;都是容器适配器&#xff0c;不过优先队列是默认为vector实现的。priority_queue的接口优先队列默认为大根堆。 仿函数 …...

DS18B20温度传感器

1.基本信息 测温范围为一55&#xff5e; 125℃&#xff1b;3.3/5V的供电电压&#xff1b;-10~85内精度较高&#xff1b; 典型的温度转换时间为 750ms&#xff08;12 位分辨率&#xff09;&#xff1b; 输出最小分辨率&#xff1a;0.0625&#xff1b; 采用单总线数据格式&am…...

《Python星球日记》 第50天:深度学习概述与环境搭建

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、什么是深度学习&#xff1f;它与传统机器学习的区别1. 深度学习的定义2. 深…...

BUUCTF——Cookie is so stable

BUUCTF——Cookie is so stable 进入靶场 页面有点熟悉 跟之前做过的靶场有点像 先简单看一看靶场信息 有几个功能点 flag.php 随便输了个admin 根据题目提示 应该与cookie有关 抓包看看 构造payload Cookie: PHPSESSIDef0623af2c1a6d2012d57f3529427d52; user{{7*7}}有…...

Java 基础面试题

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…...

bcm5482 phy 场景总结

1,BCM5482是一款双端口10/100/1000BASE-T以太网PHY芯片,支持多种速率和双工模式。其配置主要通过MDIO(Management Data Input/Output)接口进行,MDIO接口用于访问PHY芯片内部的寄存器,从而配置网络速率、双工模式以及其他相关参数。 a,具体以下面两种场景举例 2. 寄存器和…...

小程序多线程实战

在小程序开发中&#xff0c;由于微信小程序的运行环境限制&#xff0c;原生并不支持传统意义上的多线程编程&#xff0c;但可以通过以下两种核心方案实现类似多线程的并发处理效果&#xff0c;尤其在处理复杂计算、避免主线程阻塞时非常关键&#xff1a; 一、官方方案&#xff…...

PPT图表怎么制作?说5款自己使用过的PPT图表制作工具

PPT图表怎么制作&#xff1f;准备一份吸引人的PPT演示文稿时&#xff0c;图表往往能起到画龙点睛的作用。但是&#xff0c;对于很多人来说&#xff0c;制作既美观又专业的图表却不是一件容易的事情。今天&#xff0c;我们就来聊聊如何利用一些优秀的工具制作PPT图表。 1、亿图图…...

渠道销售简历模板范文

模板信息 简历范文名称&#xff1a;渠道销售简历模板范文&#xff0c;所属行业&#xff1a;其他 | 职位&#xff0c;模板编号&#xff1a;KRZ3J3 专业的个人简历模板&#xff0c;逻辑清晰&#xff0c;排版简洁美观&#xff0c;让你的个人简历显得更专业&#xff0c;找到好工作…...

数据库实验10

设计性实验 1&#xff0e;实验要求 1.编写函数FsumXXX&#xff0c;1~n&#xff08;参数&#xff09;求和&#xff1b; GO CREATE FUNCTION Fsum065 (n INT) RETURNS INT AS BEGIN DECLARE sum INT 0 WHILE n > 0 BEGIN SET sum sum n SET n n - 1 END RETURN sum END …...

C#异步Task,await,async和Unity同步协程

标题 TaskawaitasyncUnity协程 Task Task是声明异步任务的必要关键字&#xff0c;也可以使用Task<>泛型来定义Task的返回值。 await await是用于等待一个Task结束&#xff0c;否则让出该线程控制权&#xff0c;让步给其他线程&#xff0c;直到该Task结束才往下运行。 …...

【ML-Agents】ML-Agents示例项目导入unity报错解决

最近在跑ML-Agents的示例代码&#xff0c;无奈往unity中导入项目后&#xff0c;就出现报错。本文简要描述了各个报错的解决方法。 文章目录 一、error CS0234: The type or namespace name InputSystem does not exist in the namespace UnityEngine (are you missing an assem…...

【Web前端开发】HTML基础

Web前端开发是用来直接给用户呈现一个一个的网页&#xff0c;主要包含实现用户的结构&#xff08;HTML&#xff09;、样式&#xff08;CSS&#xff09;、交互&#xff08;JavaScript&#xff09;。然而一个软件通常是由后端和前端完成的。可以查阅文档&#xff1a;HTML 教程 (w…...

spark-哈希join介绍

目录 1. Shuffle Join 和 Hash Join 的复杂度1.1 Shuffle Join1.2 Hash Join 2. 哈希算法的原理2.1 什么是哈希算法&#xff1f;2.2 哈希算法的工作原理2.3 常见哈希函数 3. 哈希算法的弊端3.1 哈希碰撞3.2 哈希分布不均匀3.3 哈希值不可逆 4. 哈希碰撞的处理方法4.1 链地址法4…...

计算机网络与多线程同步机制详解

一、IP地址与子网划分 在互联网世界中&#xff0c;IP地址就像是每个设备的"门牌号"&#xff0c;它使得数据包能够准确送达目的地。IP地址的划分与管理就像城市的规划&#xff0c;通过合理的子网划分&#xff0c;能够高效地管理网络资源。 子网掩码的工作原理 子网…...

栈溢出攻击最基本原理

函数在调用的过程中&#xff0c;函数在调用之前呢&#xff0c;会将调用完这个函数之后的下一条命令的地址保存到LR中。 void func() {int a[4];a[6] 100; } 这个函数在用gcc编译的时候是不会报错的&#xff0c;所以我们可以在尝试之后&#xff0c;修改LR的值&#xff0c;让代…...

ChemDraw、InDraw、KingDraw有什么差别?

在化学相关的科研与教学领域&#xff0c;一款好用的结构式编辑器至关重要&#xff0c;ChemDraw因此闻名&#xff1b;但近年来&#xff0c;ChemDraw代理商频繁发送律师函&#xff0c;给学校和企业带来诸多困扰&#xff0c;促使大家纷纷寻找替代软件。InDraw和KingDraw这两款软件…...

NVMe控制器IP设计之接口模块

这是NVMe控制器IP设计系列博客之一&#xff0c;其他的见本博客或csdn搜用户名&#xff1a;tiantianuser。相关视频见B站用户名&#xff1a;专注与守望。 接口转换模块负责完成AXI4接口与控制器内部的自定义接口之间的转换工作。接口转换模块的框图如图1所示。 图1 接口转换示…...

从0开始学linux韦东山教程第三章问题小结(2)

本人从0开始学习linux&#xff0c;使用的是韦东山的教程&#xff0c;在跟着课程学习的情况下的所遇到的问题的总结,理论虽枯燥但是是基础。 摘要关键词&#xff1a;PC远程访问ubuntu配置&#xff0c;ubuntu配置uboot环境&#xff0c;串口控制开发板 本文详细介绍以下问题&…...

JS正则表达式介绍(JavaScript正则表达式)

文章目录 JavaScript正则表达式完全指南正则表达式基础元字符与特殊字符基本元字符. - 点号\d - 数字\D - 非数字\w - 单词字符\W - 非单词字符\s - 空白字符\S - 非空白字符 正则表达式标志常用标志详解g - 全局匹配i - 忽略大小写m - 多行匹配s - 点号匹配所有字符u - Unicod…...

(51单片机)LCD显示红外遥控相关数字(Delay延时函数)(LCD1602教程)(Int0和Timer0外部中断教程)(IR红外遥控模块教程)

前言&#xff1a; 本次Timer0模块改装了一下&#xff0c;注意&#xff01;&#xff01;&#xff01;今天只是简单的实现一下&#xff0c;明天用次功能显示遥控密码锁 演示视频&#xff1a; 在审核 源代码&#xff1a; 如上图将9个文放在Keli5 中即可&#xff0c;然后烧录在…...

关于单片机的基础知识(一)

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///计算机爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于单片机基础知识的相关内容&#xf…...

操作系统学习笔记第2章 (竟成)

第 2 章 进程管理 【考纲内容】 1.进程与线程&#xff1a; (1) 进程 / 线程的基本概念&#xff1b; (2) 进程 / 线程的状态与转换&#xff1b; (3) 线程的实现&#xff1a;内核支持的线程&#xff1b;线程库支持的线程&#xff1b; (4) 进程与线程的组织与控制&#xff1b; (5)…...

《从零开始:构建你的第一个区块链应用》

一、引言 区块链技术&#xff0c;这个曾经只在金融领域被广泛讨论的技术&#xff0c;如今已经渗透到各个行业。从供应链管理到智能合约&#xff0c;区块链的应用场景越来越丰富。对于开发者来说&#xff0c;理解区块链的基本原理并构建一个简单的区块链应用&#xff0c;是进入这…...

[思维模式-24]:《本质思考力》-5- 马克思主义毛泽东思想揭示了了人类社会运作的普遍规律有哪些?

目录 一、马克思主义毛泽东思想揭示了了人类社会运作的普遍规律有哪些&#xff1f; 1、生产力与生产关系的辩证运动规律 2、阶级斗争与社会革命规律 3、社会形态演变规律 4、人民群众是历史创造者的规律 5、社会基本矛盾运动规律 6、认识与实践的辩证关系规律 二、马克…...

CentOS7.9部署FunASR实时语音识别接口 | 部署商用级别实时语音识别接口FunASR

0. 环境说明 本次在云服务器中部署一套实时语音识别接口&#xff0c;基于阿里开源的FunASR。 云服务器使用莱卡云&#xff0c;4核心4GB内存50GB存储空间&#xff0c;带宽10Mbps。 操作系统使用CentOS7.9 视频演示可以看 云服务器中部署实时语音识别接口 | FunASR在云服务器…...

炫酷粒子系统动画实战:Matplotlib实现银河漩涡效果

炫酷粒子系统动画实战&#xff1a;Matplotlib实现银河漩涡效果 效果演示&#xff1a;银河粒子漩涡核心代码分析1. 粒子系统初始化2. 动画更新函数3. 渲染优化技巧 完整实现代码Matplotlib的动画模块介绍​核心类对比核心功能分点注意事项 效果演示&#xff1a;银河粒子漩涡 动…...

MAD-TD: MODEL-AUGMENTED DATA STABILIZES HIGH UPDATE RATIO RL

ICLR 2025 spotlight paper 构建能够在少量样本下学习出优良策略的深度强化学习&#xff08;RL&#xff09;智能体一直是一个极具挑战性的任务。为了提高样本效率&#xff0c;近期的研究尝试在每获取一个新样本后执行大量的梯度更新。尽管这种高更新-数据比&#xff08;UTD&am…...

机器学习第四讲:无监督学习 → 给无标签积木自由组合,发现隐藏规律

机器学习第四讲&#xff1a;无监督学习 → 给无标签积木自由组合&#xff0c;发现隐藏规律 资料取自《零基础学机器学习》。 查看总目录&#xff1a;学习大纲 关于DeepSeek本地部署指南可以看下我之前写的文章&#xff1a;DeepSeek R1本地与线上满血版部署&#xff1a;超详细…...

Vue 两种导航方式

目录 一、声明式导航 二、编程式导航 三、两句话总结 一、声明式导航 1. 传参跳转&#xff1a; <router-link :to"/user?nameCHEEMS&id114514">Query传参 </router-link><router-link :to"/user?参数名1参数值1&参数名2参数值2&a…...

HTTP 的发展史:从前端视角看网络协议的演进

别再让才华被埋没&#xff0c;别再让github 项目蒙尘&#xff01;github star 请点击 GitHub 在线专业服务直通车GitHub赋能精灵 - 艾米莉&#xff0c;立即加入这场席卷全球开发者的星光革命&#xff01;若你有快速提升github Star github 加星数的需求&#xff0c;访问taimili…...