Oracle中Cursor介绍和使用:TaoToken统一Key接入AI工具链的实战配置
1. Oracle Cursor 是什么为什么要在 AI 编程工具里配置它Oracle Cursor 是 PL/SQL 里处理结果集的核心机制你可以把它理解成一块内存工作区SQL 查询把数据从磁盘表拉到这块内存里程序再逐行读取、加工、写回。它解决的是“一次性拿回多行数据后怎么逐条处理”的问题适合写存储过程、批量对账、数据迁移、报表汇总的开发者。隐式 Cursor 由 Oracle 自动管理SELECT ... INTO、UPDATE、DELETE都会触发显式 Cursor 需要你手动声明、打开、取值、关闭Ref Cursor 则能在运行时动态拼 SQL适合参数不固定的场景。但真正让 Cursor 调试变高效的是把 AI 编程工具接进来。我平时用 Cline、Cursor 这类工具写 PL/SQL 时最大的痛点是AI 生成的游标代码经常漏掉CLOSE或者%NOTFOUND判断位置写错导致ORA-01001无效游标。如果能让 AI 直接读到我的表结构、Cursor 定义和报错日志它给出的补全质量会高很多。这就需要一条稳定的 API 通道把 AI 工具和 Oracle 开发环境串起来。TaoToken 在这里扮演的角色是统一 Key 和统一 endpoint。你不用为每个 AI 工具单独申请一套凭证也不用在多个 Base URL 之间来回切换。一个 Key 走https://taotoken.net/api就能让 Cline MCP、Cursor、Claude Code 这些工具共用同一套模型通道。对 Oracle 开发者来说这意味着你在写 Cursor 遍历逻辑时AI 辅助的 SQL 生成、报错解释、代码补全都走同一条链路配置一次后面省心。这篇内容会按“先跑通 Oracle Cursor 语法再接入 TaoToken最后在 AI 工具里验证”的顺序展开。你可以跟着复制 SQL*Plus 脚本、TaoToken 配置片段和 Cline MCP 的 JSON目标是一次把游标遍历和 AI 辅助 SQL 生成都跑通。2. TaoToken 前置准备统一 Key 与 endpoint 怎么拿在配置 AI 工具之前先把 TaoToken 的凭证准备好。这一步不复杂但顺序别搞反先拿 Key再确认 endpoint最后才去改工具的配置文件。2.1 获取 API Key打开 TaoToken 控制台进入 API Keys 页面创建一个新 Key。建议按用途命名比如oracle-cursor-dev方便后面在多个工具里区分。创建后立刻复制保存页面刷新后就不再完整显示。拿到 Key 之后先别急着填进 Cline 或 Cursor。你可以用一条最简请求验证 Key 是否可用避免后面排查时把“Key 无效”和“工具配置错”混在一起。curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的Key \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: 用一句话解释 Oracle 显式游标的四个步骤}] }如果返回里有choices字段和正常文本说明 Key 和 endpoint 都通了。如果返回 401先检查 Key 有没有多余空格如果返回local proxy failed那是工具侧代理配置的问题不是 Key 本身。2.2 确认 Base URL 与模型 IDTaoToken 的 API 地址是https://taotoken.net/api注意这里不加任何查询参数。模型 ID 按你实际使用的填比如claude-sonnet-4-20250514、gpt-4o这类。不同工具对 Base URL 的写法要求不一样有的要写到/v1有的只写到/api这个后面在具体配置里会逐个说明。注意Base URL、API Key、Model ID 这三件套必须同时正确。只填对两个第三个错了照样报错。后面每个工具配置我都会把三件套写全。2.3 为什么 Oracle 开发场景适合统一 KeyOracle PL/SQL 调试经常需要在多个工具之间切换用 Cline 做 MCP 数据库查询用 Cursor 做代码补全用 Claude Code 做整段存储过程重构。如果每个工具一套 Key改一次配置就要同步三处很容易漏。统一 Key 的好处是你只需要在 TaoToken 控制台管理一个凭证工具侧只改 Base URL 和 Model ID。另外Cursor 调试时经常要把报错日志贴给 AI 分析。统一通道下AI 看到的上下文是一致的不会因为换了工具就“失忆”。这对排查ORA-06511游标已打开这类需要结合前后代码判断的问题特别有用。3. 可复制配置Oracle Cursor 语法模板 TaoToken 接入片段这一节分两部分先把 Oracle Cursor 的四种典型写法跑通再把 TaoToken 配置写进 AI 工具。两部分都给你可复制的代码路径和字段名保持原样。3.1 显式 Cursor 标准四步模板显式 Cursor 的核心是声明、打开、取值、关闭。下面这个模板可以直接在 SQL*Plus 里跑表名换成你自己的即可。SET SERVEROUTPUT ON; DECLARE CURSOR cur_policy IS SELECT cm.policy_code, cm.applicant_id, cm.period_prem FROM t_contract_master cm WHERE cm.liability_state 2 AND cm.policy_type 1 AND ROWNUM 5 ORDER BY cm.policy_code DESC; v_policy_code t_contract_master.policy_code%TYPE; v_applicant_id t_contract_master.applicant_id%TYPE; v_period_prem t_contract_master.period_prem%TYPE; BEGIN OPEN cur_policy; LOOP FETCH cur_policy INTO v_policy_code, v_applicant_id, v_period_prem; EXIT WHEN cur_policy%NOTFOUND; DBMS_OUTPUT.PUT_LINE(保单号: || v_policy_code || , 保费: || v_period_prem); ENDLOOP; CLOSE cur_policy; EXCEPTION WHEN OTHERS THEN IF cur_policy%ISOPEN THEN CLOSE cur_policy; END IF; DBMS_OUTPUT.PUT_LINE(错误: || SQLERRM); END; /这里有几个容易踩的坑。第一EXIT WHEN必须放在FETCH之后、处理逻辑之前否则最后一行会被重复处理。第二异常处理里一定要判断%ISOPEN再关闭不然游标没打开时执行CLOSE会报ORA-01001。第三%TYPE引用列类型比硬编码VARCHAR2(20)更稳表结构改了不用回来改声明。3.2 Cursor FOR 循环最省事的写法如果你不需要手动控制打开关闭用 FOR 循环最省心。Oracle 会自动处理 OPEN、FETCH、CLOSE连%NOTFOUND都不用写。SET SERVEROUTPUT ON; BEGIN FOR rec_policy IN ( SELECT cm.policy_code, cm.applicant_id FROM t_contract_master cm WHERE cm.liability_state 2 AND ROWNUM 5 ORDER BY cm.policy_code DESC ) LOOP DBMS_OUTPUT.PUT_LINE(保单号: || rec_policy.policy_code); ENDLOOP; END; /这种写法适合只读遍历。如果你要在循环里更新当前行需要加FOR UPDATE并用WHERE CURRENT OF否则会锁表或更新错行。3.3 Ref Cursor 动态游标模板Ref Cursor 适合 SQL 在运行时才能确定的场景比如按参数拼不同 WHERE 条件。SET SERVEROUTPUT ON; DECLARE TYPE cur_type IS REF CURSOR; cur_policy cur_type; sql_str VARCHAR2(500); rec_policy t_contract_master%ROWTYPE; BEGIN sql_str : SELECT policy_code, applicant_id, period_prem FROM t_contract_master WHERE liability_state 2 AND ROWNUM 5; OPEN cur_policy FOR sql_str; LOOP FETCH cur_policy INTO rec_policy.policy_code, rec_policy.applicant_id, rec_policy.period_prem; EXIT WHEN cur_policy%NOTFOUND; DBMS_OUTPUT.PUT_LINE(保单号: || rec_policy.policy_code); ENDLOOP; CLOSE cur_policy; END; /Ref Cursor 的坑在于OPEN ... FOR之后如果 SQL 字符串拼错报错信息不会直接指向拼接处而是报ORA-00933之类的语法错误。这时候把sql_str先DBMS_OUTPUT.PUT_LINE出来复制到 SQL*Plus 里单独跑一遍能快速定位。3.4 TaoToken 接入 Cline MCP 的 JSON 配置Cline 的 MCP 配置一般在cline_mcp_settings.json里。下面这段是接入 TaoToken 的完整片段Base URL、Key、Model ID 三件套都在。{ mcpServers: { taotoken-oracle: { command: npx, args: [-y, taotoken/mcp-server], env: { TAOTOKEN_BASE_URL: https://taotoken.net/api, TAOTOKEN_API_KEY: sk-你的Key, TAOTOKEN_MODEL: claude-sonnet-4-20250514 } } } }如果你用的是 Cursor 的 Base URL 覆盖方式在设置里找 OpenAI API Base URL填https://taotoken.net/api/v1Key 填同一个Model 填claude-sonnet-4-20250514。注意 Cursor 这里要带/v1而 Cline MCP 的TAOTOKEN_BASE_URL不带这是两个工具对路径处理不同导致的别填混。3.5 Codex auth.json 配置片段如果你用 Codex 类工具配置文件通常在~/.codex/auth.json。写入以下内容{ base_url: https://taotoken.net/api/v1, api_key: sk-你的Key, model: claude-sonnet-4-20250514 }三件套同样要齐全。改完重启工具让配置生效。4. 验证请求SQL*Plus 跑通游标 AI 工具返回成功配置写完不算完得实际跑一遍。这一节分两步验证先在 SQL*Plus 里确认 Cursor 逻辑正确再在 AI 工具里确认 TaoToken 通道通了。4.1 SQL*Plus 验证游标遍历把 3.1 的模板保存成cursor_test.sql在 SQL*Plus 里执行SQL cursor_test.sql预期输出类似保单号: P2024010005, 保费: 3200.00 保单号: P2024010004, 保费: 2800.50 保单号: P2024010003, 保费: 4100.00 保单号: P2024010002, 保费: 1950.00 保单号: P2024010001, 保费: 5600.00 PL/SQL procedure successfully completed.如果输出为空先检查liability_state 2和ROWNUM 5是否有匹配数据。可以单独跑SELECT COUNT(*) FROM t_contract_master WHERE liability_state 2确认。4.2 验证 Cursor 属性在循环里加一行属性输出确认%ROWCOUNT和%FOUND行为符合预期DBMS_OUTPUT.PUT_LINE(当前行号: || cur_policy%ROWCOUNT || , FOUND: || CASE WHEN cur_policy%FOUND THEN TRUE ELSE FALSE END);%ROWCOUNT在FETCH之后递增%NOTFOUND在最后一次FETCH无数据时为 TRUE。这两个属性配合EXIT WHEN使用顺序错了就会多处理一行或少处理一行。4.3 验证 TaoToken 通道在 Cline 里发一条测试消息让它解释一段游标代码。如果返回正常说明 MCP 配置生效。你也可以直接用 curl 验证curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的Key \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: Oracle 显式游标忘记 CLOSE 会报什么错}] }返回里应该包含ORA-01001或ORA-06511相关的解释。如果返回reading choices字段报错说明响应结构解析有问题检查工具版本是否支持当前 API 格式。4.4 在 AI 工具里生成游标代码通道验证通过后你可以让 AI 直接生成游标模板。比如在 Cline 里输入“帮我写一个 Oracle 显式游标遍历 t_contract_master 表输出 policy_code 和 period_prem加上异常处理和 CLOSE 判断。” AI 返回的代码应该包含%ISOPEN判断和EXCEPTION块。如果它漏了你可以追问“异常处理里补上 %ISOPEN 判断”它会修正。这一步的价值在于AI 生成的代码可以直接贴进 SQL*Plus 跑省去手写模板的时间。但前提是通道稳定不然生成到一半断了还得重来。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth配置过程中最容易卡在几个固定报错上。这一节按报错原文对照排查每个都给出具体动作。5.1 401 Unauthorized报错原文通常是{error: {message: Invalid API key, type: invalid_request_error}}排查顺序第一检查 Key 有没有复制完整前后有没有空格第二确认Authorization头格式是Bearer sk-xxx不是Basic第三确认 Key 没有过期或被删除。如果 curl 能通但工具里报 401那是工具侧没读到环境变量检查cline_mcp_settings.json里的TAOTOKEN_API_KEY字段名有没有拼错。5.2 local proxy failed这个报错一般出现在工具侧不是 TaoToken 返回的。原文类似Error: local proxy failed to connect原因是工具配置了本地代理但代理没启动或端口不对。检查工具的代理设置把http.proxy或HTTPS_PROXY环境变量清掉或者确认本地代理服务在运行。TaoToken 的 endpoint 是直连的不需要额外代理层。5.3 reading choices 字段报错报错原文TypeError: Cannot read properties of undefined (reading choices)这说明工具收到了响应但响应结构里没有choices字段。常见原因是 Base URL 写错了比如该带/v1的没带或者多带了路径。检查 Cursor 的 Base URL 是不是https://taotoken.net/api/v1Cline MCP 的TAOTOKEN_BASE_URL是不是https://taotoken.net/api。两个工具路径规则不同别互相抄。5.4 OAuth 相关报错如果你用的是 Claude Code 类工具可能会遇到 OAuth 报错OAuth token expired or invalid这类工具默认走 OAuth 流程但接入 TaoToken 时应该用 API Key 模式。检查配置文件里有没有残留的 OAuth 字段比如oauth_token或refresh_token把它们删掉只保留api_key和base_url。Claude Code 的配置路径通常在~/.claude/settings.json确认apiKey字段填的是 TaoToken 的 Key。5.5 游标相关报错对照除了工具侧报错Oracle 本身的游标报错也要能对上错误名称错误代码含义处理动作CURSOR_ALREADY_OPENORA-06511试图打开已打开的游标检查是否重复 OPEN加 %ISOPEN 判断INVALID_CURSORORA-01001使用未打开的游标确认 OPEN 在 FETCH 之前执行TOO_MANY_ROWSORA-01422SELECT INTO 返回多行改用显式游标或加 ROWNUMNO_DATA_FOUNDORA-01403SELECT INTO 无数据加异常处理或改用游标ROWTYPE_MISMATCHORA-06504主变量和游标类型不兼容检查 FETCH INTO 的变量类型这些报错在 AI 工具里可以直接贴给模型分析但前提是通道通。如果通道断了你只能自己翻文档。6. 把 Cursor 调试和 AI 辅助串成日常流程跑通一次之后你可以把这套流程固定下来。我的习惯是先在 SQL*Plus 里用显式游标模板验证逻辑确认%ROWCOUNT和%NOTFOUND行为正确然后把代码贴进 Cline让 AI 检查有没有漏CLOSE、异常处理是否完整最后用 TaoToken 通道让 AI 生成对应的测试数据查询语句。这套流程的关键是统一 Key。你不需要在 Cline、Cursor、Claude Code 之间反复切换凭证一个 Key 走https://taotoken.net/api三件套填对后面就是复制粘贴的事。如果遇到报错先按第 5 节的对照表排查大部分问题集中在 Base URL 路径和 Key 格式上。对于长期做 Oracle 开发的场景可以考虑用 Coding Plan 把常用模型固定下来避免每次手动选模型。接入文档里有各工具的详细配置示例遇到路径不确定的时候对照一下。模型对话页面可以直接测试 Key 是否可用不用写 curl 也能验证。最后提醒一点游标用完必须CLOSE异常处理里也要判断%ISOPEN。这个规则 AI 有时候会漏你可以在提示词里明确写“异常处理中必须包含 %ISOPEN 判断和 CLOSE”生成质量会稳定很多。

相关新闻

工业级配电开关设备选型必看:电气参数、公差范围与机械寿命

工业级配电开关设备选型必看:电气参数、公差范围与机械寿命

上周去一个工厂做配电柜改造回访,电气负责人翻着设备台账问我:工业级配电开关控制设备的参数表到底该看哪几个数?这问题我几乎每年都会遇到几回。低压框架断路器、塑壳断路器、中压真空断路器、交流接触器这些设备,选型时不能只看…

2026/9/30 23:17:09 阅读更多 →
ODrive源码解析:定时器时基与8kHz FOC电流环实现

ODrive源码解析:定时器时基与8kHz FOC电流环实现

有人问过我一个特别尖锐的问题:ODrive 这种开源伺服驱动器,凭什么能把电流环跑到 8 kHz?按理说 STM32F405 这种主频 168 MHz 的片子,跑 FOC 加一堆外围逻辑已经够累了,还要维持 8 kHz 的中断负载,这可不是软…

2026/9/30 23:17:09 阅读更多 →
让 AI 直接查公司数据库?先给 SQL 加三道闸:基于蓝耘 MaaS 的只读查询助手

让 AI 直接查公司数据库?先给 SQL 加三道闸:基于蓝耘 MaaS 的只读查询助手

业务上想要一个数据,流程往往是:提需求 → 排期 → 写 SQL → 核对 → 出数。其实难点从来不是 SQL 语法本身,而是需求方不会写、会写的人不在。于是很容易冒出一个想法:让大模型直接连数据库,问一句查一句&#xff0c…

2026/9/30 23:16:08 阅读更多 →

最新新闻

ESP32-C3开发环境搭建:用Kimi Code从零点亮LED

ESP32-C3开发环境搭建:用Kimi Code从零点亮LED

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

2026/10/1 1:04:20 阅读更多 →
树莓派5跑YOLOv5:工业视觉检测部署实战全记录

树莓派5跑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/1 1:04:19 阅读更多 →
OMNeT++、INET与CORE4INET:TSN实时以太网仿真环境避坑

OMNeT++、INET与CORE4INET:TSN实时以太网仿真环境避坑

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

2026/10/1 1:04:19 阅读更多 →
甲骨文云VPS开启SSH密码登录完整指南:从密钥配置到安全加固

甲骨文云VPS开启SSH密码登录完整指南:从密钥配置到安全加固

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

2026/10/1 1:04:19 阅读更多 →
电力工地人头检测数据集:VOC转YOLO与YOLO训练避坑指南

电力工地人头检测数据集:VOC转YOLO与YOLO训练避坑指南

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

2026/10/1 1:04:19 阅读更多 →
电竞赛事系统防错设计:从亚运会误判事故看标准化执行

电竞赛事系统防错设计:从亚运会误判事故看标准化执行

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

2026/10/1 1:03:19 阅读更多 →

日新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →