零成本搭建个人AI围棋教练:KataGo与Sabaki实战指南
1. 项目概述从零搭建你的专属AI围棋教练几年前当顶尖棋手开始借助AI进行复盘和训练时我就想这种强大的工具能不能也走进我们普通爱好者的书房答案是肯定的。今天要聊的这个项目就是利用开源的KataGo围棋AI引擎搭配轻量级的图形界面Sabaki在个人电脑上搭建一个功能齐全、完全免费的AI围棋助手。这不仅仅是“装个软件”而是亲手配置一个能陪你下棋、帮你复盘、甚至分析你每一步棋得失的“私人教练”。整个过程不涉及复杂的服务器运维也不需要昂贵的硬件一台普通的笔记本电脑就能跑起来。无论你是想提升棋力、研究新变化还是单纯享受与AI对弈的乐趣这个组合都能满足你。接下来我会带你一步步走通从环境准备、软件配置到实战应用的全过程并分享我踩过的坑和总结的实用技巧。2. 核心组件解析为什么是KataGo与Sabaki在动手之前我们需要理解这两个核心组件各自扮演的角色以及它们组合起来的优势。盲目安装只会事倍功半知其所以然才能灵活运用。2.1 KataGo开源围棋AI的“最强引擎”KataGo是目前最强的开源围棋AI之一其棋力在同等计算资源下足以媲美甚至超越一些商业AI。它并非一个可以直接双击运行的软件而是一个“引擎”Engine。你可以把它理解为一台赛车的发动机它性能强悍但本身没有方向盘、仪表盘和座椅。KataGo的核心是一个命令行程序它接收棋局信息通常以SGF或GTP协议格式经过复杂的神经网络和树搜索计算后输出它的评估和推荐着法。它的几个关键特点决定了我们的选择完全开源与免费这是最大的优势。你可以自由使用、研究甚至基于它进行二次开发没有任何使用费用或订阅限制。强大的棋力与可调节性通过调整“权重文件”神经网络模型和搜索参数如visits访问次数你可以在棋力、思考速度和硬件消耗之间取得平衡。对于新手一个中等大小的权重文件配合较低的访问次数就能提供远超人类业余高手的指导对于高手或研究者则可以启用最大的权重和极高的访问次数进行深度分析。丰富的分析输出KataGo不仅能给出最佳一手还能输出每个候选点的胜率、目差评估以及通过lz-analyze等命令进行实时、持续的分析这为复盘提供了极其宝贵的数据。2.2 Sabaki优雅而强大的“驾驶舱”如果KataGo是发动机那么Sabaki就是那套完整、好用的汽车座舱。它是一个用Electron开发的跨平台围棋图形界面干净、美观且高度可定制。Sabaki本身不下棋它的核心功能是“围棋对弈界面管理”和“引擎协议桥接”。为什么选择Sabaki作为前端轻量且专注相比一些功能庞杂的整合包Sabaki只做界面和引擎管理非常清爽资源占用低。完美的GTP协议支持围棋AI引擎与图形界面之间通信的标准协议是GTPGo Text Protocol。Sabaki对GTP协议的支持非常完善和稳定这是它能流畅驱动KataGo等引擎的基础。优秀的用户体验支持拖拽创建棋局、便捷的编辑模式、分支变化图、SGF文件导入导出、实时显示引擎思考信息等这些功能对于研究和复盘至关重要。跨平台Windows、macOS、Linux均可运行保证了项目方案的普适性。两者的协作关系Sabaki作为“总控台”负责显示棋盘、接收你的鼠标点击落子、管理棋谱。当你请求AI分析或对弈时Sabaki会通过GTP协议向后台运行的KataGo引擎发送当前棋局状态。KataGo接到指令后开始疯狂计算再将计算出的着法和评估数据返回给Sabaki最后由Sabaki将结果可视化地展示在棋盘和侧边栏上。整个流程清晰、高效。3. 环境准备与核心组件部署理论清晰后我们开始动手。整个过程分为三个主要步骤获取KataGo引擎与权重、安装Sabaki界面、将两者关联起来。我会以Windows系统为例进行说明macOS和Linux用户操作逻辑类似主要区别在于软件包管理和终端命令。3.1 第一步获取KataGo引擎与神经网络权重KataGo的发布页在GitHub上。我们不需要编译源码直接下载预编译好的可执行文件即可。访问发布页打开浏览器访问KataGo在GitHub的官方发布页面通常搜索“KataGo releases”即可找到。找到最新的稳定版本如v1.14.0。选择适合的版本在“Assets”文件列表中根据你的操作系统选择Windows选择以-windows-x64.zip结尾的文件例如katago-v1.14.0-windows-x64.zip。macOS选择-macos-x64.zipIntel芯片或-macos-arm64.zipApple Silicon M系列芯片。Linux选择-linux-x64.zip。下载并解压下载该ZIP文件将其解压到一个你容易找到的文件夹例如D:\Tools\KataGo。解压后你会看到几个文件其中最重要的就是katago.exeWindows或katagomacOS/Linux这个可执行文件。下载权重文件权重文件是KataGo的“大脑”决定了它的棋力。在KataGo的发布页或相关Wiki中通常会提供权重文件的下载链接。推荐下载一个中等大小的权重例如kata1-b40c256-s1110或更新版本。将下载的.bin.gz文件解压得到.bin文件也放在KataGo的目录下比如和katago.exe放在一起。注意权重文件可能很大几百MB到上GB请确保有足够的磁盘空间。首次运行时KataGo会解压并加载权重可能需要几十秒时间。3.2 第二步安装与配置SabakiSabaki的安装相对简单。下载安装包访问Sabaki的官方网站或GitHub发布页下载对应你操作系统的安装包.exe, .dmg, .AppImage等。安装并运行像安装普通软件一样安装Sabaki。安装完成后首次运行你会看到一个空白的棋盘界面。初步配置Sabaki打开Sabaki进入菜单栏的File-Preferences偏好设置。这里可以先设置一些基础项比如语言、棋盘样式、棋子样式等让它看起来更顺眼。关键的引擎配置我们下一步单独进行。3.3 第三步关联KataGo与Sabaki核心配置这是最关键的一步让Sabaki知道如何启动和调用KataGo引擎。在Sabaki中添加引擎在Sabaki中进入Engines-Manage Engines...管理引擎。点击Add添加按钮。会弹出一个配置窗口。填写引擎配置信息名称给你这个引擎起个名字比如“My KataGo”。路径这是最重要的部分。点击Browse浏览找到你之前解压KataGo的目录选择katago.exeWindows或katago其他系统。参数这里需要输入启动KataGo的命令行参数。一个最基础且重要的配置如下gtp -model [权重文件路径] -config [配置文件路径]-model后面跟上你下载的权重文件.bin的完整路径。例如-model D:\Tools\KataGo\kata1-b40c256-s1110.bin-config后面跟上KataGo配置文件的路径。KataGo目录里通常有一个示例配置文件gtp_example.cfg。你可以直接使用它或者复制一份进行修改。这里我们先指向它例如-config D:\Tools\KataGo\gtp_example.cfg工作目录设置为KataGo可执行文件所在的目录例如D:\Tools\KataGo。这能确保引擎运行时能找到相关的依赖文件如果有的话。测试引擎配置完成后点击Test测试按钮。如果一切正常Sabaki会尝试启动KataGo并在下方日志窗口看到一连串的启动信息最后出现KataGo ready, beginning main protocol loop之类的成功提示。如果报错如找不到文件、参数错误请根据日志检查路径和参数是否正确。保存并关闭测试成功后点击OK保存引擎配置。至此你的AI围棋助手的基础框架就搭建完成了。你现在可以在Sabaki中新建一个棋局然后通过Engines-Attach...关联选择你刚配置好的“My KataGo”引擎AI就会就位等待你的指令。4. 核心功能实战与参数调优基础搭好我们来探索如何真正用它来下棋、复盘和分析。不同的使用场景需要不同的配置和操作方式。4.1 场景一与AI进行让子对弈或分先对弈这是最直接的功能。你可以设置AI的棋力来匹配你的水平。新建对局在Sabaki中File-New Game新建对局。设置棋盘大小19路、贴目规则中国或日本规则、让子数等。关联引擎并设置执方Engines-Attach...选择你的KataGo引擎。然后在Engines菜单下选择Black黑棋或White白棋来指定AI执哪一方。你可以选择Alternate交替来让AI自我对弈。调整AI强度关键AI的思考深度主要由两个参数控制访问次数visits在KataGo的配置文件如gtp_example.cfg中找到maxVisits和maxPlayouts参数。maxVisits直接控制AI对每个局面搜索的节点数量。数值越大思考越深棋力越强耗时也越长。对于实时对弈可以设置为一个适中的值比如500或1000以保证每一步在几秒到十几秒内完成。线程数与批大小在配置文件中numSearchThreads控制使用的CPU线程数通常设置为你的物理核心数。nnBatchSize控制神经网络计算的批处理大小对于GPU用户可以适当调大如32、64以提升效率对于纯CPU运行保持较小值如16可能更稳定。开始对弈设置好后AI会在你落子后自动开始思考并落子。你可以通过Play-Generate Move生成着法来主动让AI走棋。实操心得对于新手不建议一开始就用最高强度的AI下全局。可以从9路或13路小棋盘开始并将AI的maxVisits调到较低如200这样它反应快棋风也可能更“人类化”一些便于学习。另外在配置文件中开启pondering后台思考可以让AI在你思考时也进行计算但会持续占用CPU/GPU资源。4.2 场景二深度复盘分析与胜率解读这才是AI助手价值最大的地方。输棋后或者对某个局部的变化存疑时让AI进行深度分析。加载棋谱将你的棋谱SGF格式拖入Sabaki窗口或通过File-Open打开。启用分析模式关联KataGo引擎后不要直接让它下棋。而是使用分析功能。在Sabaki中你可以通过Engines-Toggle Analysis切换分析或使用快捷键需在设置中查看来开启。理解分析信息开启分析后AI会持续计算当前节点即你鼠标点击的那一步棋之后的变化。在Sabaki的侧边栏或底部信息栏你会看到胜率Win Rate通常以百分比显示基于当前局面AI认为执黑或执白的最终获胜概率。50%表示均势。目差Score LeadAI预测的最终目数差距正数表示当前行棋方领先。候选点列表AI推荐的其他着法及其胜率/目差。这能让你清晰地看到“我当时下这里好不好如果下别的地方会怎样”逐手复盘使用键盘左右方向键在棋谱分支中前进后退。每走到一个你想深入分析的节点暂停一下让AI分析几秒钟到几分钟取决于你设置的maxVisits仔细阅读侧边栏的信息。你会发现很多人类视角的“好棋”或“坏棋”在AI的评估下呈现出完全不同的面貌。注意事项深度分析时建议将maxVisits设置得高一些比如5000或10000甚至临时修改配置文件让AI进行更彻底的搜索以获得更可靠的评估。分析会占用大量计算资源电脑风扇可能会狂转。4.3 场景三利用AI进行局部研究与定式验证你可以创建一个空白或特定局面的棋谱让AI来探索未知的变化。创建研究棋盘新建一个游戏或者清空一个现有棋谱到特定局面。摆出初始形状在编辑模式下Edit-Toggle Edit Mode摆出你想要研究的定式或局部形状。让AI自由推演方法A交互式关联引擎自己下一手然后让AI应一手如此交替观察AI的应对和评估。方法B分支分析在当前局面下手动在几个候选点摆上棋子创建分支。然后切换到每个分支让AI进行分析比较不同下法导致的胜率和目差变化。Sabaki的分支管理功能在这里非常有用。保存研究成果将探索出的有趣变化保存为新的SGF文件作为你自己的学习笔记。4.4 配置文件关键参数详解要玩转KataGo必须了解其配置文件中的几个关键参数。用文本编辑器打开gtp_example.cfg或你自己的配置文件# 模型文件路径必须修改为你自己的.bin文件路径 model ./kata1-b40c256-s1110.bin # 最大搜索次数控制AI思考深度。实时对弈可设500-2000深度分析可设5000-20000 maxVisits 1000 # 最大模拟对局数另一个停止条件通常与maxVisits配合使用或设得更大 maxPlayouts 3000 # 搜索线程数通常设为CPU物理核心数充分利用多核性能 numSearchThreads 8 # 神经网络批处理大小。使用GPU时可增大如32、64以提升吞吐量仅CPU时建议较小如8、16 nnBatchSize 16 # 是否启用后台思考ponder。开启后AI在对手思考时也会计算但持续占用资源。 ponderingEnabled false # 随机性参数。值越大如0.9AI的着法越多样、有创造性值越小如0.1AI的着法越接近绝对最优趋于固定。 # 适合用于让AI下出不同风格的棋或者避免分析时总是重复同一变化。 rootPolicyTemperature 0.1 # 是否在GTP协议中启用更详细的分析命令Sabaki的分析功能依赖于此 includeOwnership true includeMovesOwnership true你可以创建多个不同配置的.cfg文件如fast_play.cfg,deep_analysis.cfg在Sabaki的引擎参数中快速切换以适应不同场景。5. 常见问题排查与性能优化指南在实际搭建和使用过程中你几乎一定会遇到一些问题。下面是我总结的一些典型问题及其解决方法。5.1 安装与启动问题问题现象可能原因解决方案Sabaki测试引擎时提示“引擎无响应”或直接闪退1. KataGo可执行文件路径错误。2. 权重文件路径错误或文件损坏。3. 配置文件路径错误或格式有误。4. 缺少运行库Windows上常见。1. 在Sabaki引擎配置中使用“浏览”按钮重新选择katago.exe避免手动输入错误。2. 检查-model参数后的.bin文件路径是否正确文件名是否完整。3. 检查-config参数后的.cfg文件路径。建议先用KataGo目录自带的示例配置文件。4. Windows确保已安装最新的Visual C Redistributable运行库。启动时卡在“Initializing neural net...”很久首次加载大型权重文件需要时间解压和初始化。耐心等待尤其是CPU模式下首次加载一个400MB的权重可能需要1-2分钟。后续启动会快很多。硬盘指示灯狂闪是正常现象。日志中出现“CUDA error”或“OpenCL error”GPU相关错误。可能是驱动问题、CUDA/OpenCL版本不匹配或显卡内存不足。1. 更新显卡驱动到最新版本。2. 在配置文件中将numSearchThreads调回CPU线程数并确认未强制指定使用GPU。对于大多数用户纯CPU运行是最稳定的方案。KataGo的CPU优化很好在中等思考量下完全可用。AI落子速度极慢每一步都要几十秒以上maxVisits设置过高或硬件性能不足。降低maxVisits值如从5000降至500。在Sabaki对弈时也可以临时通过GTP命令kata-set-option maxVisits 500来动态调整需在Sabaki的GTP控制台中输入。5.2 性能优化技巧如果你的电脑配置一般或者想让AI跑得更快可以尝试以下优化使用更小的权重文件权重文件越大棋力通常越强但加载和计算也越慢。对于快速对弈和一般复盘一个150MB左右的权重如kata1-b15c192系列已经足够强大且速度更快。调整搜索参数降低maxVisits是提升速度最直接的方法。同时确保numSearchThreads设置正确充分利用所有CPU核心。关闭不必要的后台程序KataGo在进行深度搜索时是计算密集型应用关闭浏览器、视频播放器等可以释放更多CPU资源。考虑使用GPU针对高级用户如果你有一块不错的NVIDIA显卡可以尝试配置KataGo使用CUDA进行加速。这需要下载支持CUDA的KataGo版本并在配置文件中正确设置。但请注意GPU配置相对复杂且对显卡驱动、CUDA版本有要求新手不建议优先尝试。CPU方案已非常实用。5.3 使用中的技巧与心得善用“热键”在Sabaki的偏好设置中熟悉并自定义快捷键如分析开关CtrlShiftA、生成着法、前进后退等能极大提升操作效率。管理多个引擎你可以在Sabaki中配置多个不同权重或参数的KataGo引擎。例如一个配置用于快棋练习一个用于深度分析。对弈时甚至可以同时关联两个不同强度的引擎观察它们对同一局面的判断差异。理解AI的局限性AI的胜率评估是基于其计算和模型的并非绝对真理。尤其是在布局阶段由于变化过于开阔AI的评估波动可能很大。它的价值在于提供人类难以察觉的候选点和方向性判断而不是一个绝对的“标准答案”。对于AI的推荐要结合棋理进行思考。SGF文件的导入导出Sabaki完美支持SGF。你可以将网上下载的棋谱如职业比赛导入用AI进行分析学习。也可以将自己的对局或分析结果导出为SGF分享给他人或用于其他围棋软件。搭建并熟练使用KataGoSabaki这套组合就像有了一位不知疲倦、棋力超群的陪练。它不会取代你自身的计算和判断但能为你打开一扇全新的窗口让你以更高的维度去理解围棋。从安装配置时的磕磕绊绊到第一次成功看到AI落子时的兴奋再到学会利用分析功能拆解自己棋局中的纰漏整个过程本身就是一种极佳的学习体验。

相关新闻

从零部署私有AI助手:Ollama+Llama 3+Open WebUI实战指南

从零部署私有AI助手:Ollama+Llama 3+Open WebUI实战指南

1. 项目概述:为什么选择本地部署大模型? 最近几个月,我身边不少朋友和同事都在讨论大模型,但一提到使用,大家的第一反应往往是去申请某个在线服务的API,或者用网页版。每次听到这个,我都会忍不住…

2026/10/12 23:23:13 阅读更多 →
全平台QQ数据库解密实战指南:逆向工程与密钥提取技术深度解析

全平台QQ数据库解密实战指南:逆向工程与密钥提取技术深度解析

全平台QQ数据库解密实战指南:逆向工程与密钥提取技术深度解析 【免费下载链接】qq-win-db-key 全平台 QQ 聊天数据库解密 项目地址: https://gitcode.com/gh_mirrors/qq/qq-win-db-key 在当今数字化时代,聊天记录已成为我们珍贵的数字记忆。然而&…

2026/10/12 18:06:41 阅读更多 →
Spring Cloud 安全排查:Actuator、网关改写与 Nacos 凭据

Spring Cloud 安全排查:Actuator、网关改写与 Nacos 凭据

Spring Cloud 安全排查:Actuator、网关改写与 Nacos 凭据 网关鉴权并不覆盖所有入口。注册中心、配置中心、追踪系统和 Actuator 都可能通过内网或管理端口被访问。安全检查应从“谁能连到它、能做什么、凭据多久失效”三个问题开始,而不是只看网关配置…

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

最新新闻

陶瓷股骨头疲劳试验机PWS-5的技术原理与应用

陶瓷股骨头疲劳试验机PWS-5的技术原理与应用

1. 设备概述与行业背景PWS-5电子伺服组合式陶瓷股骨头疲劳试验机是骨科植入物检测领域的专业设备,主要用于人工髋关节中陶瓷股骨头部件的耐久性测试。这类设备在医疗器械生产企业、第三方检测机构和科研院所中具有广泛应用,是确保人工关节产品质量的关键…

2026/10/13 10:11:34 阅读更多 →
STM32下uC/OS-III系统实战指南:从任务管理到多任务同步全解析

STM32下uC/OS-III系统实战指南:从任务管理到多任务同步全解析

1. OS概述 在嵌入式开发中,随着系统功能的日益复杂,传统的裸机编程方式逐渐暴露出局限性。当多个任务需要并发执行、实时响应要求较高时,引入操作系统(OS)成为必然选择。操作系统在嵌入式领域的引入,主要目的包括: 任务调度管理:操作系统能够合理分配 CPU 时间,让多个…

2026/10/13 10:11:34 阅读更多 →
Inbox/Outbox 模式实战:构建跨服务事务最终一致性

Inbox/Outbox 模式实战:构建跨服务事务最终一致性

Inbox/Outbox 模式实战:构建跨服务事务最终一致性 在分布式与微服务架构中,一个核心业务操作的完成往往伴随着多个下游系统的状态联动。 以电商中的订单创建为例,主干业务落库后通常需要: 通知库存服务锁定并初始化库存&#xff1…

2026/10/13 10:11:34 阅读更多 →
6.3.5 CRL 过期了,但证书本身是好的

6.3.5 CRL 过期了,但证书本身是好的

6.3.4 测的是 CRL 取不到,这条测的是 CRL 取到了,但它是旧的。CRL 文件本身带有效期,nextUpdate 一过就失效。设备读到一个已经过期的 CRL,该怎么办? 标准给的答案是宽容:报 Warning: CRL expired&#xff…

2026/10/13 10:11:34 阅读更多 →
Hermes Agent实战:本地AI智能体框架的安装配置与任务自动化

Hermes Agent实战:本地AI智能体框架的安装配置与任务自动化

消息队列里躺着上百条待处理任务,浏览器开着一堆文档页面,IDE里代码刚改到一半,这时候还要手动去跑测试、汇总报告、整理输出。我之前就是这么过来的,白天大部分时间不是花在写代码上,而是花在“把东西从一个地方搬到另…

2026/10/13 10:11:34 阅读更多 →
考研复试机器学习面试:高频考点与一周实操准备指南

考研复试机器学习面试:高频考点与一周实操准备指南

1. 复试现场那道机器学习题,到底在考什么考研复试的面试环节,计算机方向的学生最怕被问到机器学习。怕的原因很实在:初试不考,本科课程可能只讲过一点皮毛,真到面试现场,导师随口一句“过拟合怎么处理”就能…

2026/10/13 10:10:30 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →