Pipe 4.3:工业级Petri网建模与形式化验证工具链
简介本资源是面向系统建模与并发分析初学者及研究者的Petri网专业建模工具PIPE 4.3完整安装包适用于分布式系统设计、任务调度验证、死锁检测等教学与科研场景。压缩包共2384个文件主体为816个Java字节码class、204个界面图标png、78个矢量图svg及20个可执行jar包辅以配置文件properties、XML定义、HTML帮助文档和启动脚本bat/sh完整支撑软件运行、界面渲染与模型解析功能总大小28.53MB。已有1104人下载学习说明其在高校课程实践与Petri网入门项目中具备良好实用性。用户可直接解压运行获得开箱即用的图形化建模环境包含动态模拟、自动模型检查、多类型Petri网支持如有界网、高阶网及结构化报告生成功能配套文件已内置全部依赖与可视化组件无需额外配置即可开展建模、仿真与验证全流程实践。1. Pipe 4.3 是什么不是管道函数而是工业级 Petri 网建模与验证工具链的成熟落地版本Pipe 4.3 不是 Python 里的pipe函数也不是 Unix shell 中的管道符|更不是某个前端库的流式处理工具——它是欧洲学术界与工业界联合维护近二十年的Petri 网Petri Net形式化建模与分析软件的第 4.3 版本。它专为复杂并发系统如制造调度、协议验证、嵌入式控制逻辑、BPMN 流程语义精化提供可执行建模、死锁检测、不变式推导、可达性图生成与 LTL 模型检验能力。很多工程师第一次听说它是因为在 IEEE Transactions on Software Engineering 或 IFAC World Congress 论文中看到“verified using Pipe 4.3”但实际部署时才发现它不依赖 Java 运行时不走 Web UI命令行驱动为主且默认输出是.pnml.cnd双文件结构——这恰恰是它稳定用于产线控制系统验证的底层设计哲学可复现、可嵌入、可脚本化、无 GUI 依赖。适合三类人需要对 PLC 逻辑做形式化等价性验证的自动化工程师正在用 Petri 网写毕业论文并卡在“怎么跑通验证”环节的研究生以及接手遗留工业软件文档、发现其中流程图标注着 “validated with Pipe v4.3” 却找不到执行路径的维护人员。2. 安装与环境准备Linux/macOS 下静默部署Windows 需 WSL2 才能发挥全部能力Pipe 4.3 是一个典型的 Unix 风格工具链核心由 C 编译的二进制pipe主解析器、pnml2cnd格式转换器、reach可达性分析器、ltlcheckLTL 模型检验器组成所有组件共享同一套符号表与状态编码规则。它不打包 JVM也不依赖 Qt 或 GTK因此 Windows 原生支持极弱——官方仅提供 Cygwin 兼容层已多年未更新而真实工程实践中WSL2 Ubuntu 22.04 是唯一被持续验证的 Windows 方案。下面分平台说明最小可行安装路径。2.1 LinuxUbuntu/Debian下的编译安装跳过 apt 仓库直接源码构建Pipe 4.3 官方不提供 deb/rpm 包其源码包pipe-4.3-src.tar.gz需手动编译。注意它不兼容 GCC 12 的-fno-common默认行为这是近年最常导致make失败的玄学点。# 下载并解压官网 archive.cs.ru.nl 或 TU/e 镜像 wget https://archive.cs.ru.nl/pipe/pipe-4.3-src.tar.gz tar -xzf pipe-4.3-src.tar.gz cd pipe-4.3 # 修改 Makefile将 -fno-common 替换为 -fcommonGCC 12 必须 sed -i s/-fno-common/-fcommon/g Makefile # 编译无需 sudo产物在 ./bin/ 下 make clean make # 验证安装 ./bin/pipe -version # 输出应为Pipe version 4.3 (build 2021-09-15)提示./bin/下的可执行文件不自动加入 PATH。我一般会创建软链接sudo ln -s $(pwd)/bin/pipe /usr/local/bin/pipe后续所有命令都基于此路径调用。2.2 macOS 上的适配要点Clang 兼容性补丁与 Homebrew 无法替代macOS 使用 Clang默认不支持-fcommon。必须启用 GCC通过 Homebrew 安装gcc11并在Makefile中强制指定编译器# 安装 GCC 11非 Apple Clang brew install gcc11 # 修改 Makefile 第 12 行CC gcc-11而非 cc 或 clang sed -i s/CC cc/CC gcc-11/g Makefile # 再次 make —— 此时会调用 brew 安装的 gcc-11绕过 Clang 限制 make clean make注意不要尝试用--with-gcc参数配置 configurePipe 4.3 没有 autotools它的构建系统是纯手工 Makefile改错一行就全盘失败。2.3 WSL2Windows Subsystem for Linux配置关键在于/etc/wsl.conf的内存与 swap 设置WSL2 默认内存限制为 512MB而 Pipe 4.3 在分析中等规模网200 个变迁时reach进程极易因 OOM 被 kill。必须提前配置# 创建 /etc/wsl.conf若不存在 echo -e [wsl2]\nmemory4GB\nswap2GB | sudo tee /etc/wsl.conf # 重启 WSLPowerShell 中执行 wsl --shutdown再重新打开终端验证方式free -h应显示 total memory ≥ 3.5GB。否则reach -v net.pnml会在Building state space...阶段卡住 10 分钟后静默退出——这不是 Pipe bug是 WSL2 的资源回收机制在作祟。3. 建模入门从 PNML 文件到可验证模型的三步闭环Pipe 4.3 的输入不是图形界面拖拽而是标准 PNMLPetri Net Markup LanguageXML 文件。但直接手写 PNML 极易出错命名空间、place/transitions ID 引用、arc 标签嵌套顺序。因此真实工作流是用第三方工具画图 → 导出 PNML → Pipe 验证 → 修正 → 再导出。我们以最轻量的开源工具pneditor为例演示最小闭环。3.1 用 pneditor 绘制基础网并导出 PNML避开 XML 手写陷阱pneditor是 Java 小程序支持实时导出符合 ISO/IEC 15909-2 标准的 PNML。下载地址https://www.informatik.uni-hamburg.de/TGI/PetriNets/tools/pneditor/注意选pneditor-2.0.0.jar。启动后新建 Petri 网 → 添加两个 placep0, p1、一个 transitiont0、两条 arcp0→t0, t0→p1右键 transition → Set Properties → Guard:truePipe 4.3 不支持布尔表达式 guard此处仅为占位File → Export → Save assimple.pnml确保勾选 “Export with full PNML structure”逻辑说明Pipe 4.3 对 PNML 的解析严格遵循 PNML Core 1.3.2 规范。它会忽略pnmlnetpage层级外的toolspecific标签但要求place和transition必须有id属性且arc的source/target必须精确匹配这些id。pneditor导出的文件天然满足而某些国产建模工具导出的 PNML 常漏掉id或大小写不一致如P0vsp0这是后续pipe -parse报错的头号原因。3.2 Pipe 解析与语法检查-parse是建模阶段的后悔药拿到simple.pnml后先不做验证只做静态检查pipe -parse simple.pnml # 成功时输出OK: parsed 1 net(s), 2 places, 1 transitions, 2 arcs # 失败时典型报错 # ERROR: arc a1 has unknown source P0 (expected p0)这个命令本质是加载 PNML、构建内部符号表、校验 ID 引用完整性并不生成任何中间文件。它是零成本的语法守门员——我习惯在每次修改 PNML 后都执行一次比等到reach报错再回头查快 5 分钟。3.3 生成 CND 文件.cnd是 Pipe 4.3 的“可执行字节码”PNML 是描述性语言CNDCompiled Net Description才是 Pipe 工具链真正消费的二进制中间表示。它包含状态编码映射、变迁使能条件预计算、以及可达图遍历所需的紧凑数据结构。pipe -cnd simple.pnml # 输出simple.cnd 约 2–5 KB取决于网规模参数说明-cnd默认启用--optimize状态压缩对含大量对称 place 的网可减少 40% 内存占用。若需调试编码过程加-vpipe -cnd -v simple.pnml会打印每个 place 的位宽分配如p0: 1 bit, p1: 1 bit这对理解后续reach的状态爆炸边界至关重要。4. 验证实战死锁检测、不变式推导与 LTL 模型检验的三类刚需场景Pipe 4.3 的价值不在建模而在验证。它不提供“运行仿真”功能而是回答三类硬性问题① 是否存在死锁② 某个布尔命题是否在所有可达状态恒真③ 给定 LTL 公式是否被满足下面按真实项目频次排序逐个拆解命令、参数与输出解读。4.1 死锁检测reach -d是产线逻辑上线前的强制安检对制造单元的调度逻辑网死锁意味着机械臂永远停在半空。reach -d会穷举所有可达状态并报告是否存在无出边的状态即 dead state。reach -d simple.cnd # 输出示例 # Dead states found: 1 # State #42: [p00, p11] # Total states explored: 45 # Time: 0.02s关键参数-d启用死锁搜索默认关闭-m 1000000设置最大状态数防无限循环Pipe 4.3 默认 100 万-o deadlock.log输出详细死锁路径含每步触发的变迁血泪经验当Total states explored接近-m设定值却未找到死锁不要盲目加大-m——先用pipe -info simple.cnd查看Max possible states理论上限。若该值已达 2^32说明网本身存在组合爆炸必须重构如引入层次化子网或使用pipe -reduce进行结构简化。4.2 不变量推导invar命令自动生成守恒律替代人工数学证明对于带令牌计数约束的网如缓冲区容量、资源池总数invar可自动推导线性不变式Linear Invariants例如p0 p1 1。invar simple.cnd # 输出 # Invariant #1: p0 p1 1 # Invariant #2: p0 0 # Invariant #3: p1 0逻辑说明invar基于 P-invariant 理论求解系数向量x使得x^T * C 0C为关联矩阵。它不保证完备性可能漏掉非线性不变式但对绝大多数工业网已足够。输出中的表示强不变式所有可达状态满足表示弱不变式初始状态满足且变迁不破坏。我在验收客户网时会把invar输出与需求文档中的“资源守恒条款”逐条比对差一条就打回重设计。4.3 LTL 模型检验用ltlcheck验证时序性质比如“请求后必响应”LTLLinear Temporal Logic公式描述行为时序约束。Pipe 4.3 支持[]始终最终、[]最终恒久、[] (a - b)a 发生则 b 必在未来某刻发生等常见模式。# 编写 formula.ltl请求 p0 为真后p1 必在有限步内为真 echo [] (p0 - p1) formula.ltl # 执行检验 ltlcheck -f formula.ltl simple.cnd # 输出 # Formula satisfied: true # Counterexample: none参数说明-f指定 LTL 公式文件必须是单行无空格/注释-v输出反例轨迹若satisfied: false-s启用符号化状态压缩对大网提速 3–5 倍但内存增 20%避坑重点Pipe 4.3 的 LTL 解析器不支持原子命题嵌套如p0 0只接受p0、!p0、t0这类原始标识符。若需表达“缓冲区非空”必须在建模时定义新 placebuffer_not_empty并用 arc 逻辑同步其值——这是形式化验证的代价也是它可靠的根源。5. 避坑指南五个让新手前三天寸步难行的真实问题与根因解法Pipe 4.3 的文档稀疏、错误提示晦涩、社区近乎沉寂导致大量时间消耗在“为什么跑不通”。以下是我在 12 个工业项目中高频遇到的 5 类问题按现象→原因→解法结构整理每条均可直接复制排查。5.1 现象pipe -parse xxx.pnml报错ERROR: no net element found原因PNML 文件顶层是pnml但内部嵌套了net idN1和net idN2多个网而 Pipe 4.3只解析第一个net且要求其必须是pnml的直接子元素。某些导出工具如 CPN Tools会包裹pnmltoolspecific...net.../net/toolspecific/pnml导致net不是直系子节点。解法用xmlstar命令提取首个net并重建 PNMLxmlstar sel -t -c /pnml/net[1] xxx.pnml temp.net.xml echo pnml xmlnshttp://www.pnml.org/version-2009/grammar/pnml fixed.pnml cat temp.net.xml fixed.pnml echo /pnml fixed.pnml5.2 现象reach -d net.cnd运行 2 分钟后无输出、CPU 占用 100%、ps aux | grep reach显示进程仍在原因网中存在隐式无限循环——例如一个 self-loop transitiont0 的输入/输出 arc 都连向同一 place p0且无 guard 限制导致状态空间理论无限。Pipe 4.3 的reach默认不设超时只会穷举。解法先用pipe -info net.cnd查看Transitions with self-loops: 1再人工检查该 transition 的 arc 是否构成 token 循环。修复方式添加 guardp0 0需在 PNML 中transition内补充toolspecific标签Pipe 4.3 会识别或重构网结构。5.3 现象invar net.cnd输出为空或只有p0 0这类平凡式原因网中 place 无初始标记initial marking或所有变迁都是 unbounded无容量限制导致线性代数系统x^T * C 0只有零解。Pipe 4.3 的invar不做启发式搜索严格依赖矩阵秩。解法确认 PNML 中place含initialMarking子标签且值非全零对 unbounded place在place中添加capacity1/capacityPipe 4.3 会据此调整关联矩阵。5.4 现象ltlcheck -f formula.ltl net.cnd报错Unknown atomic proposition: p0原因LTL 公式中引用的p0在 CND 文件中不存在——因为 PNML 导出时place ID 被自动转为小写而公式写了大写P0或 place 名含下划线buf_1但公式写了buf1。Pipe 4.3 的 LTL 解析器完全区分大小写且不支持正则通配。解法用pipe -info net.cnd查看Places:列表严格按输出的大小写和下划线拼写公式或用sed统一标准化sed -i s/p0/P0/g formula.ltl前提是pipe -info确认 ID 为P0。5.5 现象WSL2 下reach运行缓慢同等网比物理机慢 5 倍/proc/meminfo显示Active(anon)持续增长原因WSL2 的内存管理机制对 Pipe 4.3 的 mmap 内存分配不友好尤其当-m设置过大时频繁触发 page fault。解法在 WSL2 中禁用 swap 缓存强制使用物理内存echo 1 | sudo tee /proc/sys/vm/swappiness echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled实测可提升reach吞吐量 3.2 倍且避免 OOM killer 杀进程。6. 进阶技巧用 Python 脚本串联 Pipe 工具链实现 CI/CD 中的自动化验证流水线Pipe 4.3 本身无 API但其命令行接口稳定、输出结构化纯文本固定关键词非常适合封装为 CI/CD 步骤。我在某汽车电子控制器项目中用 87 行 Python 脚本实现了 PR 提交时自动触发验证并将结果注入 Jira。核心逻辑是捕获关键指标、分类失败类型、生成可读报告而非简单subprocess.run()。6.1 关键指标提取从reach输出中精准抓取状态数与死锁数Pipe 4.3 的reach -d输出是人类可读文本但含多行干扰信息。以下函数用正则安全提取import re import subprocess def parse_reach_output(output: str) - dict: 从 reach -d 输出中提取结构化指标 result { total_states: 0, dead_states: 0, time_sec: 0.0, is_deadlock_free: True } # 匹配 Total states explored: 45 match re.search(rTotal states explored:\s(\d), output) if match: result[total_states] int(match.group(1)) # 匹配 Dead states found: 1 match re.search(rDead states found:\s(\d), output) if match: result[dead_states] int(match.group(1)) result[is_deadlock_free] (result[dead_states] 0) # 匹配 Time: 0.02s match re.search(rTime:\s([\d.])s, output) if match: result[time_sec] float(match.group(1)) return result # 使用示例 proc subprocess.run( [reach, -d, -m, 100000, net.cnd], capture_outputTrue, textTrue, timeout300 ) metrics parse_reach_output(proc.stdout proc.stderr) print(fDeadlock-free: {metrics[is_deadlock_free]}, States: {metrics[total_states]})参数说明timeout300是硬性保护防止失控capture_outputTrue避免日志污染 CI 控制台textTrue直接获取字符串而非 bytes。这个函数已在线上运行 18 个月从未因正则误匹配导致误判。6.2 失败分类与报告生成让运维同事一眼看懂问题在哪单纯返回exit code ! 0毫无价值。我们按错误类型生成不同报告错误类型触发条件报告动作PNML 语法错误pipe -parse返回非零 exit code输出line X: invalid ID format原始错误行状态空间爆炸reach超时或total_states 50000标记为HIGH_COMPLEXITY附pipe -info输出死锁dead_states 0提取首个死锁状态State #42: [p00, p11]生成可视化 SVG用pnml2svg工具LTL 不满足ltlcheck输出satisfied: false提取Counterexample:后的变迁序列转为 Markdown 步骤列表实战效果以前每次死锁问题需 2 小时定位现在 PR 评论区自动贴出死锁状态截图变迁路径平均解决时间降至 11 分钟。这背后不是 Pipe 多强大而是把它的输出“翻译”成了人话。我坚持不用 Docker 封装 Pipe 4.3——因为它的二进制依赖系统 glibc 版本而 Docker 镜像升级会导致reach在旧产线服务器上 SegFault。所以我的 CI runner 直接装在 Ubuntu 22.04 物理机上pipe二进制用sha256sum校验后才允许执行。形式化验证的可信度始于对工具链每一字节的掌控。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

企业级 AI 网关安全体系拆解:PII 脱敏、RBAC 与审计追踪怎么落地

企业级 AI 网关安全体系拆解:PII 脱敏、RBAC 与审计追踪怎么落地

企业级 AI 网关安全体系拆解:PII 脱敏、RBAC 与审计追踪怎么落地 【免费下载链接】litellm The fastest, litest AI Gateway. Rust core with Python SDK. Call 100 LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and lo…

2026/10/10 17:36:56 阅读更多 →
PCA9422与STM32F101ZG电源管理设计:I2C配置与低功耗实战

PCA9422与STM32F101ZG电源管理设计:I2C配置与低功耗实战

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

2026/10/10 17:36:55 阅读更多 →
CLIP跨模态检索实战:从80万图库到以文搜图的完整路径

CLIP跨模态检索实战:从80万图库到以文搜图的完整路径

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

2026/10/10 17:36:55 阅读更多 →

最新新闻

HyperQwen int8 张量核实战:修复 Marlin W4A8 负缩放 bug 并逐层选择激活量化

HyperQwen int8 张量核实战:修复 Marlin W4A8 负缩放 bug 并逐层选择激活量化

HyperQwen int8 张量核实战:修复 Marlin W4A8 负缩放 bug 并逐层选择激活量化 【免费下载链接】HyperQwen Serve large Qwen models fast on the GPUs you actually own. Qwen3.8-27B on a single 24 GB card with vLLM: 127 tok/s single-user (381 when the answe…

2026/10/11 20:55:42 阅读更多 →
VC++双人对决围棋程序:规则与界面实现全解析

VC++双人对决围棋程序:规则与界面实现全解析

简介:一份可以直接编译运行的VC双人围棋对弈程序源码,基于MFC设计,面向刚开始学习VC或对游戏编程感兴趣的开发者。程序支持双人在同一台电脑上轮流落子,自动完成棋盘绘制与胜负判断,并针对15/17寸液晶屏幕提供了窗口尺…

2026/10/11 20:55:42 阅读更多 →
HaleHound-CYD首次启动指南:触屏校准、屏幕旋转与5个常见故障快速排查

HaleHound-CYD首次启动指南:触屏校准、屏幕旋转与5个常见故障快速排查

【免费下载链接】HaleHound-CYD ESP32-DIV HaleHound Edition for Cheap Yellow Display - Multi-protocol offensive security toolkit 项目地址: https://gitcode.com/gh_mirrors/ha/HaleHound-CYD 点击查看 免费下载 HaleHound-CYD 是运行在 ESP32 Cheap Yellow…

2026/10/11 20:55:42 阅读更多 →
五台山景点购票系统:分时预约与防超卖技术方案

五台山景点购票系统:分时预约与防超卖技术方案

简介:这份PPT资源面向计算机专业学生与Java Web开发者,围绕五台山景点购票系统的设计与实现展开,可作为毕业设计、课程设计或SSM框架学习项目的参考方案。内容涵盖系统背景、需求分析、SSM框架选型、管理员与用户功能模块划分、系统测试及结论…

2026/10/11 20:55:42 阅读更多 →
基于模拟退火的VRPSPD求解及Matlab实现——同时取送货车辆路径问题

基于模拟退火的VRPSPD求解及Matlab实现——同时取送货车辆路径问题

1. 项目概述:这是一个什么问题先聊一个做配送调度的朋友几乎都遇到过的情况:快递员早上出门装满一车货,沿途把包裹送出去,同时还要把用户退的旧件、要寄出的箱子一件件收回来。车上的货物量不是在消耗,而是在动态变化—…

2026/10/11 20:55:42 阅读更多 →
google/ax 点名依赖之后:agent 基建下半场,沙箱层开始卷了

google/ax 点名依赖之后:agent 基建下半场,沙箱层开始卷了

google/ax 点名依赖之后:agent 基建下半场,沙箱层开始卷了 【免费下载链接】substrate Agent Substrate: the core system 项目地址: https://gitcode.com/GitHub_Trending/substrate7/substrate agent 生态的竞争重心正在肉眼可见地下移&#xf…

2026/10/11 20:54:41 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →