Claude Code 模板体系实战:从项目规则到自动化脚本
我最初接触 Claude Code 的时候跟大多数人一样直接扔给它一个需求就开始对话。结果呢同一个任务今天写出来的代码风格和明天完全不同换个项目目录它好像把之前的东西全忘了团队里每个人提交的代码质量参差不齐看得我头大。后来我把一套整理好的模板体系塞进去这些问题才真正被按住。这篇文章就聊聊我在折腾 claude-code-templates 过程中的完整思路、具体配置和踩坑记录。1. 先搞懂 Claude Code 模板到底是个什么东西1.1 模板解决的三个核心痛点你可能会问Claude Code 不是本身就有很强的能力吗为什么还要模板这个问题我在实际用了一个月之后才彻底想明白。模板不是给 AI 补智商的而是给它定规矩、划边界、建共识的。第一没有模板的时候AI 的行为是不可预测的。上午让它写 API 接口它会按照你的随口指示来下午再开一个 session它可能就换了一套“想法”。哪怕你把需求描述得再详细它还是会在代码风格、错误处理方式、注释习惯这些细节上漂移。模板里的系统提示词和项目规则就是把这些“潜规则”显式固定下来。第二跨项目协作的时候模板是唯一的“共同语言”。团队里十个人用同一个工具如果没有统一约定每个人给 AI 的指令习惯都不一样产出的质量方差极大。模板就像团队的新人培训手册把代码规范、提交信息格式、测试要求全部写进去AI 无论服务哪个成员输出基线都是一致的。第三多步骤任务的工程化。真正的编程不是一句“帮我写个登录功能”就完事的它涉及需求分析、方案评审、代码实现、测试验证、文档输出等多个阶段。模板可以把这些阶段固化成流水线让 AI 严格按照流程推进而不是东一榔头西一棒槌。1.2 模板体系的基础构成一套完整的 claude-code-templates 通常包含几个层面的内容系统消息System Prompt、项目规则文件Claude.md 或类似命名、命令别名配置以及若干针对特定任务的子模板。系统消息是最顶层的东西它定义了 AI 的“人格设定”——你是谁、你擅长什么、你输出东西时遵循什么原则。这一层对所有项目通用属于“世界观”级别的配置。项目规则文件则是“局部规则”放在具体项目根目录下用来覆盖这个项目特有的技术栈、目录结构、代码约定。AI 每次进入这个项目都会自动读取它相当于给它戴上了一副“行业眼镜”。子模板解决的是“单点任务”的高效执行问题。比如你经常要写单元测试那就准备一个专门的测试生成模板经常要做代码审查就做一个审查清单模板。这些子模板可以随用随调不需要每次把完整需求重新敲一遍。我在实际配置中体会到这三层是递进关系系统消息管住大方向项目规则管住具体细节子模板管住单个任务的执行路径。缺一层都会出问题——没有系统消息AI 容易在风格上跑偏没有项目规则AI 会在技术上瞎猜没有子模板很多重复劳动省不下来。2. 模板文件结构与配置拆解2.1 CLAUDE.md 的编写思路在 Claude Code 的使用场景里项目规则文件是模板体系的核心载体。它的命名在不同版本里可能略有差异但本质上都是 Markdown 格式的纯文本文件放在项目根目录即可。编写这份文件的第一个原则是具体具体再具体。不要写“请写出高质量的代码”这种废话AI 无法对这个描述产生可执行的判断标准。我通常会这样写# 项目规则 ## 技术栈 - 后端Python 3.11 FastAPI - 数据库PostgreSQL 15使用 SQLAlchemy 2.x 作为 ORM - API 风格RESTful响应包统一封装为 { code, message, data } 格式 ## 代码风格 - 所有函数必须带完整的 type hints包括返回类型 - 异常处理统一使用自定义 BusinessException禁止裸抛 Worker 异常 - 日志必须使用 logging 模块禁止使用 print ## 目录结构 - app/api/ 放路由层代码 - app/service/ 放业务逻辑层代码 - app/models/ 放 ORM 模型 - tests/ 放单元测试命名以 test_ 开头为什么要这么抠细节因为 AI 对模糊指令的“自我发挥欲望”非常强烈。它会美化代码结构会自己发明错误处理方式甚至会把你的架构都改掉。项目规则越具体它的发挥空间就越小产出就越可控。第二个原则是规则要分优先级。Claude Code 的上下文窗口有限不能把所有规则都塞进去。我个人会按三个层级组织信息硬性规范技术栈、命名规范、安全约束放在最前面项目背景信息模块划分、数据流方向放在中间可选的参考信息相关链接、历史决策记录放在末尾。这样 AI 在窗口收缩时会优先保留重要内容不至于把约束信息丢掉。2.2 系统提示词与上下文注入技巧系统提示词是容易被忽视但又极其重要的一环因为它的描述决定了 AI 的“思维方式”而不仅仅是行为规范。我见过不少人把系统提示词写得跟命令行帮助手册一样枯燥结果 AI 输出的内容干巴巴的。我自己的写法是给 AI 一个“角色剧本”比如你是一名拥有十余年经验的全栈工程师擅长从业务角度思考技术方案。 在回答任何问题前你都会先分析需求的背景、约束条件和潜在风险 再给出具体建议。你习惯用简洁直接的语言描述技术方案不使用多余的修饰词。 你的代码风格偏向务实优先保证可维护性和可测试性不过度设计。这段文字看起来没什么技术含量但它在给 AI 建立“思维模型”。当你希望 AI 输出代码附带充分思考而不是直接甩给你一堆代码块时这样的角色设定比千篇一律的“你是编程助手”管用得多。上下文注入方面我常用的做法是维护一份“会话开场白模板”。每次开始新任务时按固定格式粘贴到对话里现在开始新任务。项目背景参考 CLAUDE.md 中的说明。 本次任务目标实现用户注册接口包含邮箱验证码发送逻辑。 约束条件接口需要在 100ms 内响应异常情况要记录日志并返回友好提示。 完成标准通过全部单元测试并提供接口调用文档。这段开场白模板的价值在于它把 AI 需要关心的四个核心维度固定下来了目标、约束、完成标准、产出格式。很多对话失控的本质原因就是这些关键信息在会话中逐步丢失AI 开始自己脑补需求。2.3 工具与权限配置的要点除了提示词和规则文件Claude Code 还提供了丰富的工具调用能力包括文件读写、命令执行、代码搜索等。模板也需要规范这些工具的边界否则 AI 可能越权执行危险命令或者反复读不该读的大文件浪费上下文窗口。我在配置工具权限时遵循一条核心原则最小可用权限。凡是 AI 在任务中不需要读的文件就明确告诉它不要碰凡是它可能执行的命令就用白名单方式限定。比如# 工具使用守则 - 禁止读取 .env 和任何含敏感信息的配置文件 - 禁止执行 git push 操作所有提交需要人工复核 - 文件搜索范围限制在 src/ 和 tests/ 目录内 - 运行测试命令时统一使用 pytest -x 保证失败即停这套守则看起来有点“限制 AI 的工作自由”但实际效果反而更好。权限范围清晰之后AI 不用浪费时间反复确认“我能不能做这个”它的行动效率会更高出错概率也更低。3. 实操从零搭建一套工程级模板3.1 先给模板定一个清晰的“人设”搭建模板体系不能从写规则文件开始先从“人设”开始。你得先想清楚你希望这个 AI 助手在项目里扮演什么角色。这里说的“角色”不是“前端专家”“后端程序员”这种工种划分而是它在项目生命周期中的职能定位。我目前维护的这套模板给 AI 设定的角色有三个层次第一层是“代码实现者”。它负责把需求转化为具体代码专注于功能逻辑的正确实现不越权讨论产品定位、商业策略。这一层是默认工作模式。第二层是“技术顾问”。当我需要它提供方案建议、代码审查、架构分析时它会切换到这个模式站在全局视角评价技术选型和代码质量而不是被动接受命令。第三层是“项目助手”。它替我做各种自动化任务比如整理变更日志、生成测试报告、批量重命名、扫描遗留垃圾代码。这些任务技术含量不高但重复性强交给它非常划算。三种角色默认状态下的侧重不同但都基于同一套规则文件。我通过不同的命令前缀来切换角色比如implement:开头走实现模式review:开头走顾问模式chore:开头走助手模式。这个做法的好处是作用方式非常直观任何人拿到这套模板都能快速上手。3.2 项目上下文的最佳组织方式Claude Code 的本质是一个上下文处理引擎它能把看到的信息融入回答和操作。所以模板里组织上下文的方式直接决定它的“家务活”干得有多利索。我最开始的模板非常臃肿恨不得把所有项目信息全部写进规则文件结果 AI 因为上下文太满经常漏掉关键指令。后来我把上下文分成了静态和动态两个部分。静态上下文是那些长期不变的信息放在 CLAUDE.md 中包括技术栈、目录结构、代码规范、API 约定。这部分信息 AI 会定期自动加载不需要你每次对话重新粘贴。动态上下文则是每次任务开始时候的临时信息比如本次要改哪段代码、要新增什么接口、有没有特殊部署要求。这部分信息通过任务开头模板传入而不是写进规则文件。我甚至会维护一个“项目状态文件”它用简洁的格式记录项目当前进展比如正在开发的模块、已完成的接口列表、遗留的技术债。每次开始新任务之前AI 会先读这个文件获取全局视角。实际使用下来这个文件对减少“AI 忘了我们之前在干嘛”的挫败感非常有帮助。3.3 命令与自动化脚本的封装模板体系跑到中后期个人感觉最有价值、也最花时间打磨的部分其实是一组精壮的自动化脚本和命令封装。我的做法是把一些高频操作封装成子命令比如# 辅助脚本生成新模块骨架 claude-code --prompt 根据 templates/module_template.md 生成新的支付模块 # 辅助脚本执行代码审查 claude-code --prompt 审查 downloads 目录下未提交的代码变更 # 辅助脚本生成测试数据 claude-code --prompt 为订单接口生成覆盖边界条件的测试用例这些脚本对应的模板文件分别维护比如module_template.md里就包含了创建新模块的完整步骤先分析现有模块结构再创建目录然后写模型、路由、服务最后补充测试并更新路由注册表。封装脚本的一个关键点是不要试图让 AI 一步到位完成所有操作。我最初设计的模板要求 AI 一次性创建完整的支付模块结果它交互式地反复确认依赖版本、目录命名细节进展非常缓慢。后来我在模板里明确要求“按阶段执行每个阶段完成后停下来汇报进展”效率反而大幅提升。4. 不同类型模板的实战案例4.1 全栈项目开发模板针对全栈项目需要有一份能指导 AI 从 0 到 1 搭建项目骨架的模板。这不是简单地把几个框架拼起来就行了而是要求 AI 遵循一套成熟的工程实现路径避免各种选择困难症。我的全栈模板规定了这几个固定阶段基础设施准备、后端 API 实现、前端页面搭建、联调与测试。每个阶段在模板里有更细的子步骤和验收标准。比如后端阶段模板要求 AI 先定义数据库模型再根据模型反向推导 API 设计。这个顺序很多人不注意但实际上模型设计定了API 的设计空间就没那么大了后续调整更可控。前端阶段模板会明确要求 AI 遵循项目既定的 UI 组件库和状态管理方案不能新引入一堆没必要的依赖。我之前见过 AI 自作主张给 React 项目引入状态管理库把项目搞得复杂无比模板里加上这个约束之后就好多了。4.2 代码审查与重构模板代码审查模板是我日常工作里使用频率最高的一套因为它能帮我在很短时间内完成一次相对全面的“第二双眼睛”检查。审查模板的核心是一份结构化的检查清单而不是让 AI 自由发挥“看看这段代码有没有问题”。我整理的清单包括逻辑正确性、边界条件覆盖、错误处理合理性、性能隐患、可读性与命名规范、安全隐患、测试充分性。实际使用过程中我发现 AI 在“找性能隐患”这一点上表现很出乎意料。给它完整的数据流和调用链路之后它能指出哪些地方做了无效的重复查询哪些循环可以提前退出。但也别指望它完全替代人类审查AI 对业务语义的理解还是存在明显短板。重构模板则更偏流程化。它要求 AI 在动手改代码之前先输出一份重构方案说明改动范围、影响模块、风险点。这份方案经过我确认后它才被允许进入实际编码阶段。这样做最大的好处是避免 AI 在重构时“顺手”改动无关代码把事态搞得不可收拾。4.3 文档与测试生成模板文档和测试是大多数人觉得枯燥、AI 却极其擅长的领域。把这些任务模板化能最大化发挥 Claude Code 的价值。文档模板里我会明确指定输出格式和分类框架。例如API 文档必须包含接口描述、请求参数表、响应示例、错误码说明项目 README 必须包含项目简介、技术栈、快速启动、目录结构、部署说明。模板还要求 AI 在生成文档前先扫描真实代码确保文档与实现一致避免出现“文档说东、代码做西”的尴尬。测试生成模板同样有严格的要求。它规定 AI 生成的测试用例必须覆盖正常路径、异常路径和边界条件三类场景每个测试用例独立命名描述清晰测试代码遵循项目已有的断言风格不引入新的测试框架。这里有一个我踩过的坑值得说一下早期的测试模板让 AI 生成完测试代码就结束但它生成的测试用例经常因为 Mock 方式不对直接失败。后来我在模板里增加了一条规则——“生成完测试代码后必须运行一次测试并且如果失败要主动分析原因并修复”才把测试生成的质量拉上来。AI 写的测试不一定完全正确它需要自我纠错的过程。5. 常见问题与排查技巧实录5.1 模板不生效的排查流程每次有新成员加入团队大概率会遇到同样的问题“我明明把模板放进去了AI 怎么完全不理会规则”按照我的排查经验先检查这几个地方效率最高。先确认规则文件读取路径。Claude Code 读取项目规则文件是限定在根目录和向上级一级的范围内。如果模板文件被放在了一个子目录或者其他层级那就不会被自动加载。再检查是否有更高优先级的规则在“打架”。当你维护多套模板时很可能某个模板里的指示和另一些模板产生了冲突AI 会优先遵循它认为权重更高的那一条。排查时要逐条核对枯燥但确实有必要。最后看一眼对话历史。如果这个问题在同一个 session 里出现AI 可能已经被上下文窗口中的早期指令“带偏”了。直接开新会话往往能解决很多顽固问题。5.2 上下文太长、上下文被挤爆了怎么处理Claude Code 的上下文窗口是有限资源模板体量太大时它的有效工作记忆就会缩短。我遇到过很多次AI 明明之前还记得某个仓库的约定但聊了半小时之后死活不认账了。解决这个问题的思路不是彻底清空模板而是把模板按需加载。我通常把最基础的规则保持在非常精简的状态额外的复杂规范用“按需读取”的方式放进来。比如 AI 只有在处理数据库迁移时才要求它读取数据库规则文件而不是一开始就全部灌输。定期重置会话也是一个值得养成的习惯。我自己每完成一个比较大的功能模块就会把对话上下文精简一下把已完成的信息固化到项目状态文件里然后开一个新会话继续。这让 AI 的工作记忆始终集中在当前任务上。5.3 团队协作时模板的管理如果你是一个人在使用 Claude Code模板怎么玩都行。但团队协作时模板的管理规范比模板本身还重要。第一件要做的事是版本管理。模板不是写一遍就完事的它需要不断迭代。我用单独一个 Git 仓库存放模板文件任何改动都走 merge request 流程让团队成员都能看到变更记录和原因。第二件事是避免“个人风格”太浓。模板是为全组服务的不能让某个人的口头禅或者工具偏好成为团队的“强制标准”。我在模板里只写客观的、可验证的规范比如“无特殊理由一律遵循项目已有的目录结构”不掺入个人的主观偏好。第三件事是建立反馈机制。每个季度收集一次团队成员对模板的反馈看看哪些模板真正高频用到哪些模板形同虚设。根据使用数据做减法比一开始就堆砌大而全的模板要明智得多。我目前在实际使用中最大的体会是模板不是越多越好而是越精准越好。维护一套高质量的模板体系前期投入确实不小但它带来的确定性收益——行为可控、质量稳定、协作顺畅——是任何临时写几句提示词都替代不了的。如果你正在被“AI 输出不稳定”这个问题困扰别急着调参先把自己的模板体系搭起来问题自然就少了一半。

相关新闻

MySQL大版本升级全指南:从项目拆解到回滚检查单

MySQL大版本升级全指南:从项目拆解到回滚检查单

在项目升级排期里看到一个标题写着“MySQL2026_3_11”,我第一反应是这串字符背后装着一整套升级任务,而不是简单的“把版本升到新一点就行”。我理解这三个字段大概是这样的:2026 代表目标维护年度,3_11 是当年第三个迭代里排到的…

2026/10/18 12:12:54 阅读更多 →
数据结构考研真题复盘:从选择题到算法设计的完整解题思路

数据结构考研真题复盘:从选择题到算法设计的完整解题思路

1. 为什么我要动手做一份《数据结构》真题答案2017年那场考试结束之后,我在整理旧资料时翻出了自己当时手写的一份《数据结构》802答案草稿。纸张已经有点发黄,边角还留着当时反复涂改的痕迹。本来只是想拍张照留个纪念,后来想想,…

2026/10/18 10:34:32 阅读更多 →
源荷双重不确定性下微网/虚拟电厂日前随机优化调度MATLAB实现

源荷双重不确定性下微网/虚拟电厂日前随机优化调度MATLAB实现

1. 为什么虚拟电厂/微网调度要逼自己正视"双重不确定性"虚拟电厂和微网这类多能互补系统的运行决策,最磨人的往往不是设备选型或拓扑搭建,而是"明天到底怎么过"。风电出力看气象脸色,光伏曲线被云层牵制,负荷…

2026/10/17 5:18:24 阅读更多 →

最新新闻

Agent Infra全解析:从智能体基础设施到工程实践

Agent Infra全解析:从智能体基础设施到工程实践

前几年聊AI,所有人都在盯着模型的参数规模和榜单分数,一个模型发布,刷屏的是几个基准测试的涨点。但从去年下半年开始,我明显感觉到风向变了。身边做产品的朋友,不再张口闭口“换个大模型”,而是开始问一些…

2026/10/18 12:12:18 阅读更多 →
STM32Cube_FW_F3固件包安装与HAL工程搭建避坑指南

STM32Cube_FW_F3固件包安装与HAL工程搭建避坑指南

简介:STM32Cube_FW_F3_1.11.0.zip是意法半导体为STM32F3系列微控制器推出的官方HAL封装库软件包,面向基于ARM Cortex-M4内核进行嵌入式开发的工程师与学习者,帮助其摆脱底层寄存器操作,通过标准化API快速驱动GPIO、ADC、DAC、UART…

2026/10/18 12:12:18 阅读更多 →
AI全栈开发工程师修炼指南:技术栈、转型路径与实战复盘

AI全栈开发工程师修炼指南:技术栈、转型路径与实战复盘

1. 角色定位与能力模型解读1.1 什么是AI全栈开发工程师AI全栈开发工程师这个概念,近两年被频繁提起,但很多人的理解还停留在“会调大模型接口的前端后端开发者”。我在实际参与过几个完整的AI项目之后,对这个角色的认知有了明显变化&#xff…

2026/10/18 12:12:18 阅读更多 →
GPT-6.1 Sol Ultrafast 实测:推理速度、成本与API接入全解析

GPT-6.1 Sol Ultrafast 实测:推理速度、成本与API接入全解析

最近这一个来月,我一直在跟新的模型版本较劲。GPT-6.1 Sol Ultrafast 上线那天,我刚跑完一组长上下文压测,本以为又是一次常规迭代,仔细看完文档之后才发现这代模型在推理速度和接口设计上做了些很不一样的东西。很多朋友在后台问…

2026/10/18 12:12:18 阅读更多 →
BIO NIO AIO 区别与原理:一篇文章读懂Java网络IO模型

BIO NIO AIO 区别与原理:一篇文章读懂Java网络IO模型

BIO、NIO、AIO这三个词,但凡做Java后端的人应该都见过,面试八股文里的常客,也是很多人在“阻塞、非阻塞、同步、异步”这几个概念里绕来绕去绕不清的地方。我当年刚接触Netty的时候,也在这上面吃过不少亏,后来把系统调…

2026/10/18 12:12:18 阅读更多 →
贝叶斯网络在电力故障诊断中的实战:小样本与可解释推理

贝叶斯网络在电力故障诊断中的实战:小样本与可解释推理

简介:贝叶斯网络是一种以概率图模型表达变量间因果依赖的数学框架,其核心原理是通过有向无环图与条件概率表来描述不确定性关系。在工程实践中,它尤其擅长处理小样本、高不确定性的归因问题——例如电网调度中保护动作、断路器状态与故障类型…

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

日新闻

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

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

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

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

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

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

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

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

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

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

周新闻

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

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

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

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

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

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

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

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

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在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/16 14:23:36 阅读更多 →