基于AI Agent的需求规范化闭环:从流程内建到智能协作
1. 从“事后补票”到“流程内建”为什么我们需要需求规范化的闭环在任何一个软件研发团队里需求管理都像是一场永无止境的拉锯战。产品经理带着一个“绝妙”的想法冲进会议室开发团队听完后眉头紧锁测试同学则开始默默计算加班时长。这种场景的核心矛盾往往不是创意本身而是需求的“规范性”。我们经历过太多这样的时刻一个需求在评审会上看似清晰进入开发后才发现边界模糊、逻辑缺失或者开发完成了测试才发现验收标准从未对齐大家各执一词。更糟糕的是当项目临近上线合规、安全、性能等非功能性要求才被想起开发团队不得不紧急“打补丁”代码质量、项目进度和团队士气都遭受重创。这就是典型的“事后补票”模式——规范与合规性检查被放在了流程的末端成为一种被动的、补救式的活动。它消耗巨大效果却差强人意。而“内建于流程”的理念则是要将规范、合规、质量等要求从流程的“检查点”转变为流程本身的“固有属性”。这就像在建造一座大桥时将安全标准和材料规范融入每一道工序的设计中而不是等桥快建完了再派一个检查组来逐一测量。那么如何实现这种“内建”近年来随着AI Agent技术的成熟我们看到了一个新的可能性将规范检查的智能体Agent嵌入到需求流转的每一个关键节点让机器成为流程中不知疲倦的“守门人”和“协作者”。这不是要取代人的判断而是通过自动化、智能化的手段将人为疏忽和流程漏洞降到最低让团队能将更多精力聚焦于创造性的价值交付上。接下来我将结合实践拆解如何构建这样一个基于Agent的需求规范化闭环体系。2. 需求规范化闭环的核心架构与Agent角色定义构建一个有效的闭环首先需要一个清晰的架构。这个架构不是简单的工具堆砌而是对需求从诞生到交付全链路的重新审视和设计。其核心目标是在需求信息产生和流转的每一个环节自动注入规范检查与引导确保“垃圾”需求不进站“带病”需求不流转。2.1 闭环流程的四阶段模型一个完整的需求规范化闭环可以抽象为四个相互衔接的阶段输入与结构化阶段这是需求的源头。传统上需求可能来源于一封邮件、一段聊天记录或一个模糊的会议结论。在此阶段我们的目标是利用Agent将非结构化的自然语言描述自动转化为结构化的需求条目。例如一个Agent可以监听特定的协作工具频道当识别到“我们需要一个用户登录时发送欢迎推送的功能”这样的句子时自动触发并引导发起者填写一个结构化的需求模板包括用户故事As a... I want... So that...、业务价值、初步验收条件等。分析与增强阶段结构化后的需求进入分析流水线。在这里多个专项Agent并行工作对需求进行“增强”。合规性Agent扫描需求描述中是否涉及敏感数据如个人身份信息、支付信息、特定业务法规关键词并自动关联内部合规知识库给出初步的风险提示和必须遵循的条款。技术可行性Agent基于历史项目数据和系统架构图初步评估该需求可能影响的模块、技术栈复杂度并提示可能需要提前沟通的架构师或资深开发。非功能性需求NFRAgent这是一个关键且常被忽略的环节。Agent会根据需求类型如“登录”、“支付”、“报表导出”自动建议需要考量的非功能性要求例如“此功能涉及用户认证建议明确并发登录性能指标如支持每秒1000次登录请求和安全审计要求如记录登录IP、时间、设备。”协作与确认阶段经过增强的需求卡片会被自动路由到相关的角色产品、开发、测试、运维工作台。Agent在此阶段扮演“会议助理”的角色。例如在需求评审会前自动生成评审清单高亮显示合规提示、技术影响域和待确认的NFR项。在评审过程中Agent可以实时记录会议决议并自动更新需求卡片的状态和字段。验证与反馈闭环阶段需求进入开发后闭环并未结束。当开发人员提交代码时CI/CD流水线中的Agent会检查本次提交是否关联了规范化的需求条目如Jira Issue ID或需求ID。更重要的是测试用例的编写也可以被引导——测试Agent可以根据已确认的需求验收条件AC自动生成基础测试场景的骨架测试人员在此基础上补充异常流和边界条件。最终需求的上线与线上监控指标也可以关联形成“需求-代码-测试-监控”的可追溯链条。2.2 关键Agent的能力定义与协同在这个体系中Agent不是单一巨无霸而是一组分工明确的“数字员工”。需求采集Agent职责是降低输入门槛提高结构化率。它需要具备较强的自然语言理解NLU能力能识别意图并通过友好的对话式交互如Slack Bot、钉钉机器人引导用户补全信息。它的成功不在于全自动而在于将用户花费的精力从“回忆模板该填什么”转移到“思考需求本身是什么”。规则引擎Agent这是体系的大脑。它内置了团队沉淀的所有规范化规则库包括合规规则库数据隐私法、行业安全规范、架构约束库哪些服务不允许直接读写数据库、代码规范库命名约定、日志格式、NFR检查清单不同类型需求对应的性能、安全、可用性指标。该Agent以服务形式存在供其他Agent调用提供实时规则校验。上下文感知Agent这是让系统变得“智能”而非“僵化”的关键。它能够理解当前需求所处的上下文。例如对于一个“紧急热修复”需求它可以自动调整规则执行的严格度暂时绕过某些需要长时间评审的环节但会强制记录豁免原因并标记为事后必须补全。它知道当前迭代的目标、团队的工作负载甚至能识别需求的优先级从而动态调整流程的卡点。注意Agent的引入不是为了增加流程的复杂性而是为了管理复杂性。设计时必须坚持“引导优于阻塞辅助优于替代”的原则。当一个需求被Agent标记为“有问题”时它应该提供清晰的修改建议、规则依据和相关文档链接而不是简单地打回。3. 实践落地工具链选型与集成策略理论很美好但落地需要具体的工具和扎实的集成工作。完全从零开始构建一套Agent体系成本极高更现实的路径是基于现有工具链进行“智能化”增强。3.1 核心工具平台的选择你需要一个中心化的需求管理平台作为“单一事实来源”。Jira、Azure DevOps、Tapd、PingCode等都是成熟的选择。选型的关键不在于工具本身多强大而在于其开放API的丰富程度和生态集成能力。这是所有Agent能够“嵌入”流程的基础。需求管理平台以Jira为例它提供了完善的REST API、Webhook事件机制以及丰富的插件市场如ScriptRunner允许自定义自动化脚本。我们的Agent可以通过监听Jira的issue_created,issue_updated等事件来触发后续动作。协作与通信平台如Slack、钉钉、飞书。这些平台是Agent与用户交互的主要界面。它们的机器人API允许我们发送富文本消息、交互式组件按钮、下拉菜单从而构建出流畅的对话式体验。CI/CD与代码托管平台如GitLab CI、Jenkins、GitHub Actions。这些平台的Pipeline能力可以集成自定义的检查步骤。例如在Merge Request阶段可以调用一个“需求关联性检查Agent”确保代码变更关联了有效的、状态正确的Jira Issue。3.2 Agent的实现技术栈与集成模式Agent本身的技术实现可以很灵活核心是“事件驱动”和“API调用”。轻量级Agent规则检查型对于简单的规则校验如“需求标题必须包含模块前缀”、“描述中必须包含‘预期结果’”可以直接使用需求管理平台的自定义工作流或插件实现。例如在Jira中使用ScriptRunner编写Groovy脚本在问题创建时校验字段不满足规则则阻止创建并提示。这种方式开发快但逻辑复杂度和维护成本会随着规则增多而急剧上升。服务化Agent智能分析型对于需要NLP、知识库查询等复杂能力的Agent如合规性分析、NFR建议则需要独立部署为微服务。技术栈上Python FastAPI/Flask是常见选择便于快速集成机器学习库如spaCy、Transformers用于文本分类和实体识别。服务通过监听消息队列如RabbitMQ、Kafka中的平台事件来触发处理完成后再通过API回调更新需求平台或发送消息到协作工具。一个简单的集成示例 当Jira中创建一个新需求时会触发一个Webhook将事件数据发送到你部署的“需求增强Agent服务”。该服务执行以下逻辑# 伪代码示例 def enhance_issue(issue_data): # 1. 提取需求描述文本 description issue_data[fields][description] # 2. 调用合规性分析子模块 compliance_risks compliance_agent.analyze(description) # 3. 调用NFR建议子模块 nfr_suggestions nfr_agent.suggest(description, issue_data[fields][issuetype][name]) # 4. 将分析结果写回Jira Issue的特定自定义字段或创建子任务 jira_client.update_issue(issue_data[key], { fields: { customfield_10010: compliance_risks, # 合规风险字段 customfield_10011: nfr_suggestions # NFR建议字段 } }) # 5. 如果发现高风险项自动发送Slack通知给产品负责人 if compliance_risks.get(level) HIGH: slack_client.send_message(channel#product-team, textf⚠️ 新需求 {issue_data[key]} 识别到高风险合规项请立即查看。)低代码/自动化平台对于想快速试点的团队也可以利用Zapier、Make原Integromat或飞书/钉钉的开放平台连接器。这些平台可以通过图形化配置实现“当Jira创建卡片时自动解析文本并发送内容到OpenAI API进行分析再将结果写回卡片”这样的流程。虽然定制性和处理复杂逻辑的能力有限但胜在速度快、门槛低非常适合作为概念验证PoC。4. 从启动到演化分阶段实施路径与避坑指南一口气吃不成胖子构建这样一个闭环体系必须分阶段、小步快跑。盲目追求大而全只会造出一个无人使用的“流程怪兽”。4.1 四阶段实施路线图第一阶段聚焦单点打造“亮眼时刻”1-2个月目标选择一个最痛的点用Agent解决它让团队立刻感受到价值。推荐起点“需求卡片质量检查器”。这是痛点最普遍、价值最直观的环节。实现一个Agent在需求创建或提交评审时自动检查描述是否为空、验收标准AC是否使用列表格式、是否关联了设计稿链接、标题是否遵循[模块] 功能简述的规范。实施利用Jira工作流验证器或一个简单的后端服务实现。规则要少而精3-5条提示信息要友好。例如不满足时阻止状态流转并提示“为了让开发同学更清晰理解您的需求请补充至少3条具体的验收标准AC格式如- 给定XX条件当XX操作则XX结果。”成功标志产品经理开始主动按照提示修改需求并反馈“这个提醒很有用”。第二阶段横向扩展连接关键角色2-3个月目标将Agent的能力扩展到影响其他角色建立初步协作闭环。行动开发侧在Git平台配置合并请求MR检查要求提交信息必须关联Jira Issue Key否则无法合并。这能强制建立代码与需求的追溯关系。测试侧实现一个“测试用例生成助手”。当需求状态变为“待测试”时Agent自动读取已确认的AC在测试管理工具如TestRail中创建一个测试套件和基础测试用例骨架测试人员只需补充和细化。产品侧引入轻量级的“NFR提示Agent”。基于需求类型关键词如“导出”、“批量”、“实时”自动评论“检测到本需求可能涉及大量数据处理建议明确1. 数据量级如单次导出不超过10万行2. 超时时间3. 失败处理机制。”成功标志开发、测试同学开始主动使用或依赖这些自动化产出物跨角色协作的摩擦减少。第三阶段纵深挖掘引入智能分析3-6个月目标引入更复杂的AI能力提升规范的深度和前瞻性。行动合规性深度扫描训练或微调一个文本分类模型用于识别需求描述中可能涉及的个人信息PII、金融数据等敏感内容并自动关联内部合规条款库给出具体合规要求引用。影响面分析将Agent与系统架构图数据库或服务依赖图谱集成。当需求中提到某个服务或功能时Agent能自动分析并列出可能受影响的上游和下游系统提前预警风险。历史相似需求推荐利用向量数据库实现语义搜索。当产品经理编写新需求时Agent可以推荐历史上类似的需求及其实现方案、遇到的问题避免重复踩坑。成功标志能够提前发现并规避一些以往在开发后期甚至上线后才暴露的深层风险。第四阶段闭环反馈与持续优化持续进行目标让系统具备自我演进的能力。行动建立反馈机制在每个Agent的交互界面提供“这条建议是否有用”的反馈按钮。收集数据持续优化规则和模型。度量与可视化建立仪表盘跟踪关键指标如需求首次评审通过率、因规范问题导致的返工率、从需求到上线的平均周期时间Lead Time。用数据证明闭环的价值。规则库的民主化维护将规则库开放给团队建立轻量的规则提议和评审流程。让一线同学也能贡献他们发现的“好规范”使体系真正成为团队共同的资产。4.2 实施过程中必须避开的“坑”过度设计追求完美一开始就试图制定成百上千条规则或者追求100%的自动化。这会导致系统极其复杂难以维护且引发团队抵触。务必从最简单的、最痛的1-2条规则开始。缺乏沟通强行推行将Agent系统视为管理监控工具自上而下强制推行。这必然失败。必须将Agent定位为“助手”在引入每项新检查或功能时充分与相关角色产品、开发、测试沟通解释其价值甚至邀请他们参与规则设计。忽视用户体验UXAgent的交互体验至关重要。如果提示信息是生硬的技术术语或简单的“校验失败”用户会感到沮丧。所有提示都必须** actionable**可操作的告诉用户“具体哪里不对”以及“应该怎么改”最好能提供修改的快捷方式或模板。与现有流程脱节Agent系统不能成为一个独立的“孤岛”。它必须深度嵌入团队现有的工具链Jira、Git、CI/CD、IM和日常工作习惯中。触发、交互、反馈都应在用户熟悉的界面里无缝完成而不是要求用户登录另一个新系统。忽视维护成本规则和模型不是一劳永逸的。业务在变技术栈在变规范也需要演进。必须从一开始就规划好维护机制明确责任人如技术委员会、架构师团队定期回顾和更新规则库否则系统很快就会过时甚至成为阻碍。5. 价值衡量与团队文化重塑投入资源构建这样一个体系最终需要回答“值不值”的问题。其价值不能仅用“效率提升百分比”来衡量它更是一种对团队工程文化和交付质量的系统性投资。5.1 可量化的收益指标尽管文化转变难以量化但我们仍可以追踪一些关键指标来证明其有效性需求前置时间Requirement Lead Time从需求提出到具备开发就绪条件的平均时间。规范化闭环通过减少模糊、返工和重复沟通目标是显著缩短这个时间。缺陷逃逸率Defect Escape Rate在需求/设计阶段引入的缺陷有多少逃逸到了开发甚至生产环境。一个有效的合规与NFR检查Agent能在最早阶段捕获大量潜在缺陷。评审会议效率测量需求评审会议的时长和次数。由于会前Agent已完成了基础的结构化和问题标注评审会议可以更聚焦于业务逻辑和核心设计决策而非纠正格式错误。合规与安全事件数由于合规要求被内建于流程源头因疏忽导致的数据泄露、违规操作等生产事件数量应趋于下降。5.2 更深层的文化影响比数字更重要的是这套实践如何重塑团队的工作方式从“人治”到“法治”规范不再依赖于某个资深成员的个人记忆或临时强调而是变成了流程中客观、一致的标准。新成员 onboarding 时通过与Agent的交互就能快速了解团队的质量要求。提升集体所有权当规则库由团队共同维护时每个人都是规范的制定者和受益者。这促进了质量内建Quality Built-in的文化而非事后质检Quality Inspection。释放创造性精力将团队从繁琐、重复的格式检查和低级错误排查中解放出来让他们能更专注于解决复杂的业务问题和技术创新。产品经理可以更深入地思考用户价值工程师可以更专注于架构设计和代码质量。构建组织知识资产沉淀在Agent规则库和模型中的是团队多年来踩过的坑、总结的最佳实践。这套体系成为了团队可传承、可演进的核心数字资产即使人员流动知识也不会流失。在我所经历的实践中最大的感触不是技术上的挑战而是改变团队心智模式的挑战。最初工程师们会抱怨“流程变复杂了”产品经理会觉得“被机器限制了”。但当我们坚持从一个小痛点切入快速展现出价值比如让产品经理看到因为描述清晰开发一次性理解需求评审会时间减半阻力就会逐渐转化为动力。最终这个基于Agent的规范化闭环会从一个“被管理的流程”演变为团队工作中一种“自然的、默认的”工作方式。它不再是一个外挂的系统而是团队交付高质量软件产品内在能力的一部分。

相关新闻

MindWare – AI人工智能WordPress主题介绍

MindWare – AI人工智能WordPress主题介绍

Mindware是一个WordPress主题,最适合与人工神经网络相关的网站和初创公司:游戏、人工智能艺术生成器、机器学习、ChatGPT、OpenAI、人工智能引擎、DALLE、Midjourney、稳定扩散等。此外,该主题最适合当代营销工作室和创意机构、人工智能聊天机…

2026/10/20 14:25:15 阅读更多 →
day10-ArrayList

day10-ArrayList

集合和数组对比:集合:长度可变,自动扩容;数组:长度固定集合:存引用数据类型(要存基本数据类型的话,要变成对应的包装类);数组:可以存基本数据类型…

2026/10/20 10:30:57 阅读更多 →
找到论文还不够,Citation Graph 才是科研 Agent 的工作流层

找到论文还不够,Citation Graph 才是科研 Agent 的工作流层

导语 这两周,Agent 讨论的重点已经不只是“能不能搜到资料”,而是“能不能把一条证据继续扩成一条研究路径”。对科研 Agent 来说,找到一篇论文、命中一段 chunk 都只是入口;真正决定它能不能做综述、补 related works、扩 citat…

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

最新新闻

遥感目标检测新范式:YOLO+DeepSeek实现从检测到结论

遥感目标检测新范式:YOLO+DeepSeek实现从检测到结论

做遥感图像处理的同行应该都有这个体会:模型跑完一张场景图,输出一堆检测框,框上标着“舰船”“车辆”“储油罐”,看起来是那么回事,但业务方拿到结果后还会追着问——这块区域目标密度为什么这么高、有什么聚集规律、…

2026/10/20 21:38:32 阅读更多 →
H3C策略路由(PBR)实验:源地址分流与多下一跳主备切换详解

H3C策略路由(PBR)实验:源地址分流与多下一跳主备切换详解

前阵子我搭了一套 H3C 策略路由(PBR)实验环境,把基于源地址分流、多下一跳备份这两件事完整跑了一遍。做完之后最大的感受是:PBR 的配置命令量不大,真正的难点在于“什么场景该用它”和“怎么证明报文真的按你的想法走…

2026/10/20 21:38:32 阅读更多 →
多模态AI模型实战:对齐、训练、部署与行业落地

多模态AI模型实战:对齐、训练、部署与行业落地

先讲一个最近的场景。一个做仓储系统的朋友拿着一张监控截图来问我,说想把“某个角落堆了几箱货,其中两箱外包装有明显压痕”这种信息自动提取出来。他之前用图像分类模型,能区分纸箱、托盘,但输出只有标签,没有办法把…

2026/10/20 21:38:32 阅读更多 →
Python调度MiniMax AI + FFmpeg:批量视频生成自动化管线全解析

Python调度MiniMax AI + FFmpeg:批量视频生成自动化管线全解析

如果你批量排版过短视频、帮团队产出过一批素材,应该对下面这套流程特别熟:打开网页、输入提示词、点生成、盯着进度条、下载成品、改文件名、再丢进剪辑软件里转一圈。一次两次还能忍,几十条素材下来,就是纯粹的体力活。更别提改…

2026/10/20 21:38:32 阅读更多 →
AIGC检测在中文教育中的实战:验真哨兵如何识别AI代写?

AIGC检测在中文教育中的实战:验真哨兵如何识别AI代写?

1. 当"借鉴"变成"生成":中文教育面对的AIGC新考题1.1 从查重平台到AI验真,教学出口环节发生了什么前几年教师手里的核心工具还是查重软件,盯的是"借鉴比例"。今年整个问题的坐标系变了:比"借鉴…

2026/10/20 21:38:32 阅读更多 →
房间冲激响应模拟源码:镜像源法生成RIR与数据增强实战

房间冲激响应模拟源码:镜像源法生成RIR与数据增强实战

简介:这份资源提供房间声学冲激响应(RIR)模拟生成的完整实现源码,面向从事声学信号处理、语音增强、房间建模与麦克风阵列研究的学生和工程师。核心采用 Allen 与 Berkley 于 1979 年提出的镜像声源(image)…

2026/10/20 21:37:28 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

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

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

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

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

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

2026/10/20 1:01:30 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 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/20 10:02:08 阅读更多 →
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/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练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/20 9:50:45 阅读更多 →