泛微OA明细数据写入全指南:从表结构到SQL与接口实战
泛微OA系统里写入明细数据这件事看着就是个常规操作但真正动手做过的都知道这里面的坑一点不少。主表、明细表、requestid、mainid、detail_mxid这几个词听起来是同一回事实际在库里查一圈你会发现它们的关系微妙得很。我在这上面栽过跟头也帮别人擦过不少屁股所以把这几年的实战经验整理一下从表结构到SQL写入再到接口对接、常见报错排查一次性说清楚。这篇文章适合正在做泛微项目实施、系统集成或者二次开发的工程师也适合被业务方追着问为什么数据没显示的运维同学。看完你至少能搞明白三件事明细数据到底存在哪张表、有哪几条写入路径、出了问题怎么快速定位。1. 先搞清楚泛微明细数据的存储结构1.1 主表与明细表是怎么对应起来的泛微e-cology的表单设计器里你拖进去的每一个明细控件后台都会自动生成一张物理表。表单本身在库里对应一张主表命名规则是formtable_main_表单ID明细表则是formtable_detail_表单ID。比如你建了一个表单ID为101的采购申请单库里的主表就是formtable_main_101明细表就是formtable_detail_101。主表存的是单据头信息比如申请人、申请部门、申请日期、单据编号明细表存的是行项目比如物料名称、规格型号、数量、单价、金额。一条主表记录可以挂N条明细记录它们之间通过关联字段建立父子关系。这个关系在界面上看不出来但一旦你要写数据或者做数据迁移就必须把它摸清楚。我在一个实际项目里遇到过这种事业务方要求把历史线下审批的两千多条数据导入OA当时负责的同事直接把数据拼成了一长串insert语句往formtable_detail_101里插结果页面上一行明细都看不到。查了半天才发现是mainid关联错了明细表确实插进去了但挂错了主表。这种问题用肉眼排查特别费劲因为数据在逻辑在就是关联不对。1.2 理解requestid、mainid、detail_mxid这三个关键ID这是整个写入明细数据最核心的部分我单独拎出来讲。泛微的主表和明细表里有几个字段不是业务字段但决定了数据能不能正常显示主表formtable_main_XX里有一个自增的id还有一个requestid。requestid是这条单据发起流程时生成的全局编号在整个流程生命周期里保持不变流程的每个节点记录都共享这个值。明细表formtable_detail_XX里有一个自增的id一个mainid还有一个detail_mxid。mainid用于关联主表detail_mxid是明细行的业务主键通常在明细行新增时通过系统规则生成。很多人在这里会踩坑主表既存在id又存在requestid那明细表的mainid到底关联哪个答案取决于你的表单是标准流程表单还是建模表单不同版本、不同部署方式下的行为不完全一致。有些环境的mainid对应主表的id有些环境对应主表的requestid我甚至见过同一个系统里不同表单行为不一致的情况。所以在动手写明细之前我的建议永远是先在数据库里做一次验证。查一条已知的、界面显示正常的数据看主表的id和requestid分别是什么值再查明细表的mainid到底匹配了哪个这样才不至于写出一堆孤儿数据。1.3 怎么快速找到字段标识写SQL或接口的时候经常要用字段标识很多人却在查看物理表字段时卡住。两个办法在表单设计器打开表单字段列表里每一行都有字段标识主表字段和明细字段是分开列的比如field0001、field0002。直接用数据库客户端查看表结构执行desc formtable_detail_101;或者查information_schema.columns字段名一目了然。我自己的习惯是两手抓先用表单设计器把字段标识翻译成业务含义比如field0001是物料编码、field0002是数量形成一张对照表再用SQL查物理表结构确认字段类型。这样做的好处是后面写脚本、写接口映射的时候不会张冠李戴。2. 写入明细数据的四种典型场景2.1 流程节点操作审批环节自动写明细这是泛微实施中最常见的配置化写法。比如某个审批节点审批人填写了意见还需要把调整后的采购数量回写到明细表对应行这时候不需要写代码在流程设计器的节点操作里配置更新字段就能实现。配置的时候需要选择目标表、设置过滤条件比如按明细行的某个编码字段匹配、然后给目标字段赋公式值。这种方式的好处是交付快、容易维护业务调整时实施人员可以直接改配置。但它也有明显的局限只能更新已存在的明细行不能新增行。如果你需要在流程节点里动态插入根本不存在的明细记录纯配置实现不了得靠后面说的脚本方式。另外我要提醒一下节点操作里的更新字段一旦配置生效它是跟着流程走而不是跟着表单走的也就是说同样的表单在不同流程里的更新行为可能不一样。排错的时候先确认当前流程的节点配置别在表单本身上面瞎找原因。2.2 表单联动主表变化后自动带出明细这种场景一般发生在交互录入环节。比如选择了一个供应商之后希望自动把他的历史报价明细带出来或者填了一个订单编号希望把订单的行项目自动填充到明细控件里。实现方式分为两类。一类是纯配置的选择框联动利用表单设计器的数据联动功能从一个数据源根据条件查出结果集并填充指定的明细控件适合简单的带出场景。另一类是写前端脚本在控件的change事件里发起异步请求拿到数据后用脚本往明细控件里动态追加行。第二种灵活度高但开发量也大而且需要考虑异步返回延迟、重复触发的防抖处理。这里有一个很容易被忽略的细节前端往明细控件里塞数据本质上是操作了页面上的明细数据模型但如果用户不点保存直接关闭页面这些数据是没有落库的。所以这种场景只适合辅助录入真正要做数据落地还得靠表单提交或者主动触发保存接口。2.3 后端二次开发脚本写入当流程节点操作和表单联动都搞不定带条件的动态写入时就该上后端代码了。泛微提供了一个系列的后端事件点比如表单提交前、提交后、流程节点进入时、节点离开时都可以挂载自定义代码。在二次开发里写明细数据有两种风格。一种是用泛微封装的数据对象通过框架提供的能力去构造主表和明细的数据结构然后调用保存接口好处是能复用系统的校验、日志和权限逻辑但前提是你得熟悉这套封装。另一种是直接操作数据库连接自己执行insert语句。后面这种方式更直观、更好调试很多老项目里大量存在但它绕过了系统的事件和日志出了问题很难追踪。我的观点是如果只是往明细表插几条数据用SQL其实并不丢人关键是做好日志记录和事务控制。别把必须用封装对象当成教条也别把直接写SQL当成万能解法按场景选型才是对的。2.4 外部系统通过接口或数据库写入泛微和ERP、MES之类的系统做集成时最常见的数据流向就是外部系统把明细数据推给OA。实现路径大体上有三种外部系统调用OA发布的接口传一个主表加明细数组的JSONOA服务端解析后写入两张表。这是最标准、最推荐的方式。外部系统和OA共用一套中间库外部系统往中间表插数据OA侧通过定时任务读取中间表处理后写入业务表单的明细表。这种方式适合接口不通、部署隔离的场景。外部系统直接连OA的数据库写表这种方式只适合一次性数据迁移不适合日常对接因为数据库连接串、账号权限都是敏感资源而且绕过系统逻辑极易产生脏数据。我在集成项目里最常用的是第一种。标准接口方式虽然前期要联调但后期运维清晰出了问题能通过接口日志定位中间表方式虽然解耦但要多维护一套定时任务而且数据状态流转要做额外的状态字段管理。3. 实操用SQL脚本直接写入明细表3.1 先查清楚表单对应的物理表无论你是做数据迁移还是写测试数据第一步一定是确认表名和字段。我曾经见过有人对着formtable_main_101的表名猜formtable_detail_101结果插完发现根本不是同一张表单的明细因为他的表单ID实际是110不是101。查表单ID的办法登录后台表单管理打开目标表单URL或列表页里能看到formid。这个formid就是物理表名里的那个数字。如果你不想登录后台也可以直接在数据库里查SELECT id, name, tablename FROM formtab AS ft WHERE ft.name LIKE %采购申请%;查到tablename如果显示的是formtable_main_101那明细表就是formtable_detail_101。这两个表名必须成对出现只找到一个就得再查。3.2 插入一条明细行的标准SQL示例假设现在要给一张已存在的采购申请单主表id为1001requestid为123插两行明细字段是field0001物料编码、field0002数量、field0003备注SQL大概是这个意思INSERT INTO formtable_detail_101 (id, mainid, detail_mxid, requestid, field0001, field0002, field0003) VALUES (seq_detail_101.NEXTVAL, 1001, 90001, 123, MAT-A001, 2, 加急采购);这里有几个关键点mainid必须和主表的关联规则一致。前面说过有的环境是id有的环境是requestid。先查再插别拍脑袋。detail_mxid是明细行的唯一标识在泛微里它需要保证唯一。如果你用序列或者取max1一定注意并发问题建议用系统提供的序列或者自定义的规则。requestid建议一起插进去虽然有些视图不依赖它但很多标准查询、流程相关表都会用requestid关联缺失会导致数据显示异常。id如果表是自增的可以不显式指定如果是手工管理主键就得补上。看表结构最稳妥。3.3 更新已有明细的SQL更新明细比插入要小心得多因为要精确命中你要改的那一行。通常的组合条件是mainid加上明细行某个业务字段或者直接用detail_mxidUPDATE formtable_detail_101 SET field0002 5, field0003 数量已修正 WHERE mainid 1001 AND detail_mxid 90001;如果你是通过字段标识反查出来的一堆字段注意别把主表的字段标识和明细表的字段标识搞混。有些字段名在两张表里都存在比如都叫field0001但含义完全不同。更新语句执行前最好先跑一遍select确认影响行数再执行update。还有一点泛微有些明细表带有版本字段比如version。如果前台编辑保存依赖版本号做乐观锁那么你直接改库而不更新版本号可能导致后续用户在界面上保存时提示数据已被修改。这种情况下需要把版本号也一并处理具体以实际表结构为准。3.4 事务与并发建议直接写库不是不行但一定要把事务控制好。主表和明细表是父子关系插入明细之前必须保证主表记录已存在如果主表是新插入的那就需要先插主表、拿到id再插明细这两步必须在同一个事务里否则中途报错会出现主表有单、明细为空或反过来明细一堆、主表不存在的尴尬状态。另外在并发场景下要特别关注detail_mxid的生成。如果多个线程同时在插明细用max1的方式生成很容易撞号。我建议用数据库序列或者用前缀日期随机数的规则宁可啰嗦一点也不要因为主键冲突让整个任务失败。做数据类操作事务和幂等这两个问题想清楚基本就成功了一大半。4. 实操通过泛微接口写入明细数据4.1 泛微接口的常见形态标准做法是走泛微提供的HTTP接口通常是REST风格也有部分老版本是WebService方式。接口的路径前缀在不同版本、不同部署环境里差异很大我这里不写死具体路径反正你在对接之前一定要拿到当前环境对应的接口文档或者用接口调试工具先探一下。接口形态大体上是外部系统向OA发送一个带认证参数的请求请求体里携带主表数据和明细表数组OA侧收到后根据表单唯一标识和字段映射完成写入。这一套逻辑对调用方来说是一个黑盒好处是你不必关心物理表结构坏处是一旦字段映射配错数据进去了但含义全错而且排查起来比查SQL慢。4.2 认证与签名参数泛微接口的认证逻辑在不同版本里五花八门常见的套路是调用方注册一个应用拿到appid和secret每次请求带上appid、timestamp和一个由参数拼接后签名计算的sign值。签名算法一般是把关键参数按字典序排序、拼接、再用secret做摘要。我给出一个通用的签名计算思路具体算法以你们环境的接口文档为准// 伪代码计算签名 const params { appid, timestamp, nonce }; // 参与签名的参数 const keys Object.keys(params).sort(); const str keys.map(k ${k}${params[k]}).join() secret secret; const sign md5(str).toUpperCase();不同的版本可能在拼接顺序、是否需要nonce、摘要算法是md5还是sha256上存在差异。最靠谱的办法是先找接口文档里的签名示例用同一组参数自己算一遍看算出来的sign值和文档示例是否一致一致再拿去调线上接口。4.3 一个轻量请求示例假设我们有一个接口接收主表和明细信息核心请求体长这样字段名以实际环境为准这里只是示意{ appid: test_app, timestamp: 1735689600000, sign: xxxxxx, data: { formId: 101, mainData: { field0001: PO-2024001, field0002: 2024-01-01 }, detailData: [ { field0003: MAT-A001, field0004: 2 }, { field0003: MAT-A002, field0004: 3 } ] } }服务端收到请求后会先校验签名和时间戳然后根据formId找到对应的主表和明细表配置把mainData和detailData分别写入。调用成功后返回一个单据号或主表id外部系统拿这个返回值作为后续查询的依据。我在对接外部系统时特别强调一件事接口文档里如果没有明确说明重复调用会发生什么一定要自己做幂等控制。比如请求体里带一个业务流水号服务端先查流水号是否已存在已存在则直接返回原结果避免因为网络超时重发导致明细重复插入。这个坑几乎每个集成项目都会遇到。4.4 接口写入的常见限制接口方式虽然比直接写库安全但它的限制也很现实数据量限制一次调用如果明细行数特别多比如几百行服务端可能超时或拒绝。建议分批提交每批控制在几十行以内。必填字段校验接口写数据同样受系统校验规则约束必填字段缺失会被拒绝。调试时先确认哪些字段是必填别拿一条不完整的测试数据反复试。中文与编码请求体统一用UTF-8编码别在传输层把中文搞成乱码否则数据进去就是一堆问号。字段类型校验日期字段、数字字段都要求特定格式传错类型接口会报校验错误。日志保留接口调用日志要留足至少要记录时间、请求ID、调用方、返回结果。这样出了问题才能快速定位是调用方的问题还是服务端的问题。5. 常见问题与排查技巧5.1 写入了明细但表单页面上看不到这类问题排在所有问题里的首位。数据明明插进去了select也能查到但界面上就是看不到。先说最常见的原因mainid关联错了。你按主表的id写了mainid但这个环境实际要用requestid关联结果绑定的主表根本对不上。排查方法很简单找一个界面显示的正常单据分别查主表的id和requestid再查这条数据在明细表里的mainid值对比一下你就知道该用哪个了。另外一个容易忽略的原因是requestid没写或者写错。泛微的某些列表查询视图是通过requestid去关联主表、明细表以及流程表的如果requestid为空或错误即使mainid对了也有可能在列表页或表单查看页里显示不出来。5.2 插入失败字段不存在或类型不匹配插入报错的排查思路比较直接。第一种是字段名拼错比如field0001写成了fileld0001SQL执行时直接报列名无效。第二种是字段类型不匹配你往数字字段里插入了一个带字母的字符串数据库直接拒绝。第三种是数据库差异泛微支持Oracle、SQL Server、MySQL等不同数据库日期字段的写法、字符串拼接语法都有差异跨库经验不能直接照搬。我建议写任何insert或update之前先跑一条select把目标表的字段、行数都确认一遍再动手。别高估自己的记忆力也别高估同事写的字段对照表以数据库实际结果为准。5.3 重复写入与幂等控制这个问题在接口对接场景里出现得最多。外部系统调用接口超时了调用方自动重试结果服务端其实已经写成功了重试又插了一条明细表里就出现了两行一模一样的记录。解决办法是在业务层面做唯一约束。比如主表里有一个业务单号字段明细行有一个行号字段用业务单号行号做唯一键写入前先查一次存在就不重复插入。接口方式可以额外加一个请求流水号服务端用流水号做去重数据迁移场景则建议用源系统ID源系统行号作为明细行的唯一标识防止重复导入。5.4 日期时间字段的格式坑日期字段是写入明细数据时最容易翻车的类型。很多人习惯拼一个字符串插进去比如2024-01-01 12:00:00但在某些数据库、某些字段类型下这种写法会报无效的日期或者被隐式转换得莫名其妙。正确做法是用数据库的日期转换函数比如Oracle用TO_DATE(2024-01-01 12:00:00, YYYY-MM-DD HH24:MI:SS)MySQL用STR_TO_DATE或者直接传标准格式的日期字符串。如果你是从外部接口传数据最好在服务端就统一格式化成对应的类型别依赖隐式转换。5.5 数据库账号权限受限很多运维在排查写入失败时会碰到一个诡异的现象select能跑insert或update却报权限不足。原因多半是当前连接数据库的账号是泛微自带的只读账号或者DBA只给了查询权限。这时候不要试图给这个账号提权除非你确认这个账号就是给应用用的正确做法是让DBA单独创建一个具有读写权限的账号或者放弃直接连库改用接口方式写入。权限边界搞清楚能省掉很多不必要的扯皮。6. 写在最后的一点体会实际项目中我见过太多因为图省事而留下的烂摊子。直接改库插明细确实快但如果没有做好事务、没记录日志、没验证关联字段后续排查的成本远远超过当时省下的那些时间。接口方式看起来麻烦但每一步都有日志、有校验、有反馈出了问题可以顺着链路追回去。我个人建议是一次性数据迁移可以用SQL脚本但脚本要保留字段映射要写成文档日常接口对接优先走接口并且把幂等和重试机制提前设计进去上线前无论用哪种方式都要找一条真实业务数据做全链路验证从写入到界面显示完整走一遍再放量。泛微写入明细数据这件事说到底不是技术难度的问题而是细心程度的问题把细节管住了这活儿就稳了。

相关新闻

COMP9021 Python本地验证沙箱:构建可复现、可断点、可比对的最小运行单元

COMP9021 Python本地验证沙箱:构建可复现、可断点、可比对的最小运行单元

简介:本资源是悉尼新南威尔士大学COMP9021《编程原理》课程配套的Python基础巩固资料合集,面向编程初学者、计算机专业低年级学生及自学Python的学习者,聚焦语法掌握、逻辑训练与应试能力提升。压缩包共7个文件(54KB)&…

2026/10/19 14:02:45 阅读更多 →
IEC 61558-1:2017安规设计实战指南:从爬电距离到温升计算

IEC 61558-1:2017安规设计实战指南:从爬电距离到温升计算

简介:本资源为国际电工委员会(IEC)发布的最新版标准文件IEC 61558-1:2017《电力变压器、电源、电抗器和类似产品的安全 第1部分:通用要求和试验》,适用于电气设备设计、认证、检测及安规工程师,是开展变压器…

2026/10/19 14:03:33 阅读更多 →
C#调用Aspen Plus COM接口:流程模拟自动化与批量优化实战

C#调用Aspen Plus COM接口:流程模拟自动化与批量优化实战

简介:这是一份面向Aspen Plus二次开发者的接口工程案例压缩包,基于COM组件技术,使用C#实现与其他应用程序的数据读写交互,适合需要将过程模拟结果集成到自研系统的工程师或学习者。压缩包共114个文件,约1MB&#xff0c…

2026/10/18 14:01:15 阅读更多 →

最新新闻

Flink 算子实战:map、filter、flatMap 的选型、组合与性能优化

Flink 算子实战:map、filter、flatMap 的选型、组合与性能优化

1. 为什么这三个算子值得单独拎出来讲刚接触 Flink 的人,十有八九是从map、filter、flatMap这三个算子入门的。它们看起来简单到不需要解释——map就是一进一出,filter就是过滤,flatMap就是一进多出。但我在实际带人做流处理任务的过程中发现…

2026/10/19 16:13:06 阅读更多 →
从暗杀宝录的投掷指令,看 ABAP 如何用有限资源解决关键业务瓶颈

从暗杀宝录的投掷指令,看 ABAP 如何用有限资源解决关键业务瓶颈

/* 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 16:13:06 阅读更多 →
AI辅助开发实战:从代码生成到团队协作的效率革命

AI辅助开发实战:从代码生成到团队协作的效率革命

前几天在团队的需求评审会上,A同学当着所有人的面,把一段模糊得不能再模糊的需求描述丢给了AI代码助手,不到一分钟,接口对接的样板代码就出来了。大家愣了两秒钟,然后该吵参数还是吵参数,但那一刻我心里很清…

2026/10/19 16:13:06 阅读更多 →
给音乐库批量补上 LRC 歌词:163MusicLyrics 音乐歌词下载工具实操指南

给音乐库批量补上 LRC 歌词:163MusicLyrics 音乐歌词下载工具实操指南

给音乐库批量补上 LRC 歌词:163MusicLyrics 音乐歌词下载工具实操指南 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 音乐库里几百首歌,歌词文件…

2026/10/19 16:13:06 阅读更多 →
HCP-MMP1.0图谱掩码提取:基于MATLAB的fMRI ROI分析工具

HCP-MMP1.0图谱掩码提取:基于MATLAB的fMRI ROI分析工具

简介:这套由MATLAB编写的开源提取工具,面向脑影像与神经科学研究人员,用于从人类连接组项目HCP-MMP1.0分区图谱中快速提取指定脑区的体积二进制掩码。HCP-MMP1.0图谱包含精细的皮层脑区划分,但直接操作图谱文件需处理复杂的体素索…

2026/10/19 16:13:06 阅读更多 →
RAG全链路拆解:从文档解析到检索优化的实战指南

RAG全链路拆解:从文档解析到检索优化的实战指南

RAG这两年几乎是所有大模型应用绕不开的话题,尤其是在企业内部知识库问答、私有文档检索、客服助手这类场景里,它已经是标配方案了。但我在和一些开发者、产品经理聊的时候发现,大家对RAG的理解往往停在“检索生成”这四个字上,知…

2026/10/19 16:12:02 阅读更多 →

日新闻

频率跟踪型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/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出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/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练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 阅读更多 →