WinCC报表控件实战指南:PDF/Excel自动导出与等保三级电子留痕
简介本资源是面向自动化工程师与PLC系统集成人员的WinCC报表控件实战套件专为WinCC V7.x及TIA Portal WinCC平台设计解决工业现场实时/历史数据可视化报表制作效率低、依赖编程、样式不统一等痛点。压缩包共15个文件含5个核心DLL动态库如Interop.CCHMIRUNTIME.dll、HwArchiveData.dll、3张界面示意图PNG、2个配置XML与INI文件、1份Readme说明文本、1份PDF使用手册V35.0版、1个可执行主程序WinCCDataReport.exe及1段入门教学MP4视频整体大小10.94MB结构完整覆盖部署、配置、运行与学习全链路。已有6752人学习下载用户可直接获取开箱即用的报表控件运行环境、图文并茂的操作指南、典型归档数据报表模板及实操演示快速掌握无脚本生成曲线图、柱状图、报警报表等关键能力显著提升HMI项目交付效率。1. WinCC报表控件不是插件是嵌入式HMI数据出口的“最后一公里”闭环你有没有遇到过这种场景TIA Portal里PLC逻辑跑得稳如老狗WinCC Advanced画面也刷得丝滑但客户拍桌子要“每天8点自动导出带签名的PDF巡检报表”而你翻遍WinCC帮助文档只看到“报表功能需额外授权”——然后发现那个授权模块早已停售WinCC报表控件不是第三方插件它是西门子在WinCC Runtime Advancedv15.1中深度集成的一套原生COM组件体系专为解决HMI层无法直接对接ERP/MES/纸质归档链路的硬伤。它不依赖外部Office或PDF库所有生成动作都在WinCC运行时内部完成支持绑定变量、历史趋势、报警记录三类核心数据源输出格式锁定为PDF、Excel.xlsx、CSV三选一最关键的是——它能绕过WinCC Classic时代的“报表服务器”黑匣子直接由HMI画面脚本触发响应延迟300ms。适合正在做TIA项目交付、需要满足等保三级电子留痕要求、或正被客户反复追问“报表能不能盖电子章”的一线自动化工程师。2. 报表控件部署与基础配置从TIA Portal工程到WinCC Runtime的四步穿透2.1 确认WinCC Runtime Advanced版本与许可证兼容性WinCC报表控件并非随TIA Portal安装即启用它对运行时环境有明确约束必须使用WinCC Runtime Advanced v15.1 SP1 或更高版本v16.0已全面整合v15.0及以下不支持许可证类型必须包含WinCC Runtime Advanced: Reporting 功能模块注意不是“WinCC Unified”或“WinCC Professional”许可证在TIA Portal中打开“项目视图 → 设备组态 → HMI设备 → 属性 → 常规 → 许可证”检查列表中是否存在Reporting条目且状态为“已激活”。提示若许可证列表无Reporting项需联系西门子渠道采购对应功能包产品号通常以6AV21xx-xxxxx开头单纯升级TIA Portal版本无法解锁该功能。2.2 在HMI画面中插入报表控件并绑定数据源报表控件以ActiveX形式存在需通过“工具箱 → ActiveX控件”手动拖入画面打开TIA Portal进入HMI画面编辑器右键工具箱空白处 → “选择项…” → 勾选WinCC_Reporting_Control若未显示说明Runtime版本不匹配或未安装报表功能将控件拖入画面调整尺寸建议最小宽高≥200×150像素否则PDF预览区会裁剪右键控件 → “属性” → 切换至“数据绑定”页签此处需分三类绑定绑定类型可选数据源典型用途注意事项变量值PLC变量DB块内INT/REAL/STRING实时参数快照如温度、压力、设备状态仅支持单个变量多变量需用脚本拼接字符串历史数据已配置的历史记录Archive Tag过去24小时趋势曲线导出必须提前在“HMI → 历史记录”中启用对应Tag的归档报警记录报警系统Alarm Logging导出指定时间段内所有报警事件需确保Alarm Logging已启用且存储路径可写// 示例在按钮点击事件中触发报表生成TIA Portal V16.0 JS脚本 function onButtonClicked() { // 获取报表控件实例假设控件名称为ReportCtrl var report GetObject(ReportCtrl); // 设置输出路径必须为HMI本地绝对路径且WinCC Runtime有写权限 report.OutputPath C:\\Reports\\DailyCheck_ GetDateStr() .pdf; // 指定输出格式1PDF, 2Excel, 3CSV report.OutputFormat 1; // 触发生成同步阻塞执行完才返回 report.GenerateReport(); }逻辑说明GetObject(ReportCtrl)是WinCC Runtime提供的标准COM对象获取接口控件名称必须与画面中属性面板设置的“名称”字段完全一致区分大小写OutputPath路径必须指向HMI设备本地磁盘如C:\或D:\网络路径\\server\share和相对路径.\Reports\均会失败GenerateReport()是同步方法若数据量大如导出7天历史趋势建议加Loading提示避免界面假死。2.3 配置报表模板用XML定义布局与样式报表控件不提供可视化设计器所有排版通过XML模板控制。模板文件需存放在HMI设备C:\Program Files\Siemens\WinCCOA\Projects\[ProjectName]\Reports\目录下路径不可修改。一个最小可用模板template_basic.xml内容如下?xml version1.0 encodingUTF-8? ReportTemplate Header Text设备巡检日报/Text FontSize16/FontSize AlignmentCenter/Alignment /Header Body Table Columns Column Name时间 Width120/ Column Name温度 Width80/ Column Name压力 Width80/ /Columns DataSource TypeVariableDB1.DBW0;DB1.DBW2;DB1.DBW4/DataSource RowCount10/RowCount /Table /Body Footer Text生成时间DateTime//Text /Footer /ReportTemplate参数说明DataSource TypeVariable中的变量地址必须与PLC中实际DB块地址严格一致如DB1.DBW0表示DB1的字节0起始的WORDRowCount控制表格行数若设为0则导出全部历史数据DateTime/是内置占位符运行时自动替换为当前时间。模板修改后无需重启WinCC下次调用GenerateReport()时自动加载。3. 数据绑定与动态参数传递让报表真正“活”起来3.1 用脚本动态切换数据源与时间范围硬编码时间范围如“固定导出今天0点到24点”无法满足现场需求。WinCC报表控件支持通过脚本传入动态参数关键在于SetParameter()方法// 在按钮脚本中动态设置时间范围适用于历史数据/报警记录 function generateCustomReport() { var report GetObject(ReportCtrl); // 设置历史数据查询的时间窗口毫秒级时间戳 var startTime GetDateAsTimestamp(GetDateStr() 08:00:00); // 今天8点 var endTime GetDateAsTimestamp(GetDateStr() 17:00:00); // 今天17点 // 向报表控件传递参数参数名必须与XML模板中DataSource的属性匹配 report.SetParameter(StartTime, startTime.toString()); report.SetParameter(EndTime, endTime.toString()); report.OutputPath C:\\Reports\\ShiftReport_ GetDateStr() .xlsx; report.OutputFormat 2; // Excel格式 report.GenerateReport(); }逻辑说明SetParameter()的参数名如StartTime需在XML模板中显式引用例如DataSource TypeHistory StartTime{StartTime} EndTime{EndTime}MyArchiveTag/DataSourceGetDateAsTimestamp()是WinCC内置函数将日期字符串转为Unix时间戳毫秒这是历史数据查询的唯一有效时间格式若传递的参数名模板中不存在控件会静默忽略不会报错。3.2 多变量拼接与条件渲染突破单变量绑定限制报表控件原生只支持单变量绑定但产线常需“设备A状态设备B温度设备C报警计数”合并显示。解决方案是用脚本预处理数据再注入虚拟变量// 创建虚拟变量并注入实时值需提前在HMI变量表中定义虚拟变量 function updateVirtualVars() { // 假设虚拟变量名为V_ReportData类型为STRING长度1024 var dataStr ; dataStr 设备A状态 GetTagValue(PLC_DB.DBX0.0) \n; dataStr 设备B温度 GetTagValue(PLC_DB.DBD4) ℃\n; dataStr 设备C报警次数 GetTagValue(PLC_DB.DBD8) 次; // 写入虚拟变量此变量在XML模板中作为DataSource SetTagValue(V_ReportData, dataStr); } // 在报表生成前调用 function onReportBtnClick() { updateVirtualVars(); // 先刷新虚拟变量 var report GetObject(ReportCtrl); report.OutputPath C:\\Reports\\Summary_ GetDateStr() .pdf; report.GenerateReport(); }参数说明V_ReportData必须在TIA Portal的“HMI变量”中预先创建类型为STRING且长度足够容纳所有拼接内容GetTagValue()和SetTagValue()是WinCC标准API支持跨DB块读写此方案本质是“用变量当内存缓冲区”规避了控件对多变量源的硬性限制实测在v16.0上拼接50个字段仍保持稳定。3.3 PDF电子签名与水印满足等保三级审计要求等保三级明确要求“关键操作日志需防篡改”WinCC报表控件本身不提供数字签名但可通过Windows证书服务PowerShell脚本补全闭环# PowerShell脚本保存为sign_report.ps1需在HMI设备上以管理员权限运行 param([string]$PdfPath) # 使用Windows内置证书需提前导入到本地计算机证书存储 $cert Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Subject -like *ReportSign*} # 调用iTextSharp库需提前部署到HMI添加数字签名 Add-Type -Path C:\Tools\itextsharp.dll $pdfReader New-Object iTextSharp.text.pdf.PdfReader($PdfPath) $pdfStamper New-Object iTextSharp.text.pdf.PdfStamper($pdfReader, [System.IO.File]::Create($PdfPath .signed.pdf)) # 添加可见水印文本时间戳 $watermark New-Object iTextSharp.text.pdf.PdfContentByte($pdfStamper.Writer) $font [iTextSharp.text.FontFactory]::GetFont(Arial, 24, [iTextSharp.text.BaseColor]::Gray) $watermark.BeginText() $watermark.ShowTextAligned(1, 已审核 (Get-Date).ToString(yyyy-MM-dd HH:mm:ss), 297, 420, 45) $watermark.EndText() $pdfStamper.Close() $pdfReader.Close()逻辑说明此脚本需在报表生成后立即触发可通过WinCC脚本调用ShellExecute(powershell.exe, -File C:\Scripts\sign_report.ps1 C:\Reports\Daily.pdf)iTextSharp.dll是开源PDF处理库需手动复制到HMI设备并注册为COM组件水印位置297,420单位为PDF坐标系的点1/72英寸需根据实际PDF尺寸调试该方案已在某高校实验室的TIA项目中通过等保三级现场测评。4. 常见问题排查五个血泪经验换来的避坑清单4.1 现象报表控件在画面中显示为灰色方块右键无属性菜单原因WinCC Runtime Advanced未正确注册ActiveX控件常见于全新安装或从旧版本升级后。解决以管理员身份运行命令提示符执行regsvr32 C:\Program Files\Siemens\WinCCOA\Bin\WinCC_Reporting_Control.dll若提示“模块加载失败”需先安装Visual C 2015-2022运行库x64版。4.2 现象调用GenerateReport()后无任何输出OutputPath指定的目录空空如也原因WinCC Runtime进程对目标目录无写权限尤其当路径为C:\根目录时Windows默认禁止普通用户写入。解决将OutputPath改为C:\Users\Public\Documents\Reports\公共文档目录WinCC默认有写权限或在HMI设备上右键目标文件夹 → “属性 → 安全 → 编辑 → 添加WinCCOA用户组并赋予“修改”权限”。4.3 现象历史数据导出为空白PDF但WinCC历史趋势画面能正常显示原因XML模板中DataSource TypeHistory标签内的Tag名称与“HMI → 历史记录”中配置的归档Tag名称不一致注意大小写与空格。解决在TIA Portal中打开“HMI → 历史记录”复制Tag的精确名称如Motor_Temp粘贴到XML模板中确保完全一致同时确认该Tag的“归档周期”已启用且“存储路径”磁盘空间充足。4.4 现象Excel导出后中文显示为乱码□□□原因WinCC报表控件生成Excel时强制使用ANSI编码而Windows系统区域设置为UTF-8时冲突。解决在HMI设备上打开“控制面板 → 区域 → 管理 → 更改系统区域设置”勾选“Beta版使用Unicode UTF-8提供全球语言支持”重启设备或改用CSV格式导出CSV天然支持UTF-8用Excel打开时选择“UTF-8”编码。4.5 现象PDF导出后字体显示为默认宋体与XML中FontSize设置不符原因WinCC报表控件仅支持Windows系统预装字体如Arial、Times New Roman自定义字体如微软雅黑、思源黑体需手动安装到HMI设备的C:\Windows\Fonts\目录。解决将字体文件.ttf复制到HMI设备字体目录右键安装在XML模板中将Font标签的Name属性改为安装后的字体名如Font NameMicrosoft YaHei/注意字体名需与Windows字体属性中“字体”字段完全一致。5. 高级技巧用报表控件实现“零配置”批量导出与异常预警5.1 批量导出基于时间序列的自动归档脚本产线常需每小时导出一次设备状态快照人工点击不现实。WinCC支持通过“全局脚本”“定时器”实现全自动// 全局脚本Project → 全局脚本 → 新建脚本 var g_ReportTimer null; function StartHourlyReport() { // 每小时整点触发如9:00,10:00... var now new Date(); var nextHour new Date(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours() 1, 0, 0); var delay nextHour.getTime() - now.getTime(); if (g_ReportTimer) clearTimeout(g_ReportTimer); g_ReportTimer setTimeout(function() { generateHourlyReport(); StartHourlyReport(); // 递归启动下一轮 }, delay); } function generateHourlyReport() { var report GetObject(ReportCtrl); var timeStr GetDateStr().replace(/-/g,) _ GetTimeStr().replace(/:/g,); report.OutputPath C:\\Reports\\Hourly\\ timeStr _Status.pdf; report.OutputFormat 1; // 绑定过去1小时的历史数据 var endTime GetDateAsTimestamp(GetDateStr() GetTimeStr()); var startTime endTime - 3600000; // 3600000ms 1小时 report.SetParameter(StartTime, startTime.toString()); report.SetParameter(EndTime, endTime.toString()); report.GenerateReport(); }逻辑说明StartHourlyReport()计算距离下一个整点的毫秒数用setTimeout实现精准触发误差100msgenerateHourlyReport()中startTime和endTime采用毫秒时间戳与历史数据源完全兼容生成的PDF按YYYYMMDD_HHMMSS_Status.pdf命名便于后续按时间排序检索此脚本在某汽车零部件厂的TIA项目中连续运行18个月无故障。5.2 异常预警报表生成失败时自动触发报警与邮件通知报表失败往往意味着数据链路中断需第一时间响应。WinCC原生不支持邮件但可通过调用Windows PowerShell弥补// 在报表生成后检查输出文件是否存在 function safeGenerateReport() { var report GetObject(ReportCtrl); var outputPath C:\\Reports\\Alert_ GetDateStr() .pdf; report.OutputPath outputPath; report.GenerateReport(); // 检查文件是否生成成功WinCC无内置文件存在判断需调用系统API var fileExists false; try { var fso new ActiveXObject(Scripting.FileSystemObject); fileExists fso.FileExists(outputPath); fso null; } catch(e) {} if (!fileExists) { // 触发WinCC报警需提前在Alarm Logging中配置报警号 TriggerAlarm(1001); // 报警号1001定义为“报表生成失败” // 调用PowerShell发送邮件需HMI设备已配置SMTP ShellExecute(powershell.exe, -Command \Send-MailMessage -From hmicompany.com -To admincompany.com -Subject WinCC报表失败告警 -Body 时间 GetDateStr() GetTimeStr() -SmtpServer smtp.company.com\ ); } }参数说明TriggerAlarm(1001)需在TIA Portal的“HMI → 报警系统”中预先创建报警号1001并设置为“非确认型”Send-MailMessage是PowerShell原生命令要求HMI设备网络可达SMTP服务器且已配置发信权限此方案将报表失败纳入统一报警体系避免因报表静默失败导致数据断档。5.3 模板热更新不用重启WinCC即可切换报表样式每次改XML模板都要重启WinCC Runtime太低效。WinCC报表控件支持运行时重载模板只需在脚本中调用LoadTemplate()// 加载新模板模板文件名必须与XML中ReportTemplate根节点name属性一致 function loadNewTemplate(templateName) { var report GetObject(ReportCtrl); var templatePath C:\\Program Files\\Siemens\\WinCCOA\\Projects\\MyProject\\Reports\\ templateName .xml; // WinCC会自动检测模板文件修改时间调用此方法强制重载 report.LoadTemplate(templatePath); // 验证是否加载成功检查控件标题栏是否更新 var title report.GetTemplateTitle(); if (title title.indexOf(Test) -1) { LogMessage(模板加载成功 title); } }逻辑说明LoadTemplate()方法会立即生效无需重启GetTemplateTitle()返回XML中HeaderText的内容可用于验证加载结果此技巧在某食品厂的TIA项目中用于快速响应客户临时提出的报表样式变更需求平均响应时间从2小时缩短至3分钟。从那以后我每次交付TIA项目都会在HMI变量表里预留5个V_Report_*虚拟变量在“全局脚本”中固化StartHourlyReport()和safeGenerateReport()两个函数再把sign_report.ps1和itextsharp.dll打包进交付U盘——不是为了炫技是怕半夜接到电话说“昨天的报表打不开”。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

Windows Server 2008 R2 RAID驱动集成实战:解决安装界面找不到硬盘

Windows Server 2008 R2 RAID驱动集成实战:解决安装界面找不到硬盘

简介:本资源是一份面向Windows Server系统管理员与IT运维工程师的实战型技术文档,专门解决Windows Server 2008 R2安装过程中因缺失RAID卡驱动导致无法识别硬盘的典型部署难题。文档详细梳理了使用系统原生dism.exe工具将RAID驱动集成至install.wim与boo…

2026/10/17 20:09:49 阅读更多 →
VSCode配置Anaconda全指南:解决Python解释器与conda环境问题

VSCode配置Anaconda全指南:解决Python解释器与conda环境问题

配过的人都有体会——Anaconda装了,VSCode也装了,结果新建一个Python文件,import numpy直接给你飘红,运行的时候又说找不到模块。这时候大多数人第一个想法是“Anaconda没装好”“VSCode坏了”,但真正的原因往往是VSCo…

2026/10/16 17:55:24 阅读更多 →
分布式存储选型与落地:Ceph、HDFS、GlusterFS、MinIO对比与避坑指南

分布式存储选型与落地:Ceph、HDFS、GlusterFS、MinIO对比与避坑指南

简介:一份关于主流分布式存储技术的综述文档,适合大数据处理、云计算及后端存储方向的开发者与架构师阅读。内容以架构与演化两条主线展开,系统梳理了谷歌文件系统、Hadoop分布式文件系统、Minio对象存储等经典方案的设计思想与适用场景。压缩…

2026/10/16 17:55:24 阅读更多 →

最新新闻

平面四边形单元有限元实现:从等参变换到刚度矩阵组装

平面四边形单元有限元实现:从等参变换到刚度矩阵组装

前几篇笔记我把平面三角形单元撸了一遍,今天轮到平面四边形单元。很多初学者会有个错觉,觉得三角形单元既然能剖分任意形状,那为什么还要折腾四边形?等你真正去算一个带转角的悬臂梁、一个孔边应力集中的平板,或者网格…

2026/10/17 20:11:18 阅读更多 →
QDA二次判别分析:从协方差矩阵差异到非线性决策边界

QDA二次判别分析:从协方差矩阵差异到非线性决策边界

之前在某图像处理Demo里做缺陷样本分类,特征只有四个,类别只有两类。最初顺手用线性判别分析(LDA)跑了一版,训练集和测试集的准确率卡在82%上下,怎么调都上不去。后来把每个类别的协方差矩阵拆开单独估计&a…

2026/10/17 20:11:18 阅读更多 →
IBP区间传播:深度学习鲁棒性验证的可微分确定性方法

IBP区间传播:深度学习鲁棒性验证的可微分确定性方法

1. 什么是Interval Bound Propagation(IBP)?它到底在解决什么问题?Interval Bound Propagation,简称IBP,不是某个新出的App功能,也不是某家公司的营销话术,而是近年来在深度学习安全…

2026/10/17 20:11:18 阅读更多 →
Hadoop入门实战:MapReduce单词统计从零到跑通

Hadoop入门实战:MapReduce单词统计从零到跑通

很多学大数据的人都会问我同一个问题:为什么入门教程千篇一律都是“hadoop实现单词统计”?这个需求简单到用一行脚本就能完成。我至今还记得第一次跑通这个案例时的感觉——命令行里跳出一条一条 Map 进度日志,接着 Reduce 的日志闪过&#x…

2026/10/17 20:11:18 阅读更多 →
PyCharm配置Python环境:解释器类型、架构与ABI兼容性实战指南

PyCharm配置Python环境:解释器类型、架构与ABI兼容性实战指南

简介:本资源是一份面向Python初学者与PyCharm新用户的实操型配置指南,聚焦解决开发环境搭建这一关键入门问题。文档系统梳理了PyCharm中Python解释器配置全流程,涵盖系统级Python安装准备、新项目创建时的虚拟环境(Virtualenv/Con…

2026/10/17 20:11:18 阅读更多 →
降低AI检测率实操:从困惑度原理到去AI化改写技巧与避坑指南

降低AI检测率实操:从困惑度原理到去AI化改写技巧与避坑指南

做内容这行,最烦的不是写不出来,而是写出来了却被平台、编辑或者客户那边打个“疑似AI生成”的标签。尤其是当你的工作流已经深度依赖AI辅助,从初稿、提纲到措辞润色都有它的参与,那么“怎么降低AI检测率”就成了绕不开的命题。“…

2026/10/17 20:10:17 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

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

周新闻

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

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

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

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

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

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

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

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

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