从手工搬运到AI生成:测试报告自动化链路完全拆解
周五下午四点项目经理在群里催周报我点开缺陷管理平台、用例管理平台、代码提交历史临时拼凑。当时就意识到一件事如果每积累几个月的经验做这件事的时间成本应该随着熟练度下降但实际上每周仍然要花两小时以上因为数据在新的变化中。用AI生成测试报告把周报月报的取数、归纳、成稿自动串起来是这个场景的解药并且我把整套方案落地在了某真实项目上能把我自己的时间从每周近3小时压到半小时“从此不再加班”对我来说不是标题是我实际感受到的变化。这篇文章把架构拆解、流程搭建、踩坑记录和优化思路都写出来适合被重复报告折磨的测试工程师、测试组长以及想做团队效率工具的开发同事。1. 测试报告为什么总是变成“加班理由”四笔时间账1.1 数据散在四个系统里取数才是最大的时间黑洞我见过很多测试报告的生成过程本质上不是“写”而是“搬运”。用例执行结果通常躺在测试管理平台里Bug列表躺在缺陷管理工具里代码变更和分支信息躺在代码托管平台里环境状态和排期信息又散在群里或者在线文档里。每周五下午我要做的第一件事就是打开四个页面挨个选择时间范围导出Excel再手工把关键字段贴到本地的汇总表里。这个过程很难提速。不是我不熟练而是每个平台都有自己的一套导出格式有的导出是UTF-8编码有的打开就是乱码有的把用例编号放在第一列有的放在第三列有的Bug单包含“复现步骤”那样的大段文本导出之后整个表格的行高乱七八糟。光是清洗这些数据就能花掉40分钟。等我把数据都对齐了真正写报告的时间反而没有剩下多少。后来我统计了一下一份周报的完整周期里“取数清洗”大约占了一半时间。这就是我决定做自动化的第一个切入点如果数据能统一成一份结构化清单后面的一切都好办。1.2 报告不是流水账风险判断才是报告值钱的地方很多人以为写周报就是把用例数目、通过率、缺陷数量填进去。但实际上测试报告的核心价值是“判断”不是“数字”。同样一组数据在懂业务的人眼里会变成“某个模块的用例通过率虽然还是90%但这周新做的权限重构没有覆盖老接口的回归场景风险正在上升”在只会堆数据的人手里就只是“通过率90%”四个字。这种判断很难靠手工完成因为你要把几个系统里的信息放在一起看。缺陷平台里某个功能模块的Bug数突然翻倍不一定代表质量变差可能只是这周刚好把遗留问题批量录入。代码提交历史里看到测试相关的分支频繁合并说明开发在赶工回归范围需要扩大。这些线索散落在数据里靠人盯着看很辛苦稍微漏一条报告就会给人错误的信心。所以我希望自动化方案不只是“把数字搬进模板”还要能把“数字之间的关系”提示出来。这恰恰是大模型类的AI工具擅长的事给它完整的上下文让它找出异常波动、潜在风险用自然语言表达出来。1.3 格式和排版越接近交付状态越耗精神测试报告不是给自己看的数据表而是要给项目经理、产品、甚至客户看的正式文档。这意味着需要格式化呈现标题、表格、图表、风险等级、结论摘要。大多数测试人员不是专业文档工程师光是把一张通过率统计表做成两边对齐、颜色高亮的Markdown表格再做成图片嵌入到文档里来回调整的时间轻松超过半小时。更难受的是周报和月报的格式往往只差几个字段但每次都要重新排一次。如果生成流程能绑定一套固定的模板结构让程序直接输出排版好的Markdown或者再转成Word/HTML真心能省下大量时间。1.4 时间账一封周报到底吃掉了多少小时我给自己做过一个粗略的计时环节平均耗时周报平均耗时月报取数四个平台导出并清洗50分钟90分钟数据分析对比环比、判断风险40分钟90分钟撰写正文与排版30分钟60分钟领导反馈后修改20分钟30分钟合计2小时20分钟3小时30分钟一个测试人员每个月光在报告上就会消耗大半天。如果是测试组长还要收集组员的汇报再汇总时间翻倍。这个账算完我意识到自动化不是“可选项”而是效率工具里最直接的一个杠杆。2. 把报告任务拆成机器能干活的四个零件2.1 第一件事把散落的数据收拢成一张表要做AI生成测试报告第一步不是训练模型而是让“数据进得来”。每个平台都提供导出或接口但格式不统一。我当时的处理方式是写一个清洗脚本把不同来源的导出文件统一转成一份结构化数据一行一条用例记录包含用例ID、模块、执行结果、失败原因一行一条Bug记录包含BugID、模块、严重程度、状态、创建时间、关闭时间一行一条代码提交记录包含提交哈希、提交时间、关联需求、涉及模块。这一步看起来枯燥却是整条链路的基石。模型再好喂给它的数据是乱的输出也是乱的。而且统一结构之后后续的统计逻辑就非常简单了不用每个平台写一套单独的逻辑。字段设计尽量不要拍脑袋要考虑到报告最终需要哪些维度。周报至少要覆盖用例执行总数、通过数、失败数、阻塞数、通过率、新增Bug数、遗留Bug数、Top风险模块、重点风险描述。有了这些字段后面的统计和生成才有底料。2.2 第二件事从表中抽出结构化指标有了统一的数据表接下来要算指标。这部分用普通脚本就能完成不一定要用AI。比如计算本周用例执行总数、通过率统计本周新增Bug数量和按严重级别的分布找出缺陷最密集的模块Top3对比上周的通过率变化。在代码里做统计有一个好处结果可复现不会出现“这次算出来91%下次算出来90.5%”的误差。我直接把统计逻辑写成函数输入数据表输出一组JSON格式的指标对象{ period: 2025-W01, totalCases: 228, passedCases: 205, failedCases: 14, blockedCases: 9, passRate: 0.899, newBugs: 7, criticalBugs: 2, topRiskModules: [权限中心, 订单流程] }这一步的意义是把“事实”和“表达”分开。脚本只负责提供准确的事实AI负责把这些事实组织成通顺、有重点、有判断的文案。AI拿到结构化指标后就不容易乱编数字。2.3 第三件事把指标“翻译”成自然语言这个环节才是AI发挥价值的地方。我使用的是通用大模型的文本生成能力给它设定一个角色告诉它今天是测试组长正在写正式周报给它一份模板告诉它必须遵循哪些小节再给它上面的JSON指标和少量的历史数据作为上下文让它输出完整的报告正文。关键的是不能只丢给AI一个JSON让它“看着办”。因为模型没有业务背景不知道你们项目里“权限中心”是不是高危模块也不知道“订单流程”上周有没有做过重构。所以我会在上下文里加入带有业务背景的说明例如历史趋势系统自动附带近4周的通过率数值。模块变更记录附带本周相关代码提交涉及的模块列表。人工要点备注测试人员在数据里标注的重点发现例如“DR-1023号缺陷复现概率较高前后端定位存在争议”。这个环节遵循的原则是AI负责归纳和润色测试人员只花30秒录入备注其他全部交给自动化。2.4 第四件事按固定格式成稿归档最后一步是输出。我当时把生成结果直接写成一个Markdown文件再通过一个脚本把Markdown转成HTML和PDF。Markdown的好处是通用可以发到在线文档、粘贴到项目管理工具也可以继续转格式。模板是固定的所以发布出来的报告风格统一领导看起来也舒服。归档这件事也顺手做掉了。文件名按“项目名_周报_起始日期_结束日期.md”的规则生成并自动存到指定目录。需要回溯的时候可以搜文件名就能找到任意一期的报告。这一步单独做很不起眼但省去了“翻聊天记录找上周报告”的痛苦。3. 从零搭一条能直接跑的生成链路关键步骤与代码骨架3.1 先定输入边界别把什么都塞给AI做自动化的第一步往往是高估AI的能力低估数据的复杂度。我的建议是先圈出输入边界明确告诉脚本和模型“这个周期的报告只吃这三类输入其他信息不算。”我当时定的输入边界是测试管理平台导出的用例执行记录。缺陷管理平台导出的本周Bug变更记录包含创建、关闭、状态变更。代码提交记录中带有测试相关标签的条目。测试人员在标记文件里写下的重点备注可选项没有就不填。这样设计是有意的。大模型处理的信息量有限如果硬塞给它海量的原始日志它反而会因为上下文过长而丧失重点生成出来的报告要么泛泛而谈要么漏掉关键风险。让脚本先做一轮筛选和聚合比让模型自己去大海捞针要稳定得多。3.2 一份可复用的报告模板字段设计决定了报告的上限模板是整个自动化产物的“骨架”。我用的每周报告模板大致长这样# {项目名称}测试周报{起止日期} ## 1. 本周测试概述 - 执行用例数{totalCases}通过率{passRate} - 新增缺陷{newBugs}其中严重缺陷{criticalBugs} ## 2. 缺陷分析与Top风险模块 - 风险模块排名{topRiskModules} - 重点缺陷描述{关键缺陷列表} ## 3. 风险与阻塞项 - {阻塞原因及影响} - {建议处理事项} ## 4. 下周测试计划 - {下周计划列表}模板设计有一个很容易踩的坑不要把“风险与阻塞项”空着。如果AI不知道该写什么它会自己编一个“没有风险”或者“风险较低”的结论。为了避免这种“确定性谎言”我会在模板下方加一条规则所有没有真实数据支撑的断言必须改成“暂无重点风险项”或“待补充”。这一条规则配合代码里的校验能挡住很多幻觉。3.3 给大模型的上下文怎么组织才能稳定模型输出稳定性的关键不是把模板丢给它而是把“角色说明、任务约束、模板、数据、示例”按固定顺序拼装起来。我使用一套通用的上下文结构角色设定“你是一名有经验的测试负责人负责撰写项目周报。”任务说明“根据下面的数据生成Markdown格式的测试周报严格按照模板输出。”约束条件“不要修改任何数字如果没有某项数据不要补编每个风险点必须对应数据来源。”历史指标近4周通过率趋势。本期结构化数据JSON。测试人员备注如果有。输出格式要求仅输出报告正文不要输出前言或解释文字。这套结构的顺序不能乱。角色和任务放在最前面是为了让模型一开始就进入“写报告”的状态约束条件放在中间是为了在生成过程中持续起作用示例放在最后是为了让模型模仿正确的输出样式。我用这样的组织方式之后格式漂移的情况显著减少了。3.4 用脚本把整条链路串起来整个流程用Python脚本串起来并不复杂。我简化后的骨架长这样import subprocess, json from pathlib import Path def export_from_platforms(): # 调用脚本从测试管理平台、缺陷平台导出原始数据 subprocess.run([python, export_cases.py, --week, 2025-W01]) subprocess.run([python, export_bugs.py, --week, 2025-W01]) subprocess.run([python, export_commits.py, --week, 2025-W01]) def clean_and_aggregate(): # 读取原始Excel/CSV输出统一JSON指标 cases parse_cases(data/cases.csv) bugs parse_bugs(data/bugs.csv) stats compute_stats(cases, bugs) save_json(data/stats.json, stats) def build_report_context(): stats load_json(data/stats.json) trend load_json(data/trend.json) notes load_text(data/notes.md) context assemble_prompt(stats, trend, notes) return context def call_llm(context): # 调用本地或云端模型接口 result llm_generate(context) return result def write_report(result, week_tag): path Path(freports/{week_tag}.md) path.write_text(result, encodingutf-8) # 可选转成HTML/PDF subprocess.run([pandoc, -f, markdown, -t, html, -o, str(path.with_suffix(.html)), str(path)]) if __name__ __main__: export_from_platforms() clean_and_aggregate() context build_report_context() report call_llm(context) write_report(report, 2025-W01)这个脚本的逻辑非常简单导出数据、聚合统计、组装上下文、调用模型、写入文件。真正花时间的不是代码本身而是调模板、调提示词、处理各种数据格式的细节。但一旦跑通每周只要执行一条命令就能得到一份完整的报告草稿。4. 落地过程中绕不开的坑幻觉、格式漂移与上下文超限4.1 模型会“圆整”数字也可能编造不存在的结论我踩过最大的一个坑是AI在输出里把“通过率90.1%”悄悄写成“通过率90%”甚至更过分它会在“风险与阻塞项”里写出一条我根本没有提供的数据来源的结论比如“支付模块存在严重性能隐患”。这种句子看着很像样但实际上是无源之水。解决思路有两层。第一层是提示词约束明确要求“不得修改任何数字不得编造任何未在数据中出现的结论”。第二层是代码校验在输出报告后脚本用正则检查关键数字是否与JSON中的统计结果一致。发现不一致时自动标记出来等人工确认。我们不能指望提示词完全约束住模型必须有校验兜底。4.2 输出格式漂移同一份模板每次生成都有点不一样一开始生成的报告里偶尔会出现模板之外的小标题或者表格列数对不上。最稳妥的办法是给模型一个“填空式模板”。把模板中需要模型填写的部分用占位符明确标出告诉它“除了占位符内部的内容不要添加新的小节”。除此之外我会在提示词末尾附加一个零样本的“标准输出示例”让模型看一遍完整例子再生成。实测下来这比单纯用文字约束有效得多。如果发现某次生成结构错乱我会把那次输出作为反例加进提示词告诉模型“不要这样输出”这种动态修正效果比调温度参数好用。4.3 数据量一大上下菜单词就爆当用例数上千、Bug备注有大段复现步骤的时候直接喂给模型容易触发上下文限制。我的做法是分两步走先让模型做“摘要”再做“成稿”。比如先把4000条用例执行记录聚合成按模块统计的数字再把每个模块的失败用例中“失败原因”列做一次聚类只保留高频原因文本。数据量立刻从几千行降到几百字模型既有上下文可以理解又不会因为过长而丢失重点。具体到代码层面就是在“clean_and_aggregate”环节多做一步统计失败原因的关键词频率把出现5次以上的原因提取出来共同组成摘要。这个摘要比其他原始明细更有信息密度。4.4 把“人工审核”写进流程别寄希望于模型永不犯错自动化生成的报告在最终发布之前不应该直接发给领导。我保留了“人工审核”这一环节但把审核时间压到了10分钟以内。审核时主要看三件事报告里的数字是否与统计结果一致。风险结论是否有数据支撑。下周计划是否合理可行。为了让人工审核足够快脚本会把数据来源一并输出比如在每个风险点后面自动附上引用到的缺陷单号。审核者可以直接点开缺陷单号验证不用再去系统里重新翻一遍。这属于“信任但验证”的思路既保留自动化效率也保留人工判断力。5. 流程跑顺之后我看到的不是“少加班”这么简单5.1 从4小时到40分钟一份报告工时的前后对比跑通自动化之后我用两周时间做了对比统计。手工写周报时我的平均耗时是2小时20分钟用自动化流程后时间开销集中在“导出数据后跑脚本”和“10分钟人工审核”总耗时大约40分钟。月报从3小时30分钟压缩到大约1小时因为月报需要额外的环比分析脚本会把这部分自动算好我只需要补充少量项目层面的说明。更重要的是报告质量更稳定了。手工写的时候如果周五下午特别忙我会漏写周六发生的线上问题自动化流程统一从平台取数只要平台数据有报告就不会因为人的疲劳而遗漏关键信息。5.2 同一套底稿还能喂给月报、Release Notes和交接文档当周报的数据和模板稳定以后我发现可以把同一份结构化数据输入给不同的“渲染”流程。比如月末自动生成月报只要把时间范围从一周改成一个月再做一次环比统计发版前后把生成好的测试报告转成发版验证报告项目交接时把半年的周报汇总成一份质量趋势文档。这些都是同一个数据管道衍生出来的产物。这个改变的启示是与其每次换个格式重写一遍报告不如把数据和格式解耦让数据流动起来。自动化报表只是利用数据的第一步数据底座搭建好了后续各种文档输出都只是模板问题。5.3 别过度自动化哪些内容还是得留给人来做尽管自动化很省事我还是会给团队定一条规则AI可以写报告但风险判断和决策建议必须由人来定。原因很简单模型没有参与这周的沟通不知道测试环境和测试数据准备情况也不知道某个Bug昨天刚在会议里确认了优先级变更。这些“桌面下的信息”在系统里看不到只有回到人的判断里。另外如果某个发现涉及到项目安全底线、严重质量事件这类报告内容我不会用自动化生成会直接手工单独处理。自动化管道适合输出常规的、格式化的信息需要语境和沟通背景的内容不妨保留给最了解项目的那个人。最后说一个我个人体会最深的变化自动化生成报告的价值不仅仅在于把“写报告”变成“不用写报告”而在于把人的注意力从“复制粘贴”挪到“判断和决策”上面。现在我每周在报告上花的时间变少了但对项目风险变化的敏感度反而高了。因为向量化的数据进来之后我不需要再花大量时间整理可以更专注地看趋势、对比、思考下周策略。这才是这个方向真正打动我的地方。

相关新闻

医疗知识图谱问答系统源码部署避坑指南:Python环境配置与BERT模型启动

医疗知识图谱问答系统源码部署避坑指南:Python环境配置与BERT模型启动

简介:这是一套面向计算机相关专业学生与Python开发者的医疗知识图谱问答系统完整源码,可直接用于毕业设计、期末大作业或课程设计。项目以医疗领域知识图谱为核心,融合意图识别、命名实体识别与知识抽取等模块,构建了从问句理解到…

2026/10/19 5:18:16 阅读更多 →
EWAM:具身世界动作模型的核心范式与工程实践

EWAM:具身世界动作模型的核心范式与工程实践

1. 为什么大家都在谈具身世界动作模型最近半年,我所在的圈子几乎被“具身世界动作模型”(Embodied World Action Model,下文统一用缩写 EWAM)这个词刷屏了。和传统意义上的“大模型”不一样,EWAM 实际上并不是一个单一…

2026/10/19 5:18:16 阅读更多 →
用Vulkan计算着色器实现PP-OCR跨平台GPU推理的完整实践

用Vulkan计算着色器实现PP-OCR跨平台GPU推理的完整实践

先把话放在前面:为什么我盯上了 Vulkan几个月前接了个活儿,要在好几台不同品牌显卡的设备上做文本识别。手头清一色没有支持 CUDA 的机器,有的还是深度定制的嵌入式环境,驱动工具链残缺得让人头疼。我第一反应是老老实实跑 CPU 推…

2026/10/19 5:18:16 阅读更多 →

最新新闻

实测五大论文降重方案:AI改写、翻译法、结构重组与规范引用

实测五大论文降重方案:AI改写、翻译法、结构重组与规范引用

1. 2026届毕业季,降重为什么成了“刚需”每年到毕业季,论文查重总是绕不开的话题。2026届的同学们面对的情况其实更加特殊:主流的查重系统在近几年完成了好几次算法迭代,对语义相似度的识别比前几年精准得多,以前那种“…

2026/10/19 5:57:35 阅读更多 →
家庭本地4K观影架构实战:一套服务端搞定电视、电脑、手机和平板的多场景观影

家庭本地4K观影架构实战:一套服务端搞定电视、电脑、手机和平板的多场景观影

我真正下定决心把家里所有观影设备统一到一套架构上,是因为一个很普通的晚上。那天我想在客厅电视上接着看之前用手机刷了一半的片子,结果翻了半天:手机里有一段缓存,电脑里躺着完整文件,电视自带系统里又装了好几个客…

2026/10/19 5:57:35 阅读更多 →
2026届论文降重实测:五大方案效果对比与避坑指南

2026届论文降重实测:五大方案效果对比与避坑指南

2026届的毕业季还没真正到来,但论文查重的焦虑已经提前蔓延开了。最近我周围不少正在写论文的朋友都在讨论同一个问题:降重复率到底用什么方法才靠谱。市面上的说法五花八门,有人推荐AI工具一键改写,有人坚持人工逐句润色&#xf…

2026/10/19 5:57:35 阅读更多 →
AI周报:从OpenAI被超越传闻到模型、应用与算力新趋势

AI周报:从OpenAI被超越传闻到模型、应用与算力新趋势

1. 本周“OpenAI被超越”传闻的三种真相先聊大家最关心的那个问题:OpenAI是不是真的被超越了?这个话题这周在技术社群、投资圈和自媒体几乎同时发酵,标题一个比一个惊悚:“GPT系列地位不保”“王者落幕”之类的说法全出来了。作为…

2026/10/19 5:57:35 阅读更多 →
48V/0.6A高频同步降压转换器HF8406C实战设计要点

48V/0.6A高频同步降压转换器HF8406C实战设计要点

做过宽压输入电源设计的朋友,肯定经历过这类纠结:系统要一颗能扛住 48V 输入的降压芯片,输出电流不用太大,但一定要稳定、低纹波、外围还不能太复杂。早年我习惯性地先找老牌欧美大厂的型号,选来选去要么耐压够但静态电…

2026/10/19 5:57:35 阅读更多 →
自助KTV系统开发:智能门禁与线上预约的完整闭环方案

自助KTV系统开发:智能门禁与线上预约的完整闭环方案

近年来,线下娱乐行业对"无人化、自助化"的诉求越来越强烈,传统KTV面临的人力成本高、闲时资源浪费、用户体验割裂等痛点,催生了一整条自助娱乐系统开发的赛道。这个"自助KTV系统开发:智能门禁与线上预约"项目…

2026/10/19 5:56:35 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 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/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于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/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 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/19 2:54:50 阅读更多 →
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 阅读更多 →