Codex免手机验证的正确姿势:官方API Key与安全凭证配置指南
最近技术社区里冒出来一个热门操作标题起得挺吸引人用某个开源浏览器扩展导出 ChatGPT 凭证就能让 Codex 免手机验证登录。我第一眼看到这个说法还以为是官方出了什么新功能仔细研究了一下原理冷汗直接下来了。今天这篇我不打算讲怎么绕过验证恰恰相反我想认真拆一拆这条路为什么千万别走以及如果你真的需要在服务器、CI 或无人值守环境里顺畅使用 Codex官方支持的几种安全姿势到底怎么落地。这篇适合两类人看一类是正在折腾自动化和远程开发、被频繁登录验证搞到头疼的开发者另一类是看到“免验证”“导出凭证”心痒痒准备试试非官方方案的同学。看完你大概就能明白省那几分钟验证时间可能要赔进去多大的成本。1. “免手机验证登录”到底是什么需求1.1 为什么会有人想跳过手机验证先别急着指责想跳过验证的人懒或者不懂安全。我接触过不少团队这个诉求背后往往有真实场景支撑。最常见的是服务器和 CI/CD 环境。你在本地开发机上登录一次 Codex 很轻松浏览器弹出来扫个码输个验证码就行但换到一台干净的云服务器或者 GitHub Actions 这类无头环境没有浏览器、没有手机在身边交互式登录就卡住了。有人为了图省事就会把本地一套凭证直接打包带过去。另一种情况是登录太频繁。某些网络环境或账号行为会触发风控导致同一个账号隔三差五要求手机验证。开发到一半被打断确实很烦。还有一种就是纯粹想“一次配置、到处运行”。把 ChatGPT 或者说 Codex 的会话凭证导出来当成一个静态文件放进环境变量感觉上就像写死了数据库密码一样好像一切都可控了。这些需求本身不荒唐错误的是实现手段。跳过验证、绕开官方认证等于把一个本该有生命周期的临时令牌变成长期静态资产风险完全不可控。这也是我一直坚持用官方方案解决这类需求的原因。1.2 所谓“导出凭证”导出的到底是什么很多非官方扩展的原理并不神秘它通过浏览器扩展的权限读取你在官方站点本地存储的会话令牌、登录状态等数据然后包装成一个“凭证”文件或字符串导出来。听起来很厉害事实上它就是把你浏览器里的登录钥匙掏出来给了别人。这里有个关键认知ChatGPT 的会话凭证不是 API Key它是你登录状态的直接载体。拥有它的人不需要知道你的账号密码也能以你的身份去调用服务、读取历史会话、消耗你的额度。更麻烦的是这类凭证通常没有细粒度的权限区分拿到基本就等于拿到了账号的“临时控制权”。第三方扩展把凭证导出后你还得把它导入到目标环境里。这个过程本身就很不透明。你怎么知道这个扩展有没有把凭证回传服务器你怎么知道它的开发者有没有在代码里留后门你甚至不知道这个扩展明天会不会被恶意更新。把账号钥匙交给一个陌生工具跟把家门钥匙交给路人保管没有本质区别。1.3 风险清单建议收藏我做了一张对比表把“导出凭证绕验证”这条路线的风险理清楚风险类型具体表现实际后果账号盗用凭证被扩展或其服务器截获对话内容泄露、额度被刷光、被用来生成违规内容数据泄露历史会话、上传文件可能被第三方读取隐私彻底暴露企业场景下直接触发合规事件封号风险非官方客户端访问、异地登录行为异常账号被风控系统标记轻则强制重新验证重则封禁凭证失控导出的凭证不设过期时间可被反复利用被黑后很难追溯撤销路径不清晰供应链风险开源扩展后续被植入恶意代码你主动下载了攻击载荷而不是被动被入侵任何一项发生了省下的那几分钟登录时间都完全不划算。尤其是如果你在正经公司或者在做自己的长期项目账号里积累的上下文、配置、历史记录比一次登录验证值钱得多。2. 官方认证路径的底层逻辑2.1 两条认证路径别搞混要安全地解决“免手机验证”的需求先得搞清楚 Codex 这类工具支持的认证路径。简单来说有两大类第一类是基于 ChatGPT 账号的交互式登录。它的流程通常是你执行一个登录命令工具会打开浏览器或者给出一个 URL 和验证码你确认授权后在本地保存一份令牌。这份令牌对应的是你的账号会话有效期有限过期后需要重新授权。这是人类开发者在本地电脑上最常用的方式。第二类是基于 API Key 的身份认证。API Key 是在官方平台创建的一串密钥你可以理解为专门给程序用的“长期通行证”。它和账号密码无关不需要每次打开浏览器也不需要手机在身边收验证码。你在服务器上设置一个环境变量工具启动时就直接用这个密钥完成身份认证。很多人口中的“免手机验证”实际上应该用第二类路径实现。API Key 本来就是为无人值守、自动化场景设计的创建一次、配置到位之后就不再需要重复交互。这才是官方支持的正规渠道。2.2 为什么 API Key 比导出的会话凭证更安全这里必须强调一点API Key 和会话凭证都是敏感信息但两者的安全模型差异巨大。API Key 在官方平台的后台有明确的列表你可以随时查看创建时间、最后使用时间也可以一键吊销。它支持限制权限范围还能设置独立的额度上限。泄露了你吊销它、再生成一个新的即可影响是可控的、可追溯的。而通过非官方扩展导出的会话凭证本质上是一个没有任何管理后端的“影子令牌”。你看不到它在哪台机器上被使用无法给它限权也很难强制让它失效。出了问题你能做的只有改密码、退出所有设备整个账号都会被牵连。所以从工程角度看API Key 不是“次优选择”而是官方给你准备的正确工具。那些非官方方案解决问题的思路就好比为了进公司大门去偷一把员工卡而公司前台明明可以给你办一张有权限限制的访客卡何苦呢。2.3 官方 CLI 的登录机制其实是可工程化的有人可能会说API Key 适合新项目但我在 Codex 里已经绑定了 ChatGPT 账号不方便切换。没关系官方 CLI 通常也支持标准的 OAuth / 授权码流程。你在本地跑一次登录命令它会生成授权链接你完成验证后CLI 会把凭证存到本机配置目录而不是让你自己手工复制。这个流程在本地机器上完全可以接受。你只需要做一次登录往后在终端里打开 Codex 都不会再频繁弹验证。手机验证只会在首次登录新设备、或账号触发风控时出现不代表每次使用都要验证。真正需要解决的工程问题只有一个无交互环境下怎么办。答案前面已经说了用 API Key 走环境变量通道而不是把本机会话凭证拖到服务器上。后面我会给完整操作路径。3. 实操多环境凭证配置与安全存储3.1 本地开发环境配置先说本地机器。如果你已经是 ChatGPT 登录用户直接用官方 CLI 的登录命令完成账号认证即可。以常见的 CLI 工具为例通常在终端里执行类似codex login的命令然后在浏览器里完成授权。整个过程不需要手动处理凭证文件工具自己会写到当前用户的配置目录里。如果你想改用 API Key 路径操作也简单在官方平台创建一个 API Key创建后只会显示一次务必立即复制保存。在 shell 配置里加入环境变量。比如在.bashrc或.zshrc里写一行export OPENAI_API_KEYsk-你的密钥重新加载配置然后运行 Codex 验证连通性。我个人更建议用.env文件管理这个变量配合 dotenv 类工具加载而不是直接写进 shell 配置文件。原因很简单.env可以按项目隔离不容易被误分享而且你在多个项目里切换时更清晰。不过务必把.env加进.gitignore不要提交到仓库。注意任何情况下都不要把 API Key 直接写进代码、提交到 Git、贴在聊天群或 Issue 里。这个看起来像废话但每年都有大量密钥泄露事故就是这么来的。3.2 服务器与 CI/CD 环境配置服务器和 CI 场景是大多数人被“免验证”吸引的根源这里我用两种常见环境分别说明。先在服务器上配置SSH 登录服务器不要用交互式登录命令直接通过环境变量注入。可以在 systemd service 文件里配置EnvironmentOPENAI_API_KEY...也可以写到/etc/profile.d/下还可以用 Docker 的--env-file参数。有条件的团队强烈建议接上密钥管理服务比如常见的 Vault、云厂商的 Secrets Manager。应用启动时从密钥服务拉取不要落在磁盘明文里。然后是 CI/CD。以常见的 GitHub Actions 为例在仓库的 Settings - Secrets and variables - Actions 里新增一个 Secret名字叫OPENAI_API_KEY值粘贴你的密钥。在 workflow 文件里引用env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}运行的步骤里正常调用 Codex 即可不要打印环境变量不要用echo输出密钥相关的内容。CI 环境的好处是密钥存储在平台侧构建机上只有临时注入的运行时变量不会写进镜像和缓存。这个模型比“把本地凭证文件传到 CI”安全得多。CI 里一旦你开始导会话凭证问题就来了每次构建都要把敏感文件拉下来仓库和构建产物里到处都是密钥副本。3.3 凭证轮换与最小权限很多开发者创建了一个 API Key 之后就用一年这其实是很大的隐患。我建议按以下节奏管理定期轮换。一般 30 到 90 天换一次轮换流程很简单创建新 Key、更新所有使用环境、旧 Key 确认无流量后吊销。最小化数量和权限。一个 Key 能完成的事不要开第二个如果工具支持权限范围配置只给对应接口的权限不要给最大范围。多环境隔离。开发环境、测试环境、生产环境使用不同的 Key别图省事全局共用。这样万一某个环境泄露不会拖累整条链路。每次轮换都是一次安全习惯的固化。说实话我见过太多“先跑起来再说”的临时 Key最后都在生产环境里活了半年以上中间没人知道它泄露过没有。3.4 备份与迁移的坑“把 Codex 配置迁到新电脑”也是大家容易踩坑的地方。最常见的错误是直接把本地配置目录整个拷贝到新机器因为这样新机器免登录看似很爽。但这里有个隐蔽问题本机登录凭证通常绑定了设备信息。你复制过去以后原凭证可能因为设备指纹不一致而失效或者触发账号风控。到时候你还得重新走验证流程白折腾一圈。正确做法是新机器上重新执行一次官方登录命令或直接配置 API Key。多花两分钟换来的是凭证来源清晰、回收路径明确。别小看这两分钟它能帮你规避掉“凭证在设备间漂移”带来的所有脏活。4. 常见问题与排查思路4.1 登录提示需要手机验证怎么办这应该是最多人关心的场景。如果你正常使用官方工具时突然被要求手机验证通常说明触发了风控或者这是一个新的登录设备。解决办法很简单老老实实走官方验证流程收一下短信验证码。不要试图用第三方扩展跳过这个环节。原因前面已经说了风控系统会把“跳过验证”的行为视为高风险操作反而可能加重限制。我见过有人反复尝试绕验证结果账号直接被临时封禁最后连正常流程都进不去得不偿失。换个角度想手机验证本质上是账号安全网。我们天天抱怨盗号事件但验证出现的时候又嫌麻烦。这两个需求是矛盾的。4.2 API Key 报 401 或鉴权失败用 API Key 时最常遇到的是 401 错误。排查顺序我一般固定为环境变量是否真的加载了。在终端里执行echo $OPENAI_API_KEY确认能输出完整的 Key。注意不要在 CI 日志里做这个操作。Key 是否有多余的空格或换行。复制粘贴时很容易带入不可见字符。Key 是否已过期或被吊销。去官方后台看一眼 Key 的状态。工具是否读取了错误的环境变量名。检查官方文档里的变量名是不是OPENAI_API_KEY不同工具有时会有细微差别。这种问题绝大多数是第一和第二种原因建议你养成用编辑器看隐藏字符的习惯。4.3 CI 里没有交互终端如何完成登录如果项目是纯 CI 模式且你不想用 API Key非要走账号登录那么目前比较常见的做法是使用官方支持的设备码授权流程Device Code Flow。在你的 CI 日志里会输出一个 URL 和验证码你需要在手机上或任何浏览器里访问并输入验证码授权后 CI 里的登录状态才会生效。但我要泼一盆冷水这种方式适合一次性、短时任务不适合长期无人值守。因为 CI 环境每次都是全新的凭证不能缓存或持久化到下一个 Job否则又会陷入“复制凭证”的坑。做一次手动授权是可以接受的做十次你就会烦了到时候自然会发现 API Key 才是正解。4.4 怀疑凭证泄露如何处理如果你觉得自己可能在某处泄露了会话凭证或 API Key不要慌按顺序操作立即前往官方安全设置退出所有已登录设备。在后台吊销所有可疑 API Key。修改账号密码条件允许就开启二次验证。检查账号最近的使用记录和登录日志看看有没有陌生设备或异常调用。如果有异常消耗额度及时联系客服说明情况。一定要记住泄露之后时间就是成本。拖得越久别人用你的凭证做坏事的时间就越长。5. 账号安全红线与避坑清单5.1 浏览器扩展别乱装现在浏览器扩展生态确实方便但权限也大得惊人。一个能读取你打开页面的扩展理论上能看到你在页面里输入的所有内容包括凭证、密钥、聊天记录。我不是说所有开源扩展都是恶意的而是说你无法从代码层面验证一个扩展在发布后会不会被黑客篡改。浏览器扩展商店的审核也不是万能的。涉及账号凭证这种高价值数据最稳妥的策略就是不让第三方扩展碰。如果你确实需要自动化操作网页优先用官方 API 和 CLI而不是浏览器自动化脚本。官方提供的东西虽然看起来没那么“魔法”但它是唯一有安全承诺的路径。5.2 三种工具身份要分清这里我帮你理一下三种身份的区别避免后续搞混身份类型使用场景有效期风险等级账号密码人工登录网页端长期泄露即失控会话凭证登录状态令牌储存在本机中短期泄露等于账号被接管API Key程序化访问适合自动化长期可随时吊销泄露可控可限权把这三种身份分开看你就知道“导出会话凭证”有多离谱了它相当于把一个中短期凭证硬生生变成长期资产来用去干 API Key 本来就能干的事风险却完全不在同一个量级。5.3 建立你自己的“安全刷新”习惯安全不是一次性设置而是持续习惯。我给自己定的几个小规矩分享给你每季度检查一次官方账号的已登录设备列表删掉不认识的设备。每次离开团队或项目结束时轮换所有相关 API Key。在通知渠道里开启登录提醒有陌生登录第一时间感知。不把任何凭证明文存放在云笔记、聊天工具、共享网盘里。如果一定要存一份备份用密码管理器存储而不是普通文档。这些习惯看起来琐碎但真到出事那天每一个都能帮你把损失范围缩小一大截。5.4 聊两句这个标题本身回到标题里的“免手机验证登录教程”。如果现在有人再拿这个标题来问我我的回答是免验证的正确解不是绕验证而是走官方提供的无需交互的通道。API Key 就是为这种场景设计的。你花两分钟创建一个 Key配置到目标环境里往后就再也不需要反复验证。整个过程正规、干净、可审计。这不是我保守或者胆小的结论而是从工程风险和安全成本角度算出来的最优解。自动化任务要的从来不是“把验证绕过去”而是“用正确的方式让验证不再成为瓶颈”。最后的几句经验之谈我在实际配置 Codex 的环境时踩过不少次坑最深刻的一课是表面越省事的路后续付出的维护成本越高。早期我也试着把本地凭证复制到服务器当时确实五分钟跑通了但后来换了台机器、凭证失效、账号触发风控一连串折腾下来比老老实实配 API Key 多花了好几个小时。从那以后我在所有自动化环境里统一走官方认证路径本地由 CLI 自己管理登录态服务器和 CI 一律环境变量注入 API Key。这个组合到现在都非常稳定。如果你正面临同样的困惑我的建议很简单别碰非官方导出凭证这条路去创建自己的 API Key按最小权限原则配置好然后忘掉“免验证”这几个字。你会发现不同环境之间的切换会顺畅很多而你的账号和数据也一直处在官方保护的范围之内。自动化开发应该是件让人安心的事不该天天提心吊胆担心钥匙被别人捡走。

相关新闻

T100嵌入式平台Java jar包加载与反射调用全链路指南

T100嵌入式平台Java jar包加载与反射调用全链路指南

简介:本资源是一份面向Java开发人员与鼎捷T100/TiTop ERP系统二次开发工程师的实操指南,聚焦于在T100 4GL环境中集成并调用外部Java功能——解决传统4GL无法直接处理复杂业务逻辑(如加密、HTTP通信、第三方SDK对接)的技术瓶颈。文…

2026/10/15 5:45:36 阅读更多 →
COBOL报表开发实战:从VSAM读取到JCL调度的金融级输出

COBOL报表开发实战:从VSAM读取到JCL调度的金融级输出

简介:本资源是一份面向COBOL初学者与金融/政务系统维护人员的报表开发实践指南,聚焦传统主机环境下结构化报表生成的核心技术实现。内容以完整可运行的rpt001程序为载体,系统讲解ID Division标识定义、Environment Division中双文件&#xff…

2026/10/15 5:45:36 阅读更多 →
单卡24GB显存跑通70B大模型:airllm分层加载推理实战

单卡24GB显存跑通70B大模型:airllm分层加载推理实战

1. 当大模型装不进显卡时,我在单卡上跑通了70B推理第一次看到 airllm 这个项目名的时候,我正被一个很现实的问题卡住:手头只有一张 24GB 显存的卡,却要跑一个 70B 参数量的模型做推理验证。按常规思路,这几乎是不可能完…

2026/10/15 5:45:36 阅读更多 →

最新新闻

Python字符串和运算符基础知识

Python字符串和运算符基础知识

一、字符串基础 在 Python 中,字符串就是一串文本,使用**单引号 或者双引号" "**包裹。 同时我们可以使用 f-string 快速格式化字符串,把变量嵌入文本中,非常常用。 # 字符串定义 str1 "hello python" str2 …

2026/10/15 6:31:46 阅读更多 →
C#值类型与引用类型全解析:从内存模型到工程实践

C#值类型与引用类型全解析:从内存模型到工程实践

值类型和引用类型的区别,几乎是每个 C# 开发者在面试里都会遇到的标准问题,也是我见过被误解最多、实战里翻车最频繁的概念之一。很多人能背出“值类型在栈上,引用类型在堆上”,可真写代码时,遇到参数传递改不到对象、…

2026/10/15 6:31:46 阅读更多 →
跨应用 Tab 组件远程加载与路由同步:解析 comprehensive-demo-react18 的 Tabs 演示

跨应用 Tab 组件远程加载与路由同步:解析 comprehensive-demo-react18 的 Tabs 演示

示例工程 【免费下载链接】module-federation-examples Implementation examples of module federation , by the creators of module federation 项目地址: https://gitcode.com/gh_mirrors/mo/module-federation-examples 点击查看 免费下载 comprehensive-demo-…

2026/10/15 6:31:46 阅读更多 →
Grafana Mimir 中的 pflag 深度指南:POSIX/GNU 风格命令行旗标解析从入门到源码

Grafana Mimir 中的 pflag 深度指南:POSIX/GNU 风格命令行旗标解析从入门到源码

时序数据库后端数据存储可观测性云原生 【免费下载链接】mimir Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus. 项目地址: https://gitcode.com/gh_mirrors/mimir/mimir 点击查看 免费下载 Gr…

2026/10/15 6:31:46 阅读更多 →
LBO、BBO、KTP 三种非线性晶体怎么对比选型?优缺点差异?

LBO、BBO、KTP 三种非线性晶体怎么对比选型?优缺点差异?

LBO、BBO、KTP 三大非线性晶体全面对比 优缺点 选型指南核心参数总览(1064nm,10ns 纳秒基准)对比项目KTP 磷酸钛氧钾LBO 三硼酸锂BBO 偏硼酸钡透光区间300~5500 nm160~2600 nm190~3500 nm有效非线性系数最…

2026/10/15 6:31:46 阅读更多 →
Unity/Unreal光照烘焙与探针实操指南:静态精度+动态融合

Unity/Unreal光照烘焙与探针实操指南:静态精度+动态融合

1. 项目概述:为什么“光照烘焙与探针”不是锦上添花,而是实现实时渲染真实感的分水岭“在Demo实装光照烘焙与探针”——这短短十个字,背后是一整套实时渲染管线中最具性价比的光影解决方案。我带过不少刚接触Unity或Unreal的开发者&#xff0…

2026/10/15 6:30:46 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 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/15 0:14:36 阅读更多 →
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/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练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/14 7:53:34 阅读更多 →