机器人API开放测试版:从硬件定制到软件调用的开发新范式
机器人API开放测试版的消息这几天在具身智能圈子里热度很高。坦白说我一开始以为又是一场PR式的秀肌肉但真正去申请完权限、跑通第一个抓取Demo之后我的判断变了这可能是机器人行业从硬件定制时代转向软件调用时代的一个明确信号。这篇文章我不聊宏观叙事就从一个开发者的视角把这套API背后是什么、接入时有哪些坑、哪些场景值得优先试一次讲清楚。无论你是做后端、做算法还是做自动化集成的工程师这几年的职业规划可能都会被这类产品悄悄影响。1. 机器人API到底动了谁的奶酪1.1 为什么开发者都在盯着这个测试版过去几年视觉语言大模型在数字世界里打得火热写文案、画图、写代码一句话的事。但到了物理世界机器人还是那个笨笨的样子你让它把桌上的红杯子拿给我它要先靠工程师手动标定坐标、写轨迹、调参数换个杯子位置可能就得重新调一遍。这中间的鸿沟就是语义理解到动作执行之间的跨层能力也是整个行业一直没打通的关键节点。这次放出的机器人API测试版核心思路很直接把机器人大模型的能力打包成一个标准接口。开发者不需要关心底层运动学解算、路径规划、力控这些细节只要传入一段自然语言指令和当前的视觉画面接口就返回一串可以直接执行的关节运动指令。这个过程让我想起大语言模型API刚开放时的场景——以前要训练一个NLP模型团队里得养算法工程师现在一个HTTP请求就能拿到顶级模型的输出。机器人API想做的是同一件事只不过输出从文本变成了物理世界的动作。这个测试版和传统机器人厂商的SDK有本质区别。传统SDK给你的是文档、库和工具链逻辑还是要你自己写集成一个视觉抓取工位没有两三个月下不来。而这个API是端到端的模型自己决定怎么做开发者只负责告诉它做什么。对应用层开发者来说这意味着过去需要硬件工程师、算法工程师、软件工程师三个人配合的活现在一个人加一个API Key就能起跑。1.2 和传统机器人开发方式相比变化在哪里维度传统机器人开发机器人API测试版核心工作写控制逻辑、调轨迹参数、标定描述任务意图、采集图像、调参数需要的技能ROS、C/Python、运动学、硬件调试HTTP调用、提示词编写、简单Python换硬件适配重新开发驱动、重新标定接口统一模型自带适配能力泛化能力一个场景一套逻辑换个物体就失效同模型可迁移到新任务新物体调试方式断点、日志、示教器回放看返回轨迹和失败原因字段注意这绝不是说传统方式没有价值。传统方案的稳定性和可预测性在工业批量生产场景里仍然不可替代一条产线跑十年不带变的谁给你上大模型但API这种方式把机器人的智能门槛打下来了让没有硬件背景的软件开发者也能写出机器人应用这个变化才是真正值得关注的。1.3 测试版背后开放API是策略不只是情怀一个做机器人大模型的公司烧了那么多算力做训练为什么急着开放API因为机器人这场竞赛的壁垒不在模型参数量而在真实场景数据和开发者反馈循环。测试版阶段开放API本质上是收集真实环境中模型的失败数据——哪类物体抓不住、哪个指令表述有歧义、哪种光照下识别坍缩这些数据回头再用来训练下一代模型。对这个观察我给开发者的建议很清晰现在接入得越早你的场景数据对API演进方向的影响就越大后续版本升级时对你已有代码的兼容性也会考虑得更多。被动等待API成熟再上车的人面对的只会是一个高度标准化、但也更昂贵的商品。2. 核心技术拆解从看懂画面到动起手来2.1 VLA模型到底是怎么干活的机器人API背后的模型业内一般叫视觉-语言-动作模型英文缩写VLA。它做的事情说起来也简单输入三样东西——一张或一段实时图像、一条任务指令文本、一组可选的约束参数输出一段动作序列也就是关节角度或末端位姿随时间变化的曲线。可以把它理解成一个会动手的大语言模型。大语言模型处理的是token每个token是文本的最小单位。VLA模型把这句话延伸了一下图像会被切成patch当作视觉token动作空间被离散化后当作动作token。于是模型内部变成了一个多模态序列到序列的问题——根据前面的视觉token、语言token预测下一个动作token是什么。训练数据来自大量真实遥操作采集的机器人操作轨迹配合仿真环境合成数据。这就是为什么你现在看到的模型能听懂把苹果放进碗里这种话也能理解轻轻地放这种力度描述因为训练数据里这些细节都有。2.2 一次API请求背后到底发生了什么拆解一次调用的内部链路你调试的时候才能猜到问题出在哪个环节。客户端把当前摄像头画面编码成图像和指令文本一起打包成JSON请求发给服务端。服务端依次经过四个模块视觉编码器把图像变成特征向量语言编码器把指令变成语义特征多模态融合模块把两类特征对齐让模型明白红杯子这个指令对应画面里的哪个区域最后是动作解码器输出一段0.5到3秒的短时动作轨迹。轨迹下发到执行端仿真环境或真实机械臂开始运动。关键点来了整个流程是闭环滚动式的。机械臂执行到一半新图像又被采集并发送模型根据最新画面生成下一段短时动作。所以API不是一次性给完整轨迹而是一步一步滚动预测。这意味着推理延迟直接决定控制频率——如果延迟200毫秒控制频率大约5Hz如果延迟30毫秒控制频率大约30Hz。抓取这种精度要求不高的任务5Hz勉强能用但插拔、装配、叠衣服这些精细操作可能需要更高频率。这是你选择任务时必须先评估的硬指标。2.3 关键参数怎么理解、怎么调测试版API的参数不算多但每个都可能莫名其妙地影响结果。我整理了一份初始建议参数名称测试版常见默认值建议初始值注意事项observation_fps1010过低会漏掉快速变化的物体speed_scale1.00.5真机调试一律优先低速度max_steps无限制20防止模型反复重试死循环timeout30秒60秒复杂长任务需要更大值action_dim77六轴机械臂填6按实际填写confidence_threshold无0.6低于阈值建议转人工或重试这里我多解释一个字段confidence模型对自己完成任务的确信度。测试版一般会返回这个数值它是很好的风险指示器。如果一次抓取刚刚结果confidence只有0.3说明模型自己都没把握这时候你不该让它继续控制真机执行下一步而应该停下来重新评估环境或指令。把这个字段接入业务流程比什么失败告警都管用。3. 实操指南我第一次调用机器人API的完整过程3.1 接入前的准备工作清单申请测试版白名单你需要准备一个企业或开发者邮箱填写应用描述建议写清楚你是做科研还是产品验证审批速度差别不小。通过后你会拿到一个API Key以及一个仿真沙盒的访问权限。硬件方面如果你完全没有机器人实体直接用仿真环境就行代码大部分可以复用真实部署时再补相机标定和关节限位配置。我的建议是先仿真后真机顺序不要反过来。真机的一次失败可能损坏硬件仿真环境里失败一万次也只是日志里的一个数字。计算方面一台能跑Python的笔记本就够了重计算都在服务端API的请求量不会把本地资源吃满。另外提醒一句申请到Key之后先花十分钟读一遍文档里的速率限制和禁用动作清单比直接跑示例代码重要得多。因为机器人API有一些操作是被安全策略直接禁止的比如高速挥动、超过工作空间边界的动作你在代码里写了也不会执行但可能因为不理解机制而浪费很长时间排查。3.2 最小可用示例让机械臂把积木块放进盒子里我直接贴一个可以跑通的最小Python示例用requests库实现。API地址和Key我都做了虚构处理你自己替换成真实值就行。import requests import base64 API_URL https://api.example-robot.dev/v1/act API_KEY sk-xxxxxxxx def encode_image(path, size(640, 640)): from PIL import Image img Image.open(path) img.thumbnail(size) img.save(compressed_frame.jpg, quality80) with open(compressed_frame.jpg, rb) as f: return base64.b64encode(f.read()).decode() payload { instruction: pick up the red block on the table and put it into the blue box, image_base64: encode_image(camera_frame.jpg), params: { observation_fps: 10, speed_scale: 0.5, max_steps: 20, timeout: 60, } } headers {Authorization: fBearer {API_KEY}} resp requests.post(API_URL, jsonpayload, headersheaders, timeout30) data resp.json() if data[success]: print(Task completed in, data[steps], steps) print(Trajectory length:, len(data[trajectory])) print(Confidence:, data.get(confidence)) else: print(Task failed:, data.get(error))跑通这个调用后你会拿到success字段、执行步数、一个包含每步关节角度的轨迹数组以及confidence值。一个值得注意的细节是图片最好压缩到640x640再Base64否则一张2MB的原图编码后将近2.7MB文本上传耗时能让一次请求从300毫秒慢到两三秒。我一开始没注意这个以为是API服务端处理慢后来抓包才发现瓶颈在图片传输压缩之后延迟直接降了一个数量级。3.3 提示词怎么写模型更听话机器人API和大型语言模型一样指令描述质量直接影响任务成功率。不建议只说把东西放到盒子里这种太笼统。更好的写法是包含目标位置、抓取方式、动作顺序、预期结果四个要素。我实测下来的经验是差把积木放到盒子里中抓住红色积木放进蓝色盒子好用夹爪抓住桌面上靠近左边的红色积木块垂直提起移到蓝色盒子上方再松开夹爪如果你发现任务失败不要愚蠢地重复一模一样的请求而是换个更明确的描述或者调整相机角度再试。模型在连续失败的时候不是模型傻了通常是它看到的画面和你的指令之间存在歧义你在帮它消除歧义。3.4 仿真到真机三个最容易翻车的位置仿真里跑得通真机上一塌糊涂这是机器人心里的经典剧本。三个坑我逐个说。第一个坑是坐标系不一致。仿真世界的原点、相机外参都是理想值真机需要标定。有些API测试版内置了自动标定流程但你要确认相机支架和机械臂基座的位置关系有没有在后台配置一致否则模型看到的画面和你让它执行的动作不在同一个坐标系里。第二个坑是光照和背景。仿真里的光照均匀真机环境稍微复杂模型识别能力就会退化。尤其是黑色塑料件和镜面物体在强光下会产生反光模型可能直接丢失目标。建议在任务区域安装均匀光源避免侧向强光同时把任务台面整理干净减少无关物体干扰。第三个坑是物理限位。机械臂有关节限位和最大速度限制模型在仿真里可以生成大幅度运动轨迹真机上可能直接触发急停。我的经验是先设speed_scale0.3跑一轮观察轨迹是否会超出工作空间范围没有问题再逐步提高速度。4. 应用场景判断哪些行业会最先被改写4.1 仓储物流从分拣革命到长尾任务补位仓储是机器人API最快能落地的方向原因是环境相对封闭、光照可控、任务边界清晰。这类API最擅长的是处理SKU非常多、单个动作又不复杂的分拣任务。过去传统方案需要为新商品重新标注训练数据而API只需一条自然语言描述——把黑色标签朝上的罐子放到左侧传送带——就能即插即用。但注意一个现实约束仓储分拣对节拍要求很高单次动作必须在几秒内完成。目前测试版API的推理链路如果不做工程优化很难追平工业扫码枪加机械臂的方案。所以早期落地更大概率是异常处理工位模式主流程用传统高速方案遇到长尾、变形、无条码的包裹分流给机器人API处理。这就像人工分拣线上的老师傅只在疑难件上出手。对集成商来说这种传统产线AI异常工位的混合架构可能是最容易打动客户买单的切入点。4.2 家庭场景从桌面清理到服务闭环还得等一等家庭场景比仓储复杂得多物体多且摆放不固定环境随时有人在移动。但API测试版给家庭机器人带来的变化是它第一次让家庭机器人从一个PPT概念变成了可以持续迭代的软件产品。你想象一下桌面清理任务把散落在桌面上的文具、数据线、纸屑分别归类这要求模型理解物体类别、处理缠绕物、还要有数据线不能硬扯的常识。这些能力靠规则逻辑写不死必须靠大模型泛化。我短期内对家庭通用机器人持保守态度核心是安全和隐私。机械臂在家庭环境里误伤人的风险比仓储里高得多。API测试版大概率会对家庭场景限速限力矩让动作慢而保守。这是合理的策略也是产品在数据积累期必然的选择。等模型在家庭环境的数据足够多了动作的流畅度和安全性才会同步提升。4.3 对开发者生态的连锁影响机器人应用开始App化这里讲一个更长期的影响。机器人API把硬件抽象成可调用的函数一批从来没有碰过机器人硬件的应用开发者会第一次有机会进入物理世界编程。未来完全可能出现机器人应用商店一个做猫咪识别的小团队不需要自己造机械臂直接调用API写一个看到猫就递零食的程序就能交付一个宠物陪伴机器人应用。这对行业是好事吗我认为短期是好事。机器人行业的短板不在算法而在落地场景的多样性。开发者多了场景自然会丰富起来场景丰富了模型的数据反馈又会更好形成正向循环。当然这会挤压很多做中间件的传统机器人公司的空间因为它们赖以生存的集成服务费正在被大模型的端到端能力一点点吞噬。5. 踩坑实录与问题排查速查表5.1 请求返回成功但机器人一动不动这个现象最迷惑。先确认返回的轨迹数组是不是空数组。如果为空说明模型认为没有可执行的动作通常是图像里根本没有目标物体或者物体已经被上一次动作移走了。如果轨迹不为空但机器人不动检查执行端是否处于虚拟步进模式——部分API为了避免误操作默认要求你手动逐帧执行动作数组。你需要在自己的客户端代码里循环发送每一帧关节位置而不是一次性将一个轨迹数组下发完。5.2 同样的指令第二次跑就失败多半是环境变化导致。第一次执行后物体位置已经改变但你如果还是拿旧图像去请求模型当然会失败。你需要保证每次请求前重新采集图像并且把图像采集时间戳和指令时间戳对齐。另一种情况是模型在连续多次调用时有上下文状态限制它可能不知道你上一次执行到了哪一步这时建议在指令里显式补一句当前状态比如你已经抓住了盒子里的积木现在把它放到传送带上。5.3 安全机制触发太频繁测试版API在真实机器人上会有一层安全过滤识别到夹爪受力异常或空间干涉时会立即中止。频繁触发有两个常见原因一是速度过快speed_scale调低就行二是夹爪姿态不对典型表现是夹爪还没完全张开模型已经开始靠近物体导致碰触被判定为异常受力。解决办法是在指令里写清楚先把夹爪打开到最大宽度再向目标靠近。5.4 延迟高得离谱HTTP调用不该这么慢如果你发现接口延迟超过1秒第一件事检查图片Base64是不是太大。第二件事检查是否走了代理周边网络环境对跨境API请求影响很大测试版服务端一般部署在单一区域跨国调用延迟天然高。第三件事看请求是不是串行等待了。如果你同时跑多个任务确认并发策略是否正确有些API允许并发有些则限制单连接文档里没写的话就自己压测一下。5.5 成本模型怎么算测试版免费正式版才考验预算测试版一般送每月固定次数的免费调用额度但你要清楚知道正式版计费大概率按成功任务数或机器人运动时长来算。机器人API比纯文本API贵是有原因的推理成本高同时每次真实执行都有硬件磨损成本。建议在代码里加一个简单的计量函数把每次请求的steps、elapsed_time、confidence记录到日志跑一两周之后你会对自己业务的单位成本有一个非常清晰的感觉。这笔账早算早安心别等到账单出来再猜。最后说几句掏心窝的话我这次体验下来最大的感受是机器人API测试版的放出本质上是在回答一个问题——机器人的智能能不能像云服务一样按需取用。方向我是认的至少它让一个只会写Python的人在几分钟内就让虚拟机械臂完成了一个完整任务这放在一年前是不可想象的。但我不建议任何人把生产流的核心环节全押上去测试版就是测试版失败率、延迟、安全策略都还在快速迭代你现在拿它跑预研和POC可以记录失败案例、打磨业务逻辑、搞清楚成本模型这些工作都不会白做。等API正式版稳定下来你要做的只是把代码里的测试地址换掉而你的竞争对手那时才刚刚开始熟悉文档。机器人API这波红利属于现在就开始动手的人。

相关新闻

VLA模型π0.5破解开放世界泛化:从流匹配到具身智能实操解析

VLA模型π0.5破解开放世界泛化:从流匹配到具身智能实操解析

1. 项目的“ChatGPT 时刻”为什么被反复提起这一年,具身智能圈里被问得最多的一个问题就是:机器人什么时候能迎来属于自己的“ChatGPT 时刻”?几乎每次有新模型放出 demo,评论区总会有人感叹“这次是不是真的快了”。我自己的答案…

2026/10/17 12:47:04 阅读更多 →
TokuDB从零安装验证手记:环境配置、插件注册与四大踩坑复盘

TokuDB从零安装验证手记:环境配置、插件注册与四大踩坑复盘

如果你手头的MySQL实例里有一张动辄上亿行的流水表,InnoDB写入抖动、磁盘刷脏跟不太上,归档时又嫌占空间,那TokuDB这个存储引擎值得认真看一眼。本文是一份从零开始的TokuDB安装与验证手记,不仅覆盖环境检查、插件注册、建表实测&…

2026/10/17 12:47:04 阅读更多 →
从Codex到Qoder:AI编程工具Agent化转型与工程实践指南

从Codex到Qoder:AI编程工具Agent化转型与工程实践指南

1. 从 Codex 的“凉了”说起:AI 编程工具到底在卷什么最近圈子里聊得最多的一句话就是“Codex 凉了”,紧接着就是“Qoder 真香”。我一开始也以为又是标题党,毕竟 AI 编程工具这两年跟下饺子一样,每隔几周就冒出一个新面孔。但真正…

2026/10/17 12:47:04 阅读更多 →

最新新闻

OpenClaw接入个人电脑后,全自动操作磁盘文件,完整从零本地部署教程来了!TaoToken统一Key配置指南

OpenClaw接入个人电脑后,全自动操作磁盘文件,完整从零本地部署教程来了!TaoToken统一Key配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 15:39:07 阅读更多 →
SQL Server 2008误删数据恢复:No backup set found故障实战指南

SQL Server 2008误删数据恢复:No backup set found故障实战指南

简介:本资源是一份面向SQL Server数据库管理员与运维工程师的实战型数据恢复指南,聚焦SQL Server 2008环境下误删数据的紧急抢救方案。内容系统梳理了基于完整恢复模式(Full Recovery)的原生T-SQL三步恢复法(事务日志备…

2026/10/17 15:39:07 阅读更多 →
Unity文字提示标牌效果:用Transform.LookAt与DynamicLine实现动态指向

Unity文字提示标牌效果:用Transform.LookAt与DynamicLine实现动态指向

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 15:39:07 阅读更多 →
Jupyter中TensorFlow直读HDFS:从环境配置到代码实现

Jupyter中TensorFlow直读HDFS:从环境配置到代码实现

1. 先想清楚:为什么非要在Jupyter里直接读HDFS前阵子帮项目组调一个文本分类模型,训练数据全在Hadoop生态的HDFS上,而算法同学习惯用Jupyter Notebook做快速验证。问题来了:训练脚本里tf.data那套流水线要在本地跑通,数…

2026/10/17 15:39:07 阅读更多 →
TensorFlow Hub加载BERT预训练模型实战:从环境配置到文本分类微调

TensorFlow Hub加载BERT预训练模型实战:从环境配置到文本分类微调

1. 为什么要在TensorFlow Hub上加载BERT做自然语言处理项目的朋友,大概率都绕不开BERT这个模型。2018年谷歌把它放出来之后,几乎重新定义了NLP领域的玩法——以前做文本分类、情感分析、问答系统,你得自己搭词向量、设计网络结构、调参调到怀…

2026/10/17 15:39:07 阅读更多 →
自适应滤波器毕设全流程:LMS与RLS算法从设计到答辩

自适应滤波器毕设全流程:LMS与RLS算法从设计到答辩

简介:这份资源是南京航空航天大学电子信息工程学院硕士课程「自适应滤波器设计及应用」的完整论文文档,面向通信、电子与通信工程等专业学生及需要完成相关毕业设计的学习者,帮助系统梳理自适应滤波器的理论基础、算法实现与MATLAB仿真验证。…

2026/10/17 15:38:06 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →