Python工业物联网安全加固实战:Zigbee无线传感网防护
1. 这不是又一篇“AIIoT”的概念炒作而是一份在真实产线跑通72小时的Python安全加固实录你搜“Python 工业物联网 网络安全”页面上堆满“零基础入门”“三步搭建智能工厂”“AI赋能边缘计算”这类标题党——但真正蹲过车间、摸过PLC、被无线传感器丢包搞到凌晨三点的工程师心里都清楚工业现场没有“一键部署”只有“一帧一帧抓包、一行一行调参、一次一次复位”。这篇不是教程是我去年在华东一家汽车零部件厂做产线无线传感网升级时的真实作战笔记。核心就干一件事用纯Python脚本在不更换原有Zigbee网关、不重布线、不中断生产的前提下给387个温湿度/振动传感器节点打上“数字免疫层”。它不讲大模型、不提元宇宙只解决三个硬骨头第一如何让老旧的XBee S2C模块支持轻量级设备认证第二怎么在200ms端到端延迟约束下完成加密流量检测第三当PLC控制器突然重启导致MAC地址漂移时Python守护进程如何自动重建信任链。所有代码全部开源但关键参数我标了*号——这些不是随便抄来的是我在-15℃冷库和45℃涂装车间反复测出来的临界值。如果你正被“无线传感器数据总被篡改”“边缘网关莫名掉线”“安全审计报告里写着‘未启用加密’却不敢动产线”这些问题卡住这篇能直接抄作业。2. 整体架构设计为什么放弃主流方案死磕Python原生实现2.1 拒绝“套壳式安全”工业现场的三大不可妥协约束很多方案推荐直接上TLS 1.3或DTLS听起来很美但落地时会撞上三堵墙第一堵是硬件墙。厂里用的Digi XBee S2C模块Flash只有512KBRAM仅64KB连OpenSSL最小裁剪版都塞不进去。有人提议换新模块采购周期6个月产线停一天损失23万。第二堵是协议墙。传感器固件是2015年写的只认Zigbee 3.0的APS层明文帧强行加TLS会破坏与西门子S7-1200 PLC的Modbus TCP桥接。第三堵是运维墙。IT部门要求所有安全组件必须通过ISO 27001审计而商用IoT安全网关的二进制固件无法提供源码审计报告。我们最终选择“协议栈外科手术”在Zigbee MAC层之上、APS层之下插入Python轻量级代理。这个位置像心脏起搏器——不改变血液原始数据流只调节心跳节律帧校验与密钥轮转。整个系统分三层边缘层树莓派4B4GB RAM作为网关代理运行Python 3.9.16非最新版因旧版PySerial对XBee AT指令兼容性更好传输层自研zigsec库用AES-128-GCM实现帧级加密密钥每15分钟轮换关键参数轮换间隔设为15分钟而非行业惯用的1小时因为实测发现振动传感器在连续高频采样下1小时密钥生命周期内会出现0.3%的GCM标签校验失败率应用层基于Scikit-learn的异常检测模型不训练大模型只用孤立森林Isolation Forest分析3秒窗口内的信标帧RSSI方差——这是唯一能在树莓派上实时跑通的算法误报率控制在2.1%实测数据在涂装车间电磁干扰最强时段传统LSTM模型误报率达17%而孤立森林稳定在1.8%-2.3%区间。2.2 为什么Python不是“凑合选”而是工业场景的最优解反对者常问“工业环境不用C/CPython不怕GIL锁拖慢实时性” 这是个典型认知偏差。我们拆解真实瓶颈Zigbee物理层速率XBee S2C最大250kbpsPython串口读取实际吞吐约180kbps用PySerial的readinto()替代readline()吞吐提升47%这是底层优化不是语言问题加密耗时占比AES-128-GCM单帧加密平均耗时38μs而Zigbee帧间隔最小为12msCSMA/CA机制决定CPU占用率仅0.3%真正的瓶颈在IOXBee模块通过UART连接树莓派当387个节点并发上报时串口缓冲区溢出才是主因。解决方案不是换语言而是用Linuxsetserial调整rx_fifo_trigger至96字节默认16字节调高后丢帧率从12%降至0.03%这恰恰需要Python调用系统命令的灵活性。更关键的是运维成本IT部门现有23名工程师19人会Python仅2人熟悉C嵌入式开发。当某天凌晨传感器数据异常值班工程师用ssh登录网关执行python3 debug_zigsec.py --frame-id 0x2A7F就能实时解密并打印原始温湿度值——这种能力比任何“高大上”的架构图都实在。2.3 安全模型的工业适配放弃“零信任”拥抱“有限信任”工业场景不存在互联网式的“永不信任”而是“动态信任”。我们的trust_manager.py模块定义了三级信任状态Level 0冷态新节点入网仅允许发送JOIN_REQUEST帧其他帧丢弃Level 1热态完成ECC密钥交换secp256k1曲线获得临时会话密钥可上传传感器数据但禁止访问PLC控制指令Level 2稳态连续72小时无异常行为如RSSI突变15dB、上报频率偏离基线±20%自动授予PLC写权限。这个设计源于血泪教训某次调试中工程师误将测试节点的密钥注入生产网关导致Level 2节点被误判为攻击者自动切断了冲压机的振动监测——停机17分钟。后来我们在trust_manager里加入“人工白名单熔断开关”只要在/etc/zigsec/whitelist.conf里添加MAC地址该节点永久保持Level 2绕过所有自动降级逻辑。3. 核心模块实现从密钥分发到AI检测的逐行解析3.1 设备认证用ECC在资源受限节点上实现前向安全性传统方案用预共享密钥PSK但工业现场无法保证密钥分发安全。我们采用ECC密钥协商但避开标准ECDH——因为XBee S2C的协处理器不支持点乘运算。解决方案是“密钥分割迁移”网关生成secp256k1密钥对私钥存于树莓派TPM芯片公钥固化在XBee模块Flash新节点入网时发送随机数R32字节网关用私钥计算S R * priv_key mod p将S通过Zigbee广播帧下发节点用内置公钥验证S有效性验证逻辑S * G R * pub_key其中G为基点此运算在节点端只需2次椭圆曲线点加耗时8ms双方以SHA256(RS)为种子生成AES会话密钥。关键细节R值必须满足R pp为secp256k1阶否则验证失败。我们实测发现若R由节点伪随机生成有0.002%概率越界。最终在节点固件里加入while R p: R sha256(Rcounter)循环增加的3ms耗时在工业采样周期通常≥100ms内完全可接受。3.2 加密传输AES-GCM的工业级参数调优标准AES-GCM要求IV唯一但无线传感器常因掉电丢失计数器。我们设计“双IV机制”主IVnode_id uptime_msuptime_ms为节点开机毫秒数精度足够区分不同会话辅IVframe_counter % 2568位计数器防重放攻击。加密时先用主IV生成GMAC标签再将辅IV拼入明文头部。解密端收到帧后提取辅IV检查是否在本地窗口[last_counter, last_counter128]内若不在触发密钥轮换流程若在用主IV解密并校验GMAC。参数实测对比在树莓派4B上IV方案密钥轮换频率重放攻击拦截率解密失败率单IVuptime_ms15分钟92.3%0.01%单IVframe_counter1小时99.8%1.7%计数器回绕双IV本方案15分钟99.97%0.0003%注意解密失败率包含硬件噪声导致的CRC错误纯算法失败率为0。3.3 AI异常检测用孤立森林替代深度学习的工程真相很多人疑惑“为什么不用LSTM预测RSSI趋势” 答案很现实LSTM模型文件12MB树莓派SD卡剩余空间仅800MB且加载耗时2.3秒每秒需处理217帧387节点×0.56Hz平均上报率LSTM单次推理18ms队列积压必然发生更致命的是涂装车间的变频器干扰导致RSSI呈非平稳跳变LSTM训练数据需覆盖所有工况而产线不可能为训练停机。孤立森林的妙处在于模型体积仅156KBjoblib.dump压缩后单次预测耗时0.8msn_estimators100, max_samples256对非高斯分布数据鲁棒性强——我们把3秒窗口内的128个RSSI值转为特征向量[mean, std, skew, kurtosis, min, max]即使干扰下分布畸变孤立森林仍能识别异常簇。训练数据采集技巧我们没用“正常数据”而是故意制造故障在冷却段放置金属板反射信号模拟管道破裂用手机热点在2.4GHz频段制造阻塞模拟恶意干扰断开某个节点电源再恢复模拟电池老化。这样得到的异常样本比任何合成数据都真实。3.4 安全审计日志让Python脚本具备“取证级”记录能力工业安全审计不是“有没有日志”而是“日志能否经得起法庭质证”。我们的audit_logger.py做到三点硬件时间戳不依赖系统时钟通过ioctl(fd, TIOCGSERIAL, serinfo)读取串口芯片的RTC寄存器误差10ms防篡改哈希链每条日志含前一条日志的SHA256哈希形成链式结构。若有人删改第5条日志第6条的哈希校验必然失败分级存储Level 0事件如JOIN_REQUEST存本地SQLiteLevel 1事件密钥交换同步至厂区NASLevel 2事件PLC指令拦截立即触发邮件告警并生成PDF证据包含帧原始hex、解密后明文、设备证书摘要。一个反直觉的设计我们禁用Python的logging模块改用os.write()直接写入/dev/shm内存文件。因为logging的缓冲机制在断电时可能丢失最后200ms日志而内存文件在sync前虽有风险但我们用fsync()强制刷盘实测断电丢失率从12%降至0.0001%。4. 实操部署全流程从烧录固件到产线验证的72小时4.1 环境准备树莓派的“工业级”改造清单别信“树莓派开箱即用”工业现场要过三关供电关普通USB电源在电压波动时易重启。我们用Mean Well DR-60-2460W工业电源输出纹波50mV散热关树莓派4B在-15℃冷库会结露45℃涂装车间CPU达85℃。解决方案是铜质散热片导热硅脂信越X-23-7783D铝合金外壳带鳍片实测-20℃~60℃稳定运行存储关SD卡在震动环境下易损坏。我们用SanDisk Industrial microSDXC128GB并启用overlayfs只读根分区所有日志写入/dev/sda1外接SSD。配置要点在/boot/config.txt中添加# 禁用蓝牙/WiFi减少干扰 dtoverlaydisable-bt dtoverlaydisable-wifi # UART0直连XBee关闭console enable_uart1 uart_2ndstage1 # 内存分配 gpu_mem164.2 固件烧录让老旧XBee模块“学会”新协议XBee S2C出厂固件不支持自定义APS层。我们用Digi的XCTU工具烧录ZIGBEE-PRO-THROUGHPUT固件版本8073再通过AT指令注入自定义逻辑ATAP2启用API模式ATNIZIGSEC_NODE设置网络标识符ATMY0x2A7F分配16位网络地址注意地址不能为0x0000那是协调器专用ATIR100设置IO采样间隔100ms这是温湿度传感器的黄金参数低于80ms会导致XBee内部缓冲溢出。关键技巧批量烧录时用Python脚本控制XCTU的COM端口避免手动操作失误。我们写了batch_flash.py输入设备列表CSV自动完成固件下载、AT指令配置、地址分配387个节点22分钟搞定。4.3 Python服务部署systemd守护进程的工业实践zigsec.service文件不是简单复制粘贴我们做了四重加固[Unit] DescriptionZigbee Security Proxy Afternetwork.target StartLimitIntervalSec0 [Service] Typesimple Userzigsec Groupzigsec WorkingDirectory/opt/zigsec ExecStart/usr/bin/python3 /opt/zigsec/main.py Restarton-failure RestartSec10 # 关键限制资源防失控 MemoryLimit512M CPUQuota30% # 防止日志撑爆磁盘 StandardOutputjournal StandardErrorjournal SyslogIdentifierzigsec # 工业级健康检查 ExecStartPre/opt/zigsec/check_hardware.sh # 崩溃时自动保存coredump CoreDumpFilter0x33check_hardware.sh内容#!/bin/bash # 检查XBee串口是否存在 if ! ls /dev/ttyUSB* | grep -q XBee; then echo XBee device not found! 2 exit 1 fi # 检查TPM芯片是否就绪 if ! tpm2_getcap -c properties-fixed | grep -q TPM_PT_PCR; then echo TPM not ready! 2 exit 1 fi这个脚本让systemd在启动前就发现硬件故障避免服务反复崩溃。4.4 产线验证72小时压力测试的“死亡清单”上线前我们在备用产线上进行72小时不间断测试记录所有崩溃点第8小时振动传感器在冲压瞬间加速度50g导致XBee射频前端失锁帧丢失率飙升。解决方案在main.py中加入if acc 45: skip_encryption_for_next_3_frames()牺牲3帧安全性保通信连续性第36小时涂装车间喷漆机器人启动时2.4GHz频段噪声使RSSI突降25dB孤立森林误判为攻击。优化在特征向量中加入max_rssi_drop_in_last_5s阈值设为20dB第68小时PLC控制器固件升级后MAC地址变更网关信任链断裂。修复trust_manager.py新增plc_mac_watcher线程监听ARP表变化自动触发信任重建。最终通过标准连续72小时无Level 2事件漏报Level 1事件误报率≤2.5%平均端到端延迟≤180ms产线要求≤200ms。5. 常见问题与排障手册那些文档里不会写的坑5.1 串口通信类问题从“收不到数据”到“数据错乱”的全链路排查提示90%的“收不到数据”问题根源在电气层而非软件层。现象pyserial读取数据全是0x00检查XBee的ATD0引脚是否悬空应接GND用示波器看TX线若波形平直无跳变说明XBee未进入API模式ATAP2未生效树莓派GPIO14/15UART0与XBee的RX/TX是否交叉连接工业现场常因接线图错误导致反接。现象数据帧头正确但payload错乱检查pyserial的timeout参数设为0.05秒50ms太小会截断长帧太大导致阻塞XBee的ATRO接收缓冲区大小默认64字节若传感器上报JSON超长需ATRO256最隐蔽的坑树莓派的/boot/cmdline.txt中若含consoleserial0,115200会与XBee争抢UART0删除后重启。5.2 加密类问题GCM校验失败的三种工业特有原因注意GCM失败不等于密钥错误83%的情况与硬件相关。原因1时钟漂移导致IV重复XBee模块内部RTC精度±200ppm15分钟轮换周期下两节点时钟差可达180ms解决方案在密钥轮换时网关广播当前UTC时间戳节点用NTP校准但NTP在工业内网不可用我们改用“时间戳差分法”节点记录收到广播的时间T1网关记录发出时间T0节点用(T1-T0)补偿自身时钟。原因2Flash写入干扰加密运算XBee在保存密钥到Flash时CPU会暂停指令执行若此时恰好收到加密帧GCM计算被中断结果错误解决方案在XBee固件中将密钥写入操作安排在信标帧间隙Beacon Interval 100ms避开数据帧高峰期。原因3电磁干扰导致AES硬件加速器出错树莓派4B的ARM Cortex-A72有AES-NI指令集但强磁场下会返回错误密文排查用openssl speed -evp aes-128-gcm测试若结果波动15%说明硬件受干扰应对在/boot/config.txt中添加arm_freq1500降频或改用纯Python AES实现性能降3倍但稳定性100%。5.3 AI检测类问题孤立森林的“工业幻觉”及修正现象模型在测试集准确率99%上线后误报率飙升根本原因训练数据未覆盖“合法异常”。例如冲压机启动瞬间RSSI下降22dB是正常的但模型没见过解决方案建立“工业异常词典”将产线公认的27种合法突变录入/opt/zigsec/valid_anomalies.json检测时先匹配词典再送入模型。现象孤立森林对新节点“一视同仁”无法区分设备类型温湿度节点与振动节点的RSSI基线完全不同混在一起训练会失效正确做法按设备类型分组训练。我们用node_type字段在JOIN_REQUEST帧中携带路由到不同模型实例内存占用增加12%但误报率下降63%。5.4 运维类问题如何让非Python工程师也能维护经验最好的安全系统是让产线班组长能看懂日志。问题工程师离职新同事看不懂zigsec日志我们开发log_viewer.py输入日志路径自动生成HTML报告时间轴视图标出所有Level 2事件设备拓扑图用graphviz绘制节点关系异常节点标红帧解码器点击任意日志行显示原始hex→解密后明文→语义解释如0x01 0x2A 0x7F → 温度23.5℃湿度45%。问题安全策略更新需重启服务产线不允许实现热更新机制main.py监听/etc/zigsec/policy.json的inotify事件策略变更后trust_manager动态加载新规则无需重启进程。6. 后续演进从“能用”到“好用”的三个务实方向这个项目上线半年后我们没急着上“AI大模型”而是扎扎实实做了三件事第一把Python脚本编译成独立可执行文件。用Nuitka将main.py编译为zigsec.bin体积12MB启动时间从3.2秒降至0.4秒且无需现场安装Python环境——这对IT能力弱的中小工厂是救命稻草。第二开发离线诊断U盘。U盘里放diagnose.sh脚本插上树莓派自动运行检测串口、TPM、网络、存储健康度生成PDF报告。产线工人按说明书操作5分钟定位90%故障。第三构建最小化知识库。把所有排障经验写成Markdown用mkdocs生成静态网站部署在网关本地Nginx上。网址http://192.168.1.100/docs班组长用手机就能查“RSSI突降怎么办”。最后分享个细节我们没用任何云服务所有AI模型、日志、策略都留在本地。不是抗拒云而是客户明确要求“数据不出厂区”。当别人在谈“云边协同”时我们先确保“边”能独立活下去——这才是工业安全的起点。

相关新闻

Guava EventBus实战:进程内消息队列如何优雅解耦Java业务模块

Guava EventBus实战:进程内消息队列如何优雅解耦Java业务模块

接手过一套老系统的同学,大概率遇到过我下面说的这种场景:下单方法里硬生生排着发短信、扣库存、埋点、通知推荐系统,再加个新需求就要在核心流程里插一行新代码,改到最后连文档都找不着北。当时我在一个业务后台里折腾这种"…

2026/10/12 14:03:14 阅读更多 →
SpringBoot+Vue药店销售系统开发实战:从进销存到库存效期管理

SpringBoot+Vue药店销售系统开发实战:从进销存到库存效期管理

提到药店销售系统,很多人的第一反应是“不就是个进销存吗”,但真正在店里跑过一圈就会发现,药品零售和普通商品零售差别很大:药品有批号、有有效期、有拆零销售、有处方药登记,会员还往往要按积分兑礼品,采…

2026/10/12 14:03:14 阅读更多 →
Python实战领域驱动设计:从理论到生产级DDD落地全复盘

Python实战领域驱动设计:从理论到生产级DDD落地全复盘

写这篇之前,我先说说背景。在Python社区聊领域驱动设计(DDD),大多数人第一反应是"这不Java那套吗?我们Python不搞这些";另一部分人看过一两本讲DDD的书,结果满脑子都是Entity、Value …

2026/10/12 14:03:14 阅读更多 →

最新新闻

YOLOv8 RTSP流目标检测实战:从拉流到推理的工程化落地

YOLOv8 RTSP流目标检测实战:从拉流到推理的工程化落地

简介:本资源面向计算机视觉开发者与视频监控、智能交通、工业自动化方向的工程人员,提供YOLOv8结合RTSP实时流做目标检测的完整工程包,解决从拉流、推理到结果展示的落地问题。压缩包共467个文件,约169.25MB,以145个py…

2026/10/12 15:00:39 阅读更多 →
SLR(1)分析器原理与实战调试指南

SLR(1)分析器原理与实战调试指南

简介:本资源是一份面向高校编译原理课程学习者与实验实践者的SLR(1)语法分析器Java实现项目,聚焦自底向上语法分析核心算法,帮助学生深入理解文法处理、分析表构建与移进-归约机制。压缩包共85个文件,含76个Java源码(覆…

2026/10/12 15:00:39 阅读更多 →
守望先锋S5卡顿根源:Windows内存调度深度优化指南

守望先锋S5卡顿根源:Windows内存调度深度优化指南

1. 项目概述:这不是游戏优化,而是一场系统级“内存压力测试” “守望先锋s5”这个标题里藏着三个关键信号: 版本迭代、性能瓶颈、用户集体性崩溃体验 。它不是某个人的个例,而是大量玩家在赛季更新后集中爆发的典型症状——内存…

2026/10/12 15:00:39 阅读更多 →
SWIFT报文格式手册解析:从字段映射到可复现的解析器实现

SWIFT报文格式手册解析:从字段映射到可复现的解析器实现

简介:SWIFT报文格式手册2023年度更新版,面向银行国际结算从业者、贸易金融人员及国际贸易专业师生,用于解决跟单信用证报文处理与解析中的格式规范问题。资源为单个doc文档,压缩包约414KB,内容围绕2023年11月18日起生效…

2026/10/12 15:00:39 阅读更多 →
MS-COCO中文扩展包coco-cn:跨语言图像描述与标签数据实战指南

MS-COCO中文扩展包coco-cn:跨语言图像描述与标签数据实战指南

简介:COCO-CN 是一个面向跨语言多媒体研究的中英双语图像描述数据集,通过人工书写的中文句子与标签对 MS-COCO 进行扩充,适用于图像标注、图像字幕生成及跨语言图像检索等任务,适合从事多模态学习、视觉语言预训练与跨语言迁移的研…

2026/10/12 15:00:39 阅读更多 →
Vue全家桶开发中小学家校服务系统:课程设计级全栈项目解析

Vue全家桶开发中小学家校服务系统:课程设计级全栈项目解析

这道题目拿到手,我第一反应是:又是一个典型的课程设计/毕业设计级别的全栈小项目。"vue中小学家校服务系统设计与实现985k5"——这个文件名里"985k5"应该是作者保存项目时的版本号或者压缩包编号,不重要,重要…

2026/10/12 14:59:37 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练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 阅读更多 →