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

虚拟鼠标库实战:用代码控制光标,提升屏幕录制与演示效率

1. 项目概述为屏幕录制注入灵魂的虚拟鼠标如果你做过产品演示、软件教程或者功能讲解类的视频肯定遇到过这样的烦恼录屏软件捕捉到的鼠标指针移动轨迹是生硬的、跳跃的甚至因为手抖而显得不够专业。一个流畅、精准、可控的鼠标动画对于提升视频的观感和专业度至关重要。这就是zouloux/virtual-mouse这个库诞生的初衷。它不是一个简单的鼠标图标替换而是一个完整的、可编程的虚拟光标系统能让你在网页上“导演”一场完美的鼠标表演。简单来说它能在任何网页包括不是你开发的网站上创建一个完全由代码控制的虚拟鼠标。你可以精确地指挥它移动到某个像素点执行点击、滚动甚至模拟出人类操作中自然的缓动和停顿。这对于制作高质量的屏幕录像、交互式演示、自动化测试预览或者创建吸引人的产品导览视频来说是一个利器。无论你是前端开发者、产品经理、在线教育者还是内容创作者只要你的工作涉及在网页上“演示操作”这个工具都能大幅提升你的产出效率和最终效果。2. 核心原理与架构设计解析2.1 虚拟光标的本质一个绝对定位的DOM元素抛开“虚拟”这个神秘面纱virtual-mouse的核心实现非常直观。它本质上是在网页的body末尾动态创建了一个div元素并为其赋予了鼠标指针的样式通常是经典的箭头或手型图标。这个div通过position: fixed或position: absolute固定在页面的最顶层z-index设为极大值从而覆盖在所有页面内容之上。为什么选择DOM元素而非Canvas这是一个关键的设计决策。使用DOM元素意味着虚拟光标可以天然地享受CSS的全部能力阴影、渐变、动画、变换transform。你可以轻松地通过CSS为光标添加拖影、点击涟漪效果或者根据交互状态改变其形态。相比之下Canvas虽然性能更高但实现复杂的、与CSS动画协同的视觉效果要麻烦得多。对于屏幕录制这种更注重表现力而非极限性能的场景DOM方案是更优解。2.2 动画引擎GSAP的力量流畅的移动是虚拟鼠标的灵魂。库选择了GSAPGreenSock Animation Platform作为其唯一的动画依赖。GSAP是业界公认的顶级动画库其优势在于极高的性能GSAP的动画性能远超原生的CSStransition或requestAnimationFrame手写动画尤其在处理复杂缓动曲线时。丰富的缓动函数库中预设的power4.inOut、elastic.out等缓动函数能轻松模拟出人手移动鼠标时那种先加速后减速的真实物理感。精准的时间控制GSAP提供了强大的时间轴Timeline和精准的进度控制这对于编排一系列连续的鼠标动作如移动-停顿-点击-滚动至关重要。通过defaultAnimate配置项你可以全局定义动画的持续时间和缓动效果确保整个“表演”的节奏一致。2.3 跨越框架与样式的交互模拟这是库最精妙也最具挑战性的部分。让一个虚拟的DOM元素去触发页面真实的交互反馈如:hover样式、React的点击事件需要绕过浏览器的安全限制。2.3.1 攻克CSS :hover 伪类JavaScript无法直接触发CSS的:hover状态。库的解决方法是引入了一个辅助库pseudo-styler。它的原理是动态地计算目标元素在:hover状态下应有的样式然后通过JavaScript直接将这些样式作为内联样式或一个特定的类名应用到元素上从而“欺骗”页面使其呈现出悬停的视觉效果。注意媒体查询内的 :hover 失效问题这是一个已知的限制。如果:hover样式被包裹在media查询中例如只在桌面端显示悬停效果pseudo-styler可能无法正确计算和应用样式。在实际使用中如果你的页面有此类响应式悬停样式需要额外测试或考虑替代方案。2.3.2 破解React的合成事件系统React使用了自己的一套事件系统SyntheticEvent它拦截了原生的DOM事件以实现跨浏览器兼容和性能优化。这意味着即使你通过document.querySelector(‘button’).click()触发了一个原生点击React组件上绑定的onClick处理函数也可能不会被调用。virtual-mouse采用了一种“寻根溯源”的Hack方法initReactEvents(reactNode)。你需要传入任意一个React渲染的DOM节点。库会通过这个节点向上寻找到React应用的根节点可能是通过__reactFiber或__reactProps这类内部属性这些属性在开发模式下通常存在然后直接调用React元素上的事件处理器。这种方法虽然有效但依赖于React的内部实现在未来React版本中可能存在断裂的风险。这是使用该功能时需要明确知晓的权衡。2.3.3 模拟滚动行为库通过直接设置window.scrollTo或目标可滚动容器的scrollTop/scrollLeft属性来模拟滚动并同时更新虚拟光标的位置使其看起来像是光标拖动滚动条或滚轮产生的效果。这里的一个细节是水平滚动在录制工作室Studio中暂不支持但通过scroll和scrollToAPI 是可以直接编程控制的。3. 从零开始两种核心使用模式详解3.1 模式一编程控制Player模式—— 用于精密编排这是最强大的使用方式。你像编写剧本一样用代码定义光标的每一步行动。3.1.1 环境准备与初始化你无需安装任何东西。在任何网站的浏览器开发者工具Console中都可以直接运行。这是它“无侵入性”的最大体现。// 1. 动态导入库 const { createVirtualMousePlayer } await import(https://esm.sh/zouloux/virtual-mouse); // 2. 创建虚拟鼠标实例并配置 const mouse createVirtualMousePlayer({ hideScrollbar: true, // 推荐隐藏滚动条避免录制时出现跳动 hideCursor: true, // 隐藏用户真实光标避免干扰 verbose: true, // 开发时开启会在控制台打印每个动作方便调试 defaultAnimate: { duration: 0.8, // 默认移动动画时长单位秒。1秒左右观感比较自然。 ease: power3.out, // 我更喜欢‘power3.out’比‘inOut’更有“指向性”的果断感。 }, mouseStyle: { // 完全自定义光标外观 transform: translate(-50%, -50%), // 确保光标尖对准坐标 width: 20px, height: 20px, backgroundImage: url(data:image/svgxml,...), // 可以嵌入SVG图标 filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.5)), // 添加阴影增强立体感 } }); // 3. 启用高级交互兼容按需 // 如果你的页面有大量CSS悬停效果 await mouse.initHoversHack(); // 如果你的页面是React应用 mouse.initReactEvents(document.querySelector(#root));3.1.2 核心动作API编排实战库的API设计是链式且基于Promise的方便你用async/await写出非常清晰的“剧本”。(async function runDemo() { // 场景开始光标从屏幕外飞入 await mouse.to(-100, 300, { duration: 0.5, ease: back.out(1.7) }); // 带一点弹性效果入场 // 移动到导航栏的“产品”按钮假设坐标(200, 50) await mouse.to(200, 50, { duration: 0.8 }); await mouse.delay(0.3); // 停顿一下模拟用户查看 await mouse.click(); // 点击 // 等待页面跳转或内容加载这是一个需要你根据实际情况判断的“黑盒” await mouse.delay(2); // 移动到页面中部的一个卡片 await mouse.to(500, 400); await mouse.delay(0.2); // 模拟鼠标移入移出卡片的微互动 await mouse.move(10, 10, { duration: 0.2 }); await mouse.move(-10, -10, { duration: 0.2 }); // 模拟滚动阅读 await mouse.scroll(0, 300, { duration: 1.5 }); // 缓慢向下滚动 await mouse.delay(0.5); await mouse.scroll(0, 200, { duration: 1 }); // 移动到并点击一个表单按钮 await mouse.to(700, 600); await mouse.click(); // 优雅退场 await mouse.to(1500, 300, { duration: 0.5 }); await mouse.hide(); // mouse.dispose(); // 如果演示结束可以销毁释放资源 })();3.1.3 坐标系统与视口陷阱所有to(x, y)中的坐标都是相对于当前浏览器窗口可视区域viewport左上角的绝对像素坐标。这是最容易出错的地方。实操心得如何获取精准坐标开发者工具法打开开发者工具F12切换到“元素”面板使用快捷键CtrlShiftC(Windows) 或CmdShiftC(Mac) 进入选择模式将鼠标悬停在目标元素上工具提示会显示坐标。但注意这个坐标可能包含页面滚动偏移。代码打印法在Console中运行document.addEventListener(‘click’, (e) console.log(e.clientX, e.clientY), { once: true });然后点击页面目标位置控制台会打印出精确的clientX/clientY这正是to()方法需要的坐标。录制反推法使用下面的Studio模式先录制一遍生成的代码里会包含每个动作的坐标这是最可靠的方法。记住一个黄金法则你的录制分辨率必须与回放分辨率一致。如果你在1920x1080的屏幕上录制了坐标那么在1366x768的屏幕上回放所有坐标都会错位。Studio模式生成的代码会包含// Viewport: 1440x720这样的注释就是为了提醒你这一点。3.2 模式二动作录制Studio模式—— 用于快速捕捉当你需要快速将一套真实操作转化为代码时Studio模式是首选。3.2.1 启动与录制在任何网页的开发者控制台Console中粘贴并运行以下代码const { createVirtualMouseStudio } await import(https://esm.sh/zouloux/virtual-mouse); createVirtualMouseStudio();运行后你的真实鼠标移动和点击就会被开始记录。界面通常会有一个简单的提示。3.2.2 录制技巧与特殊操作普通点击与移动正常操作即可。录制滚动这是关键。根据文档在需要录制滚动的时刻按下[Cmd]键Windows上是[Ctrl]键。此时你滚动鼠标滚轮或触摸板滚动动作就会被记录为scroll命令而不是一串移动坐标。结束录制按下[Cmd] [Escape](Mac) 或[Ctrl] [Esc](Windows)。录制好的JavaScript代码会自动复制到你的剪贴板。3.2.3 处理录制结果将剪贴板中的代码粘贴到编辑器中。你会得到一段类似下面的代码// Url https://example.com // Viewport: 1440x900 import { createVirtualMousePlayer } from zouloux/virtual-mouse const mouse createVirtualMousePlayer({}) await mouse.to(235, 152, { duration: 0.5 }) await mouse.delay(0.1) await mouse.click() await mouse.to(289, 167, { duration: 0.3 }) ...拿到代码后你必须做以下几件事检查视口尺寸确认// Viewport: 1440x900与你最终想要录制视频的分辨率一致。优化与编辑Studio录制的动作通常包含大量冗余的、微小的移动。你需要手动清理删除不必要的delay。合并连续的、短距离的to命令为一个有适当持续时间的移动。调整duration和ease参数让运动更符合“演示节奏”而非“真实节奏”。真实操作可能犹豫、反复而演示需要干脆利落。添加交互兼容代码在mouse实例化后记得根据页面情况添加await mouse.initHoversHack()和mouse.initReactEvents()。4. 深入配置、优化与故障排查4.1 高级配置详解createVirtualMousePlayer的配置对象是微调行为的关键{ hideScrollbar: true, // 【强烈推荐开启】录制时滚动条突然出现/消失会破坏画面连贯性。 hideCursor: true, // 开启后库会尝试用CSS隐藏真实光标。但某些全屏应用或游戏可能无效。 verbose: false, // 调试时设为true生产/录制时设为false避免控制台输出干扰。 preventMouseWheel: false, // 通常保持false。如果开启会阻止用户意外滚动页面打断录制。 defaultAnimate: { // 全局动画风格 duration: 1, ease: power4.inOut, // 除了GSAP标准缓动还可以试试 ‘sine.inOut’更柔和或 ‘expo.out’更有冲击力 }, mouseStyle: { // 这里是发挥创意的空间 // 基础定位通常不需要改 transform: translate(-50%, -50%), // 自定义光标图片 backgroundImage: url(‘data:image/svgxml;utf8,svg .../svg’), backgroundSize: ‘cover’, // 添加动画效果比如常亮的呼吸灯效果 animation: ‘breath 1.5s ease-in-out infinite’, } } // 在CSS中定义呼吸动画 // style // keyframes breath { 50% { opacity: 0.7; transform: translate(-50%, -50%) scale(0.95); } } // /style4.2 性能优化与录制最佳实践关闭不必要的浏览器插件特别是那些会修改页面样式或注入元素的插件如广告拦截器、样式管理插件它们可能会影响虚拟光标的层级或页面布局。使用固定浏览器窗口大小进行录制和回放这是保证坐标一致性的唯一方法。可以创建一个特定分辨率的浏览器窗口配置文件。在“无痕模式”下操作避免缓存、Cookie或登录状态干扰页面加载确保每次回放起点一致。预加载页面在开始录制动作脚本前确保所有页面资源图片、字体、视频都已加载完毕。可以在脚本开头加一个足够长的await mouse.delay(3)作为缓冲。简化光标样式过于复杂的光标SVG或CSS滤镜可能会在低配机器上引起轻微的卡顿。对于追求极致流畅的4K/60帧录制使用最简单的箭头图形。4.3 常见问题与排查清单问题现象可能原因解决方案虚拟光标不显示1. 页面有极高的z-index元素覆盖。2. 自定义的mouseStyle有误如display: none。1. 检查元素层级可临时为光标样式加z-index: 99999 !important。2. 简化mouseStyle至仅background: red; width: 20px; height: 20px;测试。点击没有效果1. 目标元素是React组件未调用initReactEvents。2. 目标元素是动态加载的点击时元素尚未存在。1. 确保正确调用initReactEvents并传入有效的React节点。2. 在点击前使用await mouse.delay()等待或使用MutationObserver监听元素出现。CSS :hover 效果不触发1. 未调用initHoversHack。2.:hover样式在媒体查询内。3. 元素悬停效果由JavaScript控制。1. 确保调用并await完成。2. 这是已知限制需考虑修改CSS或使用其他演示方式。3. 虚拟鼠标无法触发JS事件需直接调用对应的JS函数。坐标严重错位1. 录制与回放的浏览器视口大小不同。2. 页面有缩放浏览器缩放非100%。3. 使用了pageX/pageY而非clientX/clientY。1.严格统一视口分辨率。2. 确保浏览器缩放为100%。3. 确认获取坐标的方法是clientX/clientY。滚动时页面抖动hideScrollbar: false且页面原生滚动条在显示/隐藏状态间切换。配置中始终设置hideScrollbar: true。Studio模式无法结束录制快捷键冲突或浏览器控制台焦点问题。确保焦点在页面而非控制台并严格按照[Cmd/Ctrl] [Escape]操作。也可以尝试刷新页面重新开始。动画卡顿不流畅1. 电脑性能不足。2. 页面本身有大量动画或复杂渲染。3. GSAP动画属性过多。1. 关闭其他程序降低录制分辨率。2. 尝试在录制前暂停页面上的其他动画。3. 避免为虚拟光标添加过多CSS滤镜和阴影。4.4 与我工作流的整合从脚本到最终视频我的个人工作流通常分四步规划脚本先用文字或草图写出要在页面上演示的完整流程。Studio粗录在目标页面上用Studio模式快速操作一遍生成基础坐标序列。代码精修将Studio代码粘贴到编辑器中进行大幅优化删除多余动作、调整时序、添加戏剧性的缓动效果、插入逻辑等待delay。这个过程像剪辑视频一样目的是让节奏更悦目。录制与后期使用OBS Studio等专业录屏软件固定浏览器窗口运行精修后的脚本进行录制。之后在视频剪辑软件中配上音乐、音效和旁白。这个库解决的是最核心的“鼠标表演”问题让自动化演示变得可能且完美。它节省了我过去反复重拍同一段操作的大量时间现在一次编写脚本就可以无限次地生成完全一致的、高质量的演示素材。

相关文章:

虚拟鼠标库实战:用代码控制光标,提升屏幕录制与演示效率

1. 项目概述:为屏幕录制注入灵魂的虚拟鼠标如果你做过产品演示、软件教程或者功能讲解类的视频,肯定遇到过这样的烦恼:录屏软件捕捉到的鼠标指针移动轨迹是生硬的、跳跃的,甚至因为手抖而显得不够专业。一个流畅、精准、可控的鼠标…...

终极R3nzSkin国服特供版:英雄联盟皮肤自由切换完整指南

终极R3nzSkin国服特供版:英雄联盟皮肤自由切换完整指南 【免费下载链接】R3nzSkin-For-China-Server Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3/R3nzSkin-For-China-Server R3nzSkin国服特供版是一款专为中国服…...

视频对象中心学习:SlotContrast与SlotCurri解决过分割问题

1. 视频对象中心学习的挑战与机遇 在计算机视觉领域,视频对象中心学习(Object-Centric Learning)正逐渐成为理解动态场景的关键技术。这项技术旨在从视频序列中自动发现并表征其中的独立对象实体,为后续的跟踪、行为分析等任务奠定…...

Hearthstone-Script:解放双手的炉石传说自动化对战工具

Hearthstone-Script:解放双手的炉石传说自动化对战工具 【免费下载链接】Hearthstone-Script Hearthstone script(炉石传说脚本) 项目地址: https://gitcode.com/gh_mirrors/he/Hearthstone-Script 你是否厌倦了重复的炉石传说日常任务…...

【不喜欢运动的人可以放心了】一生心跳10亿次:从鼩鼱到大象,一个跨越230物种的生命数学不变量

论文来源:arXiv:2604.27856 (2026) | Mesfin Taye 一、开篇:两种极端的生命,同一个心跳总数 想象一只侏儒鼩鼱(Suncus etruscus)。它体重约2克,比一个回形针还轻。为了维持这具微小身体的运转,…...

5分钟快速上手:Cat-Catch浏览器资源嗅探工具完全指南

5分钟快速上手:Cat-Catch浏览器资源嗅探工具完全指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为网页上的视频无法下载而烦恼…...

将 Claude Code 编程助手的后端无缝切换至 Taotoken 提供的 Anthropic 通道

将 Claude Code 编程助手的后端无缝切换至 Taotoken 提供的 Anthropic 通道 1. 准备工作 在开始配置之前,请确保您已经拥有 Taotoken 平台的 API Key 和访问权限。登录 Taotoken 控制台,在「API 密钥」页面可以创建新的密钥或使用现有密钥。同时&#…...

Xilinx Spartan-3E与Intel StrataFlash的FPGA配置方案

1. 项目概述 作为一名从事FPGA开发多年的工程师,我深知配置存储方案对整个系统成本和可靠性的重要性。今天要分享的是Xilinx Spartan-3E系列FPGA与Intel StrataFlash存储器的无缝连接方案,这个技术在我们团队多个消费电子项目中已经验证了其稳定性和经济…...

快马平台助力fireworks-tech-graph:三步生成可交互技术架构原型

最近在做一个技术架构可视化的项目,发现从设计到落地验证的过程特别耗时。传统的做法需要先画草图,再用专业工具建模,最后还要写代码实现交互,整个过程至少要花上几天时间。直到尝试了InsCode(快马)平台,发现可以用更简…...

【C++ STL】探索STL的奥秘——vector底层的深度剖析和模拟实现!

vector的基本成员变量在模拟实现vector之前我们首先要了解vector的基本成员变量,然后在逐步进入到vector的一些核心接口的实现。如何知道这些成员变量呢?下面通过源码一探究竟:在这里插入图片描述有了上面的认识,那么我们模拟实现…...

别再傻傻分不清!LM193/LM393/LM2903电压比较器选型指南(附典型应用电路)

LM193/LM393/LM2903电压比较器实战选型手册:从参数解密到电路设计 在嵌入式硬件设计中,电压比较器就像电路中的"裁判员",时刻判断着输入信号的胜负。但当面对LM193、LM393、LM2903这些"孪生兄弟"时,不少工程师…...

三步解锁全球最大同人创作平台:AO3镜像站完全使用指南

三步解锁全球最大同人创作平台:AO3镜像站完全使用指南 【免费下载链接】AO3-Mirror-Site 项目地址: https://gitcode.com/gh_mirrors/ao/AO3-Mirror-Site 当你在深夜灵感迸发,想要阅读或创作同人作品时,却发现AO3网站无法访问&#x…...

拯救者笔记本性能调校终极指南:Lenovo Legion Toolkit完全使用教程

拯救者笔记本性能调校终极指南:Lenovo Legion Toolkit完全使用教程 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit …...

3步搞定QMC加密音乐:qmc-decoder音频解密完全指南

3步搞定QMC加密音乐:qmc-decoder音频解密完全指南 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾经遇到过这样的烦恼:在QQ音乐上精心收藏的…...

YOLOv11 改进 - C2PSA C2PSA融合DML动态混合层(Dynamic Mixing Layer)轻量级设计优化局部细节捕获与通道适应性,提升超分辨率重建质量

前言 本文介绍了动态混合层(DML),并将相关改进模块集成进YOLOv11。DML是SRConvNet核心组件,用于解决轻量级图像超分辨率任务中特征捕捉和通道适应性问题。它通过通道扩展拆分、多尺度动态深度卷积、通道洗牌与融合等步骤&#xf…...

Luxonis OAK-D 2代相机:机器人视觉与AI深度集成方案

1. Luxonis OAK-D系列2代相机深度解析Luxonis OAK-D系列2代相机是专为机器人视觉应用设计的革命性设备。作为一名长期从事计算机视觉开发的工程师,我第一次接触这个系列的产品就被其独特的设计理念所吸引。这不仅仅是一个简单的摄像头,而是将3D深度感知、…...

如果文件是客服回话记录,需要采用文件中用户原话,但是一次又不能投入太多文本,怎么解决 ?基于LangChain创建Excel大文件分析技能

如果文件是客服回话记录,需要采用文件中用户原话,但是一次又不能投入太多文本,怎么解决 目录 如果文件是客服回话记录,需要采用文件中用户原话,但是一次又不能投入太多文本,怎么解决 核心原则(不可突破) 第一步:零成本前置降token(不碰原话,直接砍掉冗余) 第二步:…...

如何高效提升英雄联盟游戏体验:智能本地自动化助手完整指南

如何高效提升英雄联盟游戏体验:智能本地自动化助手完整指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League Akari 是一款专…...

文件大小和token 的 256k 是一回事吗?NO

文件大小和token 的 256k 是一回事吗 目录 文件大小和token 的 256k 是一回事吗核心结论先给清楚一、核心计算:1MB Excel到底对应多少Token?二、不同模型的可行性判断1. 常规主流模型(90%用户的日常使用场景):完全不可…...

Arm Neoverse V1定时器架构与看门狗机制详解

1. Arm Neoverse V1定时器架构深度解析在Arm Neoverse V1架构中,定时器系统采用分层设计理念,通过硬件级的时间管理单元为不同安全等级和功能域提供精准的时间基准。整个定时器网络由系统参考时钟(REFCLK)驱动,其典型频率范围在10-100MHz之间…...

2026届学术党必备的降AI率工具实测分析

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当下的这一学术写作场面里边,把人工智能辅助工具进行合理性运用,能够…...

2025届必备的十大AI科研神器推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当下,学术写作辅助技术已然有了很大进展,“一键生成论文”的功能随之…...

AI助力快速原型:用快马平台十分钟生成你的第一个谷歌浏览器截图扩展

最近在做一个需要频繁截图的工作,突然想到如果能有个浏览器扩展一键搞定截图和下载就好了。作为一个前端小白,本以为开发浏览器扩展会很复杂,没想到用InsCode(快马)平台十分钟就搞定了原型开发,这里分享一下具体实现思路。 扩展功…...

裸土数据集1117张VOC+YOLO格式

裸土数据集1117张VOCYOLO格式数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1117 标注数量(xml文件个数):1117 标注数量(txt文件…...

AI学术写作技能库:模块化设计赋能精准高效科研创作

1. 项目概述:一个为AI写作助手定制的学术写作技能库如果你是一名经常需要和论文、报告、基金申请书打交道的研究生、学者或者科研工作者,那你一定对AI写作助手不陌生。无论是Claude Code、Cursor还是Gemini CLI,它们都能在你卡壳的时候提供思…...

AI大模型网关存在SQL注入、影响版本LiteLLM 1.81.16~1.83.7(CVE-2026-42208)

0x01 简介 近期,开源大语言模型网关 LiteLLM 中发现了一个严重的 SQL 注入(CVE-2026-42208)。该存在于 LiteLLM 1.81.16 到 1.83.7 版本之间,这一版本广泛用于许多大语言模型的前端接口,如 OpenAI 和 Anthropic 等模型…...

从贪吃蛇到仪表盘:Bubble Tea实战,教你用Go打造终端‘摸鱼’小工具合集

从贪吃蛇到仪表盘:Bubble Tea实战,教你用Go打造终端‘摸鱼’小工具合集 终端界面开发一直是个有趣又实用的领域,尤其对于习惯命令行操作的程序员来说。想象一下,在繁忙的工作间隙,直接在终端里玩个小游戏或者查看实时数…...

qwen3.6-27B-FP8部署

目录路径按需调整当前根目录/1、环境安装cd /conda create -n vllm-env python3.10 conda activate vllm-env python3 -m venv vllm-env source vllm-env/bin/activate pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 pip inst…...

企业级微信机器人快速入门

简介 在数字化时代,微信已成为企业和用户之间重要的沟通工具。为了提升工作效率,企业可以利用微信机器人实现自动化操作。本文将介绍如何使用 Ace Data Cloud 平台快速部署一个企业级微信机器人,帮助团队实现高效的消息处理和管理。 环境准…...

实战指南:基于快马模板部署高可用、可监控的Hermes Agent生产服务

最近在做一个AI任务调度系统的项目,需要部署Hermes Agent到生产环境。经过一番摸索,我发现InsCode(快马)平台提供的模板特别适合快速搭建生产级服务,今天就把我的实战经验分享给大家。 生产环境的核心需求 在实际部署时,我们不仅…...