Claude Sonnet 4.5 编程新王降临:30小时持续编码、0%错误率,TaoToken 统一 Key 接入 Claude Code 实测
1. Claude Sonnet 4.5 在 Claude Code 里的长时编码实测30 小时任务到底靠什么撑住Claude Sonnet 4.5 是 Anthropic 在编码方向主推的新一代模型官方把它定位成「世界上最好的编码模型」核心卖点有两个一是复杂多步骤任务能保持专注超过 30 小时二是在 SWE-bench Verified 这类真实软件工程评测里拿到 SOTA。它能做什么简单说你给它一个跨文件、跨模块的重构目标它能自己拆步骤、改代码、跑测试、看报错、再改循环很多轮不跑偏。适合谁适合已经在用 Claude Code 做日常开发、但被「跑两小时就忘上下文」「改到一半回滚不了」折磨过的后端、全栈和 Agent 开发者。我这次实测的场景很具体一个 Node.js TypeScript 的中型仓库约 180 个源文件任务是「把旧的 callback 风格数据层整体迁移到 async/await并补齐单元测试」。这种任务单轮对话根本做不完必须靠 Claude Code 的长任务能力。而长任务最怕两件事一是模型中途「失忆」二是 API 侧不稳定导致会话断掉。所以我把接入层换成了 TaoToken 的统一 Key用同一个 Key 同时驱动 Claude Code 和 Claude Agent SDK观察 30 小时级别的持续编码表现并统计错误率。先说结论方向避免你看到一半才发现不是你要的30 小时持续编码不是「一口气不中断」而是「检查点 上下文编辑 记忆工具」三者配合下的可恢复长任务。Claude Code 新增的检查点功能会保存进度允许你即时回滚到之前状态Claude API 侧的上下文编辑和记忆工具让 Agent 能跑更久、处理更高复杂度任务。这两点叠加才是「30 小时」的真实含义。你要复现的也不是「让模型连续跑 30 小时别停」而是「让任务在 30 小时窗口内可中断、可恢复、可回滚最终错误率压到接近 0%」。下面我会按「前置准备 → 可复制配置 → 验证请求 → 错误排查 → 长任务稳定性验证与错误率统计」的顺序走一遍每一步都给可复制的命令和配置。你跟着做能拿到一个能跑长任务的 Claude Code 环境以及一套自己统计错误率的方法。2. TaoToken 统一 Key 前置准备一个 Key 打通 Claude Code 与 Agent SDK在讲配置之前先把「为什么需要统一 Key」说清楚。Claude Code 本身是终端里的编码 AgentClaude Agent SDK 是你自己写 Agent 时用的底层工具包VS Code 扩展是图形界面入口。这三者如果各自配一套鉴权长任务跑到一半切换工具就会断。TaoToken 的作用是提供一个统一的 Base URL 和 Key让 Claude Code、Agent SDK、VS Code 扩展都指向同一个接入点模型 ID 统一用claude-sonnet-4-5。这样你在终端跑了一半的任务换到 VS Code 里能接着看Agent SDK 里写的脚本也能复用同一套凭证。前置准备分三步拿 Key、确认模型 ID、确认接入地址。第一步拿 Key。打开 TaoToken 控制台进入 API Keys 页面创建一个新 Key。建议给这个 Key 起个能区分的名字比如claude-code-longtask方便后面统计用量时对得上。创建后立刻复制保存页面刷新后通常不再完整显示。控制台入口https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteAPI Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite第二步确认模型 ID。Claude Sonnet 4.5 在 API 里的模型标识是claude-sonnet-4-5定价与 Sonnet 4 一致每百万 token 输入 3 美元、输出 15 美元。你在配置里所有出现模型名的地方都写这个 ID不要写claude-sonnet-4.5或带日期后缀的变体否则会报模型不存在。第三步确认接入地址。API 基础地址是https://taotoken.net/api注意这个地址不带任何查询参数。Claude Code 走的是 Anthropic 兼容协议所以 Base URL 填这个即可不需要额外拼/v1具体以你所用版本的配置项说明为准。这里有个容易踩的坑很多人把控制台地址和 API 地址搞混把https://taotoken.net/console填进 Base URL结果请求直接 404。记住原则——控制台是给人看的API 地址是给程序调的两者不能互换。另外如果你打算同时用 Claude Agent SDK 写自定义 Agent建议在环境变量里统一管理而不是散落在各个配置文件。这样长任务跨工具时不会因为某个文件漏改而鉴权失败。下一节我会给出具体的环境变量写法和 Claude Code 的 settings 片段。3. 可复制配置Claude Code settings 与 Agent SDK 环境变量这一节是全文最需要你动手的部分。我会给出 Claude Code 的 settings 配置片段、环境变量写法以及 Claude Agent SDK 的最小调用示例。所有片段都可以直接复制只需替换 Key。先看 Claude Code 的配置文件。Claude Code 读取用户级配置路径通常在~/.claude/settings.json。如果你用的是项目级配置则放在项目根目录的.claude/settings.json。长任务建议用用户级配置避免换项目就失效。配置内容如下{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: sk-你的TaoTokenKey, ANTHROPIC_MODEL: claude-sonnet-4-5, ANTHROPIC_SMALL_FAST_MODEL: claude-sonnet-4-5 } }这里四个字段各有作用。ANTHROPIC_BASE_URL指向 TaoToken 的 API 地址ANTHROPIC_AUTH_TOKEN填你刚创建的 KeyANTHROPIC_MODEL是主模型长任务编码用它ANTHROPIC_SMALL_FAST_MODEL是处理轻量请求比如生成提交信息、简单补全时用的模型这里也统一成claude-sonnet-4-5避免小模型能力不足导致长任务里的小步骤出错。如果你不想改配置文件也可以用环境变量适合临时测试export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_AUTH_TOKENsk-你的TaoTokenKey export ANTHROPIC_MODELclaude-sonnet-4-5Windows PowerShell 用户写法不同$env:ANTHROPIC_BASE_URLhttps://taotoken.net/api $env:ANTHROPIC_AUTH_TOKENsk-你的TaoTokenKey $env:ANTHROPIC_MODELclaude-sonnet-4-5接下来是 Claude Agent SDK 的调用示例。Agent SDK 与 Claude Code 基础架构相同但可以让你在代码里构建自定义 Agent。最小可用示例如下语言用 TypeScriptimport Anthropic from anthropic-ai/sdk; const client new Anthropic({ baseURL: https://taotoken.net/api, apiKey: process.env.ANTHROPIC_AUTH_TOKEN, }); async function runLongTask(prompt: string) { const response await client.messages.create({ model: claude-sonnet-4-5, max_tokens: 8192, messages: [{ role: user, content: prompt }], }); return response; } runLongTask(重构 src/data 下的数据层为 async/await).then(console.log);注意baseURL和apiKey两个字段必须同时给只给一个会报鉴权错误。模型 ID 同样写claude-sonnet-4-5。如果你用 VS Code 扩展配置入口在扩展设置里搜索claude把 Base URL、API Key、Model 三项分别填入上面三个值。VS Code 扩展和终端 Claude Code 共用同一套环境变量时优先读环境变量所以建议以 settings.json 为准避免两处配置冲突。三件套再强调一次Base URL 是https://taotoken.net/apiKey 是你的 TaoToken KeyModel ID 是claude-sonnet-4-5。这三样在任何 Claude 工具里都保持一致长任务跨工具才不会断。4. 验证请求确认 Claude Code 真的连上了 claude-sonnet-4-5配置写完不能直接上长任务先做一次最小验证确认链路通、模型对、返回正常。这一步花两分钟能省掉后面几小时的排查。第一个验证动作在终端里直接问 Claude Code 一个简单问题。进入你的项目目录运行claude -p 用一句话说明当前目录是什么项目如果配置正确你会看到模型返回一句描述。如果报 401说明 Key 不对或没生效如果报模型不存在说明模型 ID 写错了如果报连接失败说明 Base URL 有问题。这三种错误下一节会详细拆。第二个验证动作确认模型 ID 真的是claude-sonnet-4-5。在 Claude Code 交互模式里输入/model它会显示当前使用的模型。如果显示的不是claude-sonnet-4-5回到 settings.json 检查ANTHROPIC_MODEL字段。有些版本会缓存旧配置改完记得重启终端。第三个验证动作用 curl 直接打一次 API排除 Claude Code 本身的干扰curl https://taotoken.net/api/v1/messages \ -H x-api-key: sk-你的TaoTokenKey \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d { model: claude-sonnet-4-5, max_tokens: 128, messages: [{role: user, content: 回复 OK 两个字母}] }正常返回是一个 JSONcontent数组里有一段文本内容是OK。如果这一步通了说明 Key、Base URL、模型 ID 三件套都没问题问题只可能在 Claude Code 的配置读取上。第四个验证动作验证长任务相关的检查点功能是否可用。在 Claude Code 里跑一个会改文件的小任务比如「在 README.md 末尾加一行注释」然后看它是否提示保存了检查点。检查点功能是 Claude Code 新增的能保存进度并允许即时回滚。你可以在任务跑完后用回滚命令测试claude --rollback如果能看到刚才的状态被列出说明检查点生效长任务可恢复的基础就有了。四个验证动作全过再进入长任务实测。任何一步没过先解决再往下走不要带着问题跑 30 小时。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth长任务跑挂八成是下面几类错误。我把真实遇到过的报错和对应解法列出来你对照着查。401 Unauthorized / invalid api key。这是最常见的。原因通常是 Key 没填对、Key 前后有空格、或者环境变量没生效。排查顺序先确认ANTHROPIC_AUTH_TOKEN的值是不是完整的sk-开头字符串再确认你改的是当前 shell 读到的配置文件比如你改了~/.claude/settings.json但实际用的是项目级.claude/settings.json最后用第 4 节的 curl 命令单独验证 Key。如果 curl 通了但 Claude Code 报 401就是配置文件路径问题。local proxy failed / connection refused。这个报错说明 Claude Code 尝试连的地址不对。检查ANTHROPIC_BASE_URL是不是写成了https://taotoken.net/console或带了多余路径。正确值是https://taotoken.net/api。另外确认你的网络能正常访问该地址可以用curl -I https://taotoken.net/api看返回头。reading choices / unexpected response format。这个错误通常出现在响应格式不符合预期时常见原因是 Base URL 少了或多了/v1。Anthropic 兼容协议下SDK 会自己在 Base URL 后拼/v1/messages所以 Base URL 只写到/api即可。如果你手动写成了/api/v1就会变成/api/v1/v1/messages返回格式自然不对。改回https://taotoken.net/api再试。OAuth / authentication failed。Claude Code 某些版本会优先走 OAuth 登录态如果你之前登录过官方账号它可能忽略你的环境变量。解决办法是在 Claude Code 里执行登出或者显式指定用 API Key 模式。具体命令因版本而异常见的是在交互模式里输入/logout然后重启。重启后确认/model显示的是claude-sonnet-4-5而不是某个官方订阅模型。模型不存在 / model not found。检查模型 ID 拼写必须是claude-sonnet-4-5中间是短横线不是点。claude-sonnet-4.5和claude-sonnet-4-5-20250929这类写法都可能报错以你接入点实际支持的 ID 为准。长任务中途断连。如果任务跑了很久突然断先看是不是网络波动。Claude Code 的检查点功能就是为这种情况设计的重新进入后用回滚命令恢复到最近检查点再继续。不要从头重跑那样既费 token 又可能因为上下文丢失导致结果不一致。排查原则先 curl 验证三件套再查配置文件路径最后查版本兼容。90% 的问题在前两步就能定位。6. 长任务稳定性验证与错误率统计把 30 小时和 0% 错误率变成可量化指标最后一节讲怎么自己验证「30 小时持续编码」和「0% 错误率」。这两个数字不能只信官方要自己跑出数据。先说长任务稳定性验证。我的做法是设计一个跨文件重构任务让它自然产生多轮「改代码 → 跑测试 → 看报错 → 再改」的循环。任务描述写清楚目标但不写具体步骤让模型自己拆。启动后记录三个指标任务总时长、检查点数量、回滚次数。任务总时长用time命令包住或者看 Claude Code 的会话日志时间戳。检查点数量在每次模型提示保存时累加。回滚次数就是你手动触发回滚的次数。一个稳定的长任务检查点应该均匀分布回滚次数应该很少。再说错误率统计。这里的「错误率」不是模型输出错别字而是「模型产出的代码在测试中失败的比例」。统计方法每轮模型改完代码跑一次测试套件记录失败用例数用失败用例数除以总用例数得到单轮错误率把所有轮次的失败数加总除以总执行次数得到整体错误率。可以用一个简单脚本自动统计#!/bin/bash total0 failed0 for i in $(seq 1 20); do npx jest --json --outputFileresult.json /dev/null 21 f$(jq .numFailedTests result.json) t$(jq .numTotalTests result.json) failed$((failed f)) total$((total t)) echo 第 $i 轮失败 $f / 总数 $t done echo 整体错误率$(( failed * 100 / total ))%这个脚本跑 20 轮每轮记录失败数最后算整体错误率。官方说的 0% 错误率指的是在特定评测集上的表现你自己仓库上不一定能到 0%但可以对比接入前后的变化。如果接入前错误率 15%接入后降到 3%这就是实打实的提升。长任务还有一个隐藏指标上下文保持度。跑 10 小时后模型还记不记得最初的任务目标测试方法是在任务中途插入一句「请复述你当前的任务目标」看它回答是否和最初一致。如果开始跑偏说明上下文编辑和记忆工具没生效需要检查配置。最后给一个实用技巧把长任务拆成「阶段目标 检查点」的组合而不是一个巨型 prompt。比如第一阶段「迁移数据层」第二阶段「补测试」第三阶段「跑全量回归」。每个阶段结束手动确认一次再进下一阶段。这样即使某阶段出错回滚成本也低。Claude Sonnet 4.5 的 30 小时能力配合检查点本质上是让你能安心地把大任务交给它而不是逼你盯着屏幕 30 小时。如果你要长期跑这类编码 Agent建议用 Coding Plan 管理用量和额度避免长任务跑到一半因为额度问题中断https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite需要单独验证模型对话效果可以用模型对话入口https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite接入文档和 API Keys 管理在这里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 和 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite配置改完记得重启终端然后从第 4 节的 curl 验证开始跑一遍。链路通了再上你的真实长任务。

相关新闻

AI科技风PPT模板:工程师的技术表达结构化接口

AI科技风PPT模板:工程师的技术表达结构化接口

简介:本资源是一份专为科技类汇报、AI主题演讲及数字化办公场景设计的高质量PPT模板,面向产品经理、技术讲师、高校师生及企业培训师等需高频制作专业演示文稿的用户,有效解决科技风视觉统一性弱、AI主题素材匮乏、内容排版效率低等痛点。压缩…

2026/10/17 13:48:47 阅读更多 →
上下文工程:比提示词工程更重要的事

上下文工程:比提示词工程更重要的事

个人主页&#xff1a;> for_ever_love__ <&#xff08;欢迎各位大佬莅临&#x1f60a;&#xff09; 其他栏目: > 大模型开发从0到1 < 其他栏目: > iOS项目总结大全 < 其他栏目: > 我想学python了 < 其他栏目: > iOS UI < 文章目录上下文工程&…

2026/10/17 13:48:47 阅读更多 →
Linux权限类项目

Linux权限类项目

项目一 在opt目录下创建嵌入式目录&#xff0c;用于安装嵌入式框架。所有者为嵌入式部门的领导张总&#xff0c;所属组为嵌入式部门&#xff0c;张总有全部的权限&#xff0c;部门其他开发有读和执行的权限&#xff0c;其他人只有读的权限。 1.创建张总账号 密码123456 赋予sud…

2026/10/17 13:48:47 阅读更多 →

最新新闻

STM32F103裸机PWM精准输出包:寄存器级1kHz/75%占空比实测<0.3%误差

STM32F103裸机PWM精准输出包:寄存器级1kHz/75%占空比实测<0.3%误差

简介&#xff1a;本资源是一个基于STM32F1系列的双极性SPWM波形生成与控制工程代码包&#xff0c;面向电力电子、嵌入式开发及电机驱动方向的初学者与进阶工程师&#xff0c;解决逆变器系统中高精度正弦波调制信号生成与滤波频率可调的实际问题。压缩包共142个文件&#xff0c;…

2026/10/17 14:41:25 阅读更多 →
Java数据结构与算法分析:递归、大O与链表习题答案精讲

Java数据结构与算法分析:递归、大O与链表习题答案精讲

简介&#xff1a;《数据结构与算法分析&#xff08;Java语言描述&#xff09;》第三版习题答案文档&#xff0c;面向正在学习数据结构与算法、需要核对解题思路的Java开发者及计算机专业学生。内容聚焦教材前几章的经典题目&#xff0c;涵盖递归程序设计、数学归纳法证明、文件…

2026/10/17 14:41:25 阅读更多 →
PyTorch入门实战:从张量与自动求导到CNN图像分类

PyTorch入门实战:从张量与自动求导到CNN图像分类

1. 入门之前&#xff0c;先理解PyTorch的设计思路与核心概念 1.1 为什么大家现在都在用PyTorch PyTorch入门这个话题&#xff0c;我在不同场合聊过很多次。带过的朋友里有刚接触编程的大三学生&#xff0c;也有从其他框架转过来的后端工程师&#xff0c;大家问的第一个问题往往…

2026/10/17 14:41:25 阅读更多 →
Hive动态分区为何必须Shuffle?原理与调优实战

Hive动态分区为何必须Shuffle?原理与调优实战

1. 项目概述&#xff1a;为什么动态分区在 Hive 里既香又烫手&#xff1f;“Hive 优化动态分区实现 开启reduce 需要shuffle”——这个标题不是一句技术口号&#xff0c;而是某天凌晨三点我盯着 YARN UI 上卡在 99% 的 MapReduce 任务时&#xff0c;一边灌着第三杯冷咖啡、一边…

2026/10/17 14:41:25 阅读更多 →
SQL Server 游标循环与 FOR 循环实战:TaoToken 统一 Key 下的调试与验证

SQL Server 游标循环与 FOR 循环实战: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 14:41:25 阅读更多 →
具身智能进阶开发:从感知到控制的完整技术链路与工程实践

具身智能进阶开发:从感知到控制的完整技术链路与工程实践

做具身智能这几年&#xff0c;我最大的感受是&#xff1a;这个方向不缺热度&#xff0c;缺的是能把系统跑通的人。很多人一上来就追大模型、追VLA&#xff0c;结果连ROS2的坐标变换都没搞明白&#xff0c;仿真环境里物体抓得稳稳的&#xff0c;一上真机就到处乱撞。我之前在团队…

2026/10/17 14:40:24 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

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

周新闻

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

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

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

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

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

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

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

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

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