妈妈再也不用担心我的工程构建问题啦:VSCode+CMake开发Qt的TaoToken配置指南
1. 为什么 VSCodeCMake 开发 Qt 时环境变量总打架如果你同时维护两三个 Qt 工程一个用 MinGW 8.1、一个用 MSVC、还有一个跑在 WSL 里那你大概率经历过这种场面昨天还能编译的工程今天打开 VSCode 就报CMake Error: Could not find CMAKE_CXX_COMPILER或者 Qt 的moc找不到、Qt5Widgets链接失败。更让人头大的是你明明在系统环境变量里配好了PATHVSCode 里却像没看见一样。这不是你操作有问题而是 VSCodeCMake 这套组合本身对环境变量的处理逻辑比较分裂。它有三层配置来源在互相覆盖第一层是 Windows 系统环境变量你在此电脑→属性→高级系统设置里配的那份。第二层是 VSCode 的settings.json也就是工作区或用户级配置。第三层是 CMake 自己的CMakePresets.json或CMakeCache.txt。这三层谁生效取决于你从哪个入口触发构建——点底部状态栏的 Build 按钮、按 F7、还是在终端里敲cmake --build走的路径都不一样。我试过最典型的一个坑在CMakeLists.txt里用set(CMAKE_CXX_COMPILER ...)指定编译器命令行构建没问题但 VSCode 的 CMake Tools 插件扫描 kit 时完全不认这个设置因为它读的是CMakePresets.json和 kit 缓存。结果就是命令行能过、插件报错你以为是自己环境坏了其实是两套系统各读各的。再叠加一个变量现在很多团队开始把模型调用、代码补全、Agent 能力接进开发流工程里会多出一组OPENAI_API_KEY、ANTHROPIC_BASE_URL之类的环境变量。这些变量如果和 Qt 的工具链变量混在同一个settings.json里一旦写错一个字段整个构建配置都可能加载失败。所以这篇的核心不是教你怎么装 Qt而是把环境变量分层这件事讲清楚让你在多项目切换时不再靠重启电脑碰运气。适合谁看已经能用 QtCreator 跑通 CMake 工程、但想在 VSCode 里获得更好编辑体验的人手上有多个 Qt 版本、需要频繁切工具链的人以及想把 API 通道配置和构建配置分开管理、避免互相污染的人。下面我会给出可直接复制的settings.json和CMakePresets.json片段并演示把 endpoint 改到 TaoToken 后重新加载窗口、触发一次构建的完整验证动作。2. TaoToken 前置把 API 通道和构建环境解耦在动手改配置之前先把一个概念理清楚构建工具链变量和API 通道变量是两类完全不同的东西不该塞在同一个地方。构建工具链变量指的是CMAKE_PREFIX_PATH、CMAKE_CXX_COMPILER、Qt5_DIR这些它们决定你的代码怎么编译、链接哪个 Qt 库。API 通道变量指的是OPENAI_BASE_URL、ANTHROPIC_BASE_URL、OPENAI_API_KEY这些它们决定你的编辑器插件、命令行 Agent 或代码补全工具往哪个地址发请求。为什么要把它们分开因为构建配置是项目级的跟着工程走API 通道配置是用户级的跟着你这个人走。你把 API Key 写进项目里的settings.json一旦提交到 Git就是安全事故反过来你把 Qt 路径写进用户级配置换个工程就得改一次纯属自找麻烦。TaoToken 在这里扮演的角色是给你一个统一的 API 入口。它的官网是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 。你只需要在用户级配置里维护一份 Base URL 和 Key所有工程共用项目级的settings.json只管 Qt 和 CMake 的事。这样多项目切换时你改的是工具链不是 API 通道两边互不干扰。具体操作上你需要先拿到一个 API Key。打开 https://taotoken.net/api-keys 登录后创建一个新的 Key复制出来。注意这个 Key 只显示一次丢了就得重建。拿到之后先别急着往代码里写我们下一步会把它放进用户级配置而不是项目配置。这里有个细节值得说很多人习惯把 Key 直接写进settings.json的env字段这在单人开发时没问题但如果你用 Git 管理 dotfiles就会泄露。更稳妥的做法是用系统环境变量存 Keysettings.json里只引用变量名。VSCode 的terminal.integrated.env.windows支持${env:VAR_NAME}这种写法但 CMake Tools 插件的cmake.environment字段对变量展开的支持不太一致所以我在下面的配置里会给出两种方案你按自己的团队规范选。另外提醒一句TaoToken 是 API 通道服务不是编辑器替代品。它不会帮你写代码、不会帮你编译 Qt 工程它只是让你的补全插件、Agent 工具有一个稳定的请求出口。别指望配完它构建就变快构建快慢取决于你的工具链和机器性能。3. 可复制配置settings.json 与 CMakePresets.json这一节是全文的核心给出两份可直接复制的配置文件。先说你项目根目录下的.vscode/settings.json这份只管构建相关的东西。{ cmake.generator: MinGW Makefiles, cmake.buildDirectory: ${workspaceFolder}/build_debug, cmake.configureOnOpen: false, cmake.environment: { PATH: C:/Qt/Tools/mingw810_64/bin;${env:PATH}, CMAKE_PREFIX_PATH: C:/Qt/5.15.2/mingw81_64 }, C_Cpp.default.compilerPath: C:/Qt/Tools/mingw810_64/bin/g.exe, C_Cpp.default.cppStandard: c17, C_Cpp.default.intelliSenseMode: windows-gcc-x64, files.associations: { *.ui: xml, *.qrc: xml } }这份配置里cmake.environment是关键。它会在 CMake Tools 插件调用 cmake 时把PATH和CMAKE_PREFIX_PATH注入进去这样插件扫描 kit 时就能找到 Qt。注意PATH里我用了${env:PATH}做拼接保留系统原有的路径避免把系统命令弄丢。接下来是项目根目录的CMakePresets.json这份负责把工具链和构建类型固化下来避免每次手敲那串长命令。{ version: 3, configurePresets: [ { name: mingw-debug, displayName: MinGW Debug, generator: MinGW Makefiles, binaryDir: ${sourceDir}/build_debug, cacheVariables: { CMAKE_BUILD_TYPE: Debug, CMAKE_C_COMPILER: C:/Qt/Tools/mingw810_64/bin/gcc.exe, CMAKE_CXX_COMPILER: C:/Qt/Tools/mingw810_64/bin/g.exe, CMAKE_PREFIX_PATH: C:/Qt/5.15.2/mingw81_64 } }, { name: mingw-release, displayName: MinGW Release, generator: MinGW Makefiles, binaryDir: ${sourceDir}/build_release, cacheVariables: { CMAKE_BUILD_TYPE: Release, CMAKE_C_COMPILER: C:/Qt/Tools/mingw810_64/bin/gcc.exe, CMAKE_CXX_COMPILER: C:/Qt/Tools/mingw810_64/bin/g.exe, CMAKE_PREFIX_PATH: C:/Qt/5.15.2/mingw81_64 } } ], buildPresets: [ { name: mingw-debug, configurePreset: mingw-debug }, { name: mingw-release, configurePreset: mingw-release } ] }有了这两份文件你在 VSCode 里按CtrlShiftP输入CMake: Select Configure Preset就能在mingw-debug和mingw-release之间切换。切换后点底部状态栏的 Build插件会读 preset 里的配置不再依赖你系统环境变量里那套东西。现在说 API 通道配置。这份放在用户级settings.json里路径是%APPDATA%\Code\User\settings.json不要放进项目目录。{ terminal.integrated.env.windows: { OPENAI_BASE_URL: https://taotoken.net/api, OPENAI_API_KEY: ${env:TAOTOKEN_API_KEY} }, cmake.environment: { OPENAI_BASE_URL: https://taotoken.net/api } }注意这里OPENAI_API_KEY引用的是系统环境变量TAOTOKEN_API_KEY你需要先在系统里设好这个变量值就是你在 https://taotoken.net/api-keys 创建的那个 Key。这样即使你的用户级settings.json被同步到云端Key 本身也不会泄露。如果你用的是 Claude Code 或类似的命令行工具它读的是ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY配置方式类似把变量名换掉即可。具体接入方式可以参考 https://taotoken.net/doc 里的说明不同工具的变量名和读取顺序略有差异。配置改完后VSCode 需要重新加载窗口才能让terminal.integrated.env.windows生效。按CtrlShiftP输入Developer: Reload Window回车。这一步很多人会忘然后在终端里echo $OPENAI_BASE_URL发现是空的以为配置写错了其实只是没重载。4. 验证请求重新加载窗口后触发一次构建配置写完不算完得验证它真的生效。这一节给你一套完整的验证动作从环境变量到构建结果一步步确认。第一步重新加载窗口后打开 VSCode 的集成终端Ctrl输入echo $OPENAI_BASE_URLWindows 下如果用的是 PowerShell命令是echo $env:OPENAI_BASE_URL。你应该看到输出https://taotoken.net/api。如果输出为空说明terminal.integrated.env.windows没生效检查一下你是不是改的用户级配置、有没有重载窗口。第二步验证 API 通道能通。用 curl 发一个最小请求curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer $OPENAI_API_KEY \ -H Content-Type: application/json \ -d {model:gpt-4o-mini,messages:[{role:user,content:ping}]}如果返回里有choices字段说明通道正常。如果返回 401说明 Key 不对或没读到如果返回local proxy failed之类的错误说明你的网络层有东西在拦截检查一下系统代理设置。注意这里不要用任何非官方的代理工具直接用系统网络即可。第三步回到 Qt 工程触发一次构建。按CtrlShiftP输入CMake: Configure选mingw-debugpreset。配置完成后点底部状态栏的 Build 按钮或者按 F7。观察输出面板你应该看到类似这样的信息[proc] Executing command: C:/Qt/Tools/mingw810_64/bin/mingw32-make.exe -j8 [build] Scanning dependencies of target dog [build] [ 50%] Building CXX object CMakeFiles/dog.dir/main.cpp.obj [build] [100%] Linking CXX executable dog.exe [build] Build finished with exit code 0看到exit code 0就说明构建成功。如果报Could not find CMAKE_CXX_COMPILER说明 preset 里的编译器路径写错了回去核对C:/Qt/Tools/mingw810_64/bin/g.exe这个路径是否真实存在。第四步运行程序。在终端里进入build_debug目录执行./dog.exeQt 窗口应该正常弹出。如果报缺少libgcc_s_seh-1.dll之类的错误说明 Qt 的 bin 目录没进 PATH把C:/Qt/5.15.2/mingw81_64/bin加到系统 PATH 里或者用windeployqt打包。第五步验证代码补全。打开main.cpp输入QAppl看是否弹出QApplication的补全提示。如果没弹检查C_Cpp.default.compilerPath是否指向了正确的 g以及c_cpp_properties.json有没有被旧配置覆盖。有时候 CMake Tools 插件会生成自己的c_cpp_properties.json和你的settings.json冲突这时候删掉.vscode/c_cpp_properties.json让它重新生成即可。整套验证下来你应该能确认三件事环境变量注入成功、API 通道可达、Qt 工程能编译运行。这三件事互相独立任何一件出问题都不会影响另外两件这也是分层配置的好处。5. 本篇常见错排查401、local proxy failed、reading choices这一节把上面验证过程中可能遇到的报错集中列一下每个都给出原因和修法。报错一401 Unauthorized{error:{message:Invalid API key,type:invalid_request_error}}原因通常是 Key 没读到或写错了。先确认系统环境变量TAOTOKEN_API_KEY是否存在在 PowerShell 里执行echo $env:TAOTOKEN_API_KEY。如果为空去系统设置里补上。如果系统变量有值但 VSCode 终端里读不到说明terminal.integrated.env.windows里的${env:TAOTOKEN_API_KEY}没展开改成直接写值试试确认是变量展开的问题还是 Key 本身的问题。确认 Key 有效后再改回变量引用。报错二local proxy failedError: connect ECONNREFUSED 127.0.0.1:7890这个报错说明你的请求被转发到了一个本地端口但那个端口上没有服务在跑。常见原因是系统里配了 HTTP_PROXY 或 HTTPS_PROXY 环境变量指向了一个已经关掉的工具。检查系统环境变量里的HTTP_PROXY、HTTPS_PROXY、ALL_PROXY把它们清掉或者在 VSCode 的settings.json里显式覆盖{ terminal.integrated.env.windows: { HTTP_PROXY: , HTTPS_PROXY: , ALL_PROXY: } }清掉之后重载窗口再试一次 curl。报错三reading choices of undefinedTypeError: Cannot read properties of undefined (reading choices)这个报错通常出现在补全插件里说明它拿到了响应但响应结构里没有choices字段。原因可能是 Base URL 写成了https://taotoken.net/api但插件自己又拼了一层/v1导致实际请求路径变成/api/v1/v1/chat/completions。检查你的 Base URL 配置TaoToken 的 API 根地址是https://taotoken.net/api如果插件要求填到/v1这一层就填https://taotoken.net/api/v1。不同插件对 Base URL 的拼接规则不一样以实际请求日志为准。报错四OAuth 相关错误Error: OAuth token expired如果你用的是 Claude Code 这类带 OAuth 流程的工具它可能优先读自己的凭据文件而不是环境变量。Claude Code 的凭据通常在~/.claude/.credentials.json如果那里有旧的 token会覆盖你的环境变量。解决办法是删掉那个文件或者用claude auth logout登出后重新用 API Key 方式配置。具体可以参考 https://taotoken.net/doc 里 Claude Code 的接入说明。报错五CMake 找不到 Qt5CMake Error: Could not find a package configuration file provided by Qt5Widgets这个和 API 通道无关纯粹是CMAKE_PREFIX_PATH没配对。确认CMakePresets.json里的CMAKE_PREFIX_PATH指向的是 Qt 的安装目录比如C:/Qt/5.15.2/mingw81_64而不是C:/Qt或C:/Qt/5.15.2。这个路径下应该有lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake文件没有就说明 Qt 装的位置不对。报错六CC Switch 或 Cline MCP 配置不生效如果你在用 CC Switch 管理多个 API 通道或者在 Cline 里配了 MCP需要确认三件套齐全Base URL、Key、Model ID。Base URL 填https://taotoken.net/apiKey 填你的TAOTOKEN_API_KEYModel ID 填你实际要用的模型名。三者缺一请求就会失败。CC Switch 的配置文件通常在~/.cc-switch/config.jsonCline 的 MCP 配置在 VSCode 的settings.json里检查的时候把这两处都过一遍。排查的核心思路是先确认环境变量读到了再确认网络能通最后确认请求格式对。三步分开验证不要混在一起猜。6. 把配置沉淀成模板下次直接复制走到这里你的 VSCodeCMakeQt 工程应该已经能正常构建API 通道也通了。最后说一个实用技巧把这两份配置文件沉淀成模板下次新建工程直接复制。我的做法是在~/templates/qt-cmake-vscode/下放三份文件settings.json、CMakePresets.json、CMakeLists.txt。新建工程时把这三份复制到项目根目录的对应位置改一下CMakePresets.json里的 Qt 路径和工程名就能直接开工。settings.json里的 API 通道配置不用动因为它在用户级所有工程共用。如果你经常在多个 Qt 版本之间切换可以在CMakePresets.json里多写几个 preset比如mingw-debug、msvc-debug、mingw-release用CMake: Select Configure Preset切换。切换后记得重新 Configure 一次让 CMake 缓存更新。还有一个细节.vscode/settings.json建议加进.gitignore因为里面可能有你本机的绝对路径。团队协作时把CMakePresets.json提交上去让每个人根据自己的 Qt 安装位置改路径这样既统一了构建方式又不强制别人的目录结构。API 通道那边如果你团队里多人共用建议每人自己创建 Key不要共用同一个。TaoToken 的 API Keys 页面支持创建多个 Key方便按人管理。Key 的存储用系统环境变量不要写进任何会提交到 Git 的文件。最后留一个检查清单下次配置完照着过一遍系统环境变量里有TAOTOKEN_API_KEY值有效用户级settings.json里OPENAI_BASE_URL指向https://taotoken.net/api项目级settings.json里cmake.environment的 PATH 包含 Qt 的 bin 目录CMakePresets.json里的编译器路径和 Qt 路径真实存在重载窗口后终端里echo $OPENAI_BASE_URL有输出curl 请求返回choices字段CMake Configure 和 Build 都返回 exit code 0dog.exe能正常运行这八条全过你的工程构建和 API 通道就都稳了。下次换项目复制模板、改路径、重载窗口三分钟搞定不用再从头踩一遍环境变量的坑。

相关新闻

端点嵌入模型在RAG系统中的接入与优化实践指南

端点嵌入模型在RAG系统中的接入与优化实践指南

我一直觉得,RAG项目里最容易被忽视的不是大模型本身,而是把文本转成向量这一步。文本切得再科学,向量算不准,后面的向量数据库再快也白搭。今天想说的,是云厂商托管的端点嵌入模型在我实际项目里的用法,算是…

2026/10/18 12:18:20 阅读更多 →
提示词工程实战指南:从六要素公式到少样本与思维链

提示词工程实战指南:从六要素公式到少样本与思维链

你有没有过这种感觉:跟大模型对话,明明对方看起来什么都知道,可你输入了半天,对方给你的回答就是差那么点意思,要么空泛,要么跑偏,要么一股子AI腔。而隔壁同事随手一敲,同一个模型给…

2026/10/18 12:18:20 阅读更多 →
RIME-CNN-BiLSTM-Attention回归预测MATLAB工程详解

RIME-CNN-BiLSTM-Attention回归预测MATLAB工程详解

简介:Matlab实现RIME-CNN-BiLSTM-Attention霜冰算法优化卷积双向长短期记忆神经网络注意力机制的多变量回归预测完整工程,面向需要高精度时序预测或非线性回归建模的科研人员、研究生及算法工程师。压缩包基于Matlab2021b,共5个文件——4个.m…

2026/10/18 12:18:20 阅读更多 →

最新新闻

第五章 C++20标准的改进(代码说明)

第五章 C++20标准的改进(代码说明)

// cpp20_demo.cpp // 编译: g -stdc20 -pthread cpp20_demo.cpp -o cpp20_demo // 运行: ./cpp20_demo#include <iostream> // 输入输出 #include <format> // C20 格式化库 #include <concepts> // C20 概念 #include <ranges> …

2026/10/18 13:56:12 阅读更多 →
MATLAB语音加噪去噪课设全流程:FIR与IIR滤波器设计对比与评估

MATLAB语音加噪去噪课设全流程:FIR与IIR滤波器设计对比与评估

简介&#xff1a;基于MATLAB的含噪语音信号处理&#xff0c;是数字信号处理课程设计中兼顾理论与工程实现的典型课题。该方案针对带有噪声的语音信号进行时域与频域分析&#xff0c;使用窗函数法完成FIR数字滤波器设计&#xff0c;并采用巴特沃斯、切比雪夫及双线性变换法设计I…

2026/10/18 13:56:12 阅读更多 →
artcraft:像素级用户体验的系统化工程方法

artcraft:像素级用户体验的系统化工程方法

1. 项目概述&#xff1a;从“artcraft”这个词开始&#xff0c;我们到底在做什么&#xff1f;“artcraft”这个词乍看像一个合成词&#xff0c;拆开是 art&#xff08;艺术&#xff09;和 craft&#xff08;工艺&#xff09;&#xff0c;合起来直译就是“艺术工艺”。但放在当下…

2026/10/18 13:56:12 阅读更多 →
用Trae开发大模型智能应用:一位工程师的实战复盘

用Trae开发大模型智能应用:一位工程师的实战复盘

最近后台有朋友问我最多的一句话是&#xff1a;“你说你用Trae写大模型应用&#xff0c;到底是个什么体验&#xff1f;”说实话&#xff0c;半年前我也对AI编程助手半信半疑&#xff0c;总觉得代码还得自己一行行敲才靠谱。直到我把一个智能问答Demo从需求到上线完整跑了一遍&a…

2026/10/18 13:56:12 阅读更多 →
豆瓣图书爬虫实战:Requests+BeautifulSoup+openpyxl 打造干净xlsx数据

豆瓣图书爬虫实战:Requests+BeautifulSoup+openpyxl 打造干净xlsx数据

简介&#xff1a;这份资源收录了豆瓣图书爬虫脚本与11个分类整理好的Excel数据文件&#xff0c;面向正在学习Python网络爬虫和数据分析的初学者&#xff0c;也适合需要图书榜单数据的个人开发者。爬虫部分基于requests与BeautifulSoup编写&#xff0c;完整展示了从构造请求、处…

2026/10/18 13:56:12 阅读更多 →
MATLAB/Simulink准同期并网仿真:三判据建模、导前时间补偿与合闸冲击电流分析

MATLAB/Simulink准同期并网仿真:三判据建模、导前时间补偿与合闸冲击电流分析

简介&#xff1a;这份资源是面向电气工程专业学生与电力系统仿真学习者的毕设论文文档&#xff0c;聚焦同步发电机并网中的准同期并列问题&#xff0c;帮助读者理解均频、均压与合闸单元的工作原理&#xff0c;并掌握用MATLAB/Simulink搭建准同期装置仿真模型的方法。压缩包内共…

2026/10/18 13:55:11 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/18 0:55:02 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/18 12:16:16 阅读更多 →