OpenPencil JSX 渲染器:用代码声明式构建设计并导出为 JSX/Tailwind
前端桌面应用AI 应用MCP 服务【免费下载链接】open-pencilAI-native design editor. Open-source Figma alternative.项目地址https://gitcode.com/gh_mirrors/op/open-pencil点击查看免费下载本文围绕 OpenPencil开源 Figma 替代方案、AI 原生设计编辑器的 JSX 渲染器展开系统讲解如何把 JSX 作为声明式设计语言在 AI 聊天、MCP 工具与evalCLI 中通过render传入 JSX 字符串创建设计在无界面代码或库中通过renderJSX/renderTree把 JSX 渲染进场景图以及用export命令把既有设计反向导出为可读、可 diff、可复用的 JSX 或 Tailwind 代码。读完本文你将掌握 OpenPencil JSX 的完整元素与样式属性体系、底层渲染管线sucrase 编译 → 树解析 → 场景图节点创建 → 自动布局以及用代码评审Code Review与版本管理承载设计变更的工程化工作流。JSX 作为声明式设计语言OpenPencil 把 JSX 用作设计创作的声明式语言一段 JSX 即描述一个设计树适合 AI Agent、脚本与可复现的界面构建。同时 JSX 也是既有设计的可读表示——设计变更表现为普通的代码 diff便于人工审查、存入版本控制系统甚至放到 CI 中自动分析。其核心思路与前端组件化完全一致用Frame容器和Text文本等元素声明层级与样式再交给渲染器转换为真正的场景图节点。相比在画布上手工拖拽JSX 方式的优势在于可复现、可审查、可自动化。一段最小设计示例Frame nameCard w{320} hhug flexcol gap{16} p{24} bg#FFF rounded{16} Text size{18} weightboldCard Title/Text Text size{14} color#666Description text/Text /Frame这里Frame声明了一个宽 320、高度自适应hug、纵向 flex 布局flexcol、子元素间距 16、内边距 24、白色背景、圆角 16 的卡片容器两个Text作为其子节点声明标题与描述文本。这段 JSX 可直接在 AI 聊天、MCP 的render工具或evalCLI 中执行渲染出一个真实的图层树。使用render渲染 JSX 的三种途径render工具同时存在于以下三个入口均接收 JSX 字符串入口使用方式AI 聊天Chat直接向 AI 会话中的render工具传入 JSX 字符串MCP 服务器通过 MCP 工具调用render传入 JSX 字符串evalCLI在命令行执行包含 JSX 的代码见openpencil eval底层通过 RPC 调用eval执行并渲染三种入口共享同一套 JSX 语法与渲染语义因此同一个设计代码段可以在不同场景间无缝迁移。在无界面代码中渲染open-pencil/design-jsx与open-pencil/core/design-jsx在不经过聊天/MCP/CLI、而是从应用代码或库中直接创建设计时需要引入两组包open-pencil/design-jsx提供Frame、Text等元素函数组件工厂用于在 TypeScript 中直接拼装设计树。其导出内容见 packages/design-jsx/src/index.ts包括Frame、Text、Rectangle、Ellipse、Line、Star、Polygon、Vector、Group、Section、Component、ComponentSet、Instance及其别名ViewFrame、RectRectangle、PageFrame。open-pencil/core/design-jsx提供renderJSX与renderTree两个渲染函数负责把 JSX 字符串/设计树真正渲染进场景图。它们来自 packages/core/src/design-jsx/index.ts底层由 packages/core/src/design-jsx/renderer.ts 通过createDesignJSXRenderer绑定引擎服务实现。open-pencil/core/design-jsx的渲染器绑定的是 OpenPencil 引擎提供的三类服务见 packages/core/src/design-jsx/renderer.ts#L39-L48图标icon按名称与尺寸拉取 Iconify 图标数据SVG 转换svg把内联svg标记提取路径并按 viewBox 缩放走与图标相同的管线布局layout渲染完成后调用computeAllLayouts计算自动布局。因此renderJSX/renderTree天然具备图标、内联 SVG 与自动布局能力这就是原文档所说它们添加图标、SVG 转换与布局的底层来源。两个函数的签名差异renderJSX(graph, jsxString, options)接收 JSX 字符串内部用 sucrase 编译renderTree(graph, tree, options)接收已用元素函数构建好的TreeNode树两者共享RenderOptions见 packages/design-jsx/src/types.tsx/y设置根节点位置、parentId指定父节点默认第一页、onNode在每创建一个图层时回调可用来建立源码到图层的映射。在 TSX 中书写设计树若想在.tsx源文件中直接用 JSX 语法书写设计树需要在tsconfig.json中配置{ compilerOptions: { jsx: react-jsx, jsxImportSource: open-pencil/design-jsx } }或只在单个文件顶部添加编译指令注释/** jsxImportSource open-pencil/design-jsx */这样open-pencil/design-jsx的 JSX 运行时见 packages/design-jsx/src/jsx-runtime.ts会接管jsx/jsxs/jsxDEV与Fragment字符串标签如frame、text映射为node(type, props)函数组件则直接调用返回TreeNode。该文件同时声明了JSX.IntrinsicElements接口frame、text、rectangle、ellipse、line、star、polygon、vector、group、section、component、component-set、instance为 TSX 提供类型提示。渲染管线从字符串到场景图renderJSX的完整链路见 packages/design-jsx/src/render.ts 与 packages/design-jsx/src/renderer.ts可以概括为五步编译buildComponent用 sucrase 把 JSX 字符串编译为函数编译时自动注入别名Frame、Text、View、Rect、Component、Instance、Icon、svg及各 Reka 元素命名空间和辅助函数solid、gradient、dropShadow、layerBlur、designVar等因此 JSX 字符串中可直接使用这些名字同时剥离 HTML 注释。解析resolveToTree把编译产物解析为TreeNode递归函数组件最多 100 层片段…/会被内联展开见 packages/design-jsx/src/tree.ts。校验对每个节点检查属性名不支持的属性收集为 warnings如Unsupported prop xxx on frame is ignored.并随渲染结果返回。建树renderNode按TYPE_MAP把元素类型映射为场景图节点类型frame→FRAME、text→TEXT、group→GROUP等通过propsToOverrides把 JSX 属性转换为节点字段再递归渲染子节点。值得注意的映射div/main/header/footer/nav/article/aside映射为FRAMEspan/p/h1~h6映射为TEXT——即可以直接用 HTML 语义标签写设计。布局所有根节点渲染完成后调用services.layout(graph)统一计算自动布局随后返回每个根节点的RenderResultid、name、type、childIds可能带warnings。若 JSX 未返回任何 Figma 元素会抛出明确错误JSX must return a Figma element (Frame, Text, etc)。元素清单下表为 OpenPencil JSX 支持的元素与 packages/design-jsx/src/schema.ts#L35-L53 的DESIGN_JSX_ELEMENTS定义一致元素创建的节点别名Frame带自动布局的帧容器View、PageRectangle矩形RectEllipse椭圆或圆Text文本对象子元素内容即文本内容Line直线Star星形可用points、innerRadius控制Polygon多边形可用pointCount控制Vector矢量路径Group编组Section画布分区除上表外schema 还注册了Component、ComponentSet、Instance组件/组件集/实例以及IconIconify 图标要求name属性如namelucide:heart默认尺寸 24见 packages/design-jsx/src/renderer.ts#L231-L245。Instance通过component/componentId/of属性按 ID、名称或组件集变体解析组件并支持overrides形如{ label:text: … }按子节点名覆盖实例内容。ComponentSet渲染后会依据变体命名如StateHover自动推断变体属性定义inferComponentSetProperties。样式属性体系属性命名刻意贴近 Tailwind 以保持简洁且绝大多数支持多别名。从源码 packages/design-jsx/src/schema.ts#L193-L210 的DESIGN_JSX_PROPERTY_ALIASES可以看到完整别名表w/width、h/height、bg/fill/background/backgroundColor、stroke/border/borderColor、rounded/cornerRadius/borderRadius、rotate/rotation、p/padding、justify/justifyContent、items/align/alignItems、size/fontSize、font/fontFamily、weight/fontWeight、textAlign/textAlignHorizontal/textHorizontalAlignment。渲染器按别名顺序读取第一个已设置的值。此外还支持style{{ … }}对象形式DESIGN_JSX_STYLE_KEYS把 CSS 风格键映射回 JSX 属性如background→bg、fontSize→size、borderWidth→strokeWidth、width/height等px字符串如320px会被解析为数字直接属性优先于style见 packages/design-jsx/src/props-overrides.ts#L74-L86。布局属性作用flexrow或col开启自动布局column等同colgap子元素间距wrap子元素换行rowGap换行时行间距justifystart、end、center或between主轴线对齐itemsstart、end、center或stretch交叉轴对齐p、px、py、pt、pr、pb、pl内边距p 为四边统一px/py 为水平/垂直其余为单边实现细节见 packages/design-jsx/src/props-overrides.ts#L317-L397flex决定layoutModecol/column→VERTICALrow→HORIZONTAL默认主轴/交叉轴均为HUG给w/h传数字会将该轴改为FIXED传hug保持HUG传fill则映射为layoutGrow/layoutAlignSelf在 flex 容器中子元素按方向选择 grow 或 stretchgrid 容器按行语义处理。只要出现flex或任意内边距/对齐属性就会自动启用自动布局shouldEnableAutoLayout。网格布局由grid、columns、rows、colStart、rowStart、colSpan、rowSpan属性驱动columns/rows支持数字或 CSS 轨道字符串如1fr 2fr。尺寸与位置属性作用w、h宽高数字、fill或hugminW、maxW、minH、maxH尺寸约束x、y位置top/left为别名在自动布局容器内显式给出x/y或top/left会自动把该节点标记为绝对定位layoutPositioning ABSOLUTEpositionabsolute也可直接声明。外观属性作用bg十六进制背景填充色fill/background/backgroundColor为别名fillbg的别名stroke描边颜色border/borderColor为别名strokeWidth描边粗细默认 1rounded圆角半径独立圆角roundedTL、roundedTR、roundedBL、roundedBRcornerSmoothing圆角平滑度 01opacity不透明度 01shadow投影如0 4 8 #00000040x 偏移、y 偏移、模糊半径、颜色blur图层模糊半径rotate旋转角度度blendMode混合模式overflowhidden或visiblehidden会设置clipsContent外观属性通过applyVisualOverrides见 packages/design-jsx/src/props-overrides.ts#L204-L215写入节点rounded为数字时设置cornerRadius四个独立圆角属性任一出现时启用independentCornersfills数组可用于声明多层填充每个成员可以是颜色字符串、Color对象或Fill对象。更丰富的填充渐变、多重效果可通过solid、gradient、linearGradient、radialGradient、angularGradient、diamondGradient、dropShadow、innerShadow、layerBlur、backgroundBlur、foregroundBlur等辅助函数表达DESIGN_JSX_HELPERS见 packages/design-jsx/src/schema.ts#L254-L268。排版属性作用size/fontSize字号font/fontFamily字族weight/fontWeightbold、medium、normal或数字映射为 700/500/400color文本颜色textAlignleft、center、right或justified排版族还支持lineHeight、letterSpacing、italic、textDecoration、textCase、maxLines、truncate、textAlignVerticaltop/center/bottom、textAutoResizenone/width/height等属性。文本自动尺寸有专门逻辑见 packages/design-jsx/src/props-overrides.ts#L448-L469显式宽度或位于自动布局且fill时用HEIGHT否则默认WIDTH_AND_HEIGHT——源码注释特别提醒该默认值依赖 headless 布局的 fallback 估算器改动会破坏所有 JSX 渲染。设计变量绑定JSX 支持把属性绑定到设计变量designVar与defineVars辅助函数创建变量引用bind属性或直接传变量对象到bg/color/stroke/size/gap等属性时渲染器会解析变量 ID 并调用graph.bindVariable建立绑定同时保留回退值见 packages/design-jsx/src/renderer.ts#L132-L218。这让代码生成的设计与设计系统 token 保持一致。导出设计为 JSX反向流程由export命令完成。JSX 导出支持两种风格openpencil export design.fig -f jsx # OpenPencil 原生 JSX 格式 openpencil export design.fig -f jsx --style tailwind # Tailwind 工具类-f jsx或-f tailwind-jsx以 OpenPencil 原生 JSX 格式输出可直接再渲染--style tailwind输出带 Tailwind 工具类的代码例如div classNameflex flex-col gap-4 p-6 bg-white rounded-xl p classNametext-2xl font-bold text-[#1D1B20]Card Title/p p classNametext-sm text-[#49454F]Description text/p /div导出的设计可以当作代码修改后再重新渲染。导出会完整记录隐藏与锁定图层、约束、尺寸约束、多层/渐变/图片填充、描边、效果、蒙版与变量绑定——这些信息在重新渲染时都能复现diff_jsx可以显示其中任何一项的变化。目前尚未导出的内容包括混合样式的富文本、矢量路径、布局网格、共享样式与组件属性定义。实例Instance会导出为带自身内容的 Frame因此导出的 JSX 是自包含的不依赖外部组件库。导出的完整命令集合见 packages/docs/programmable/cli/exporting.mdopenpencil export design.fig -f tailwind-jsx与-f jsx --style tailwind等价导出还支持png、jpg、webp、svg、pdf、pptx、fig、html、storybook等格式与-s缩放、-q质量、--page、--node等选项。另外openpencil tokens design.fig可以把文档变量导出为 CSS 自定义属性--format tailwind输出 Tailwind v4 的theme块供bg-primary这类类名使用与 JSX/HTML 导出的 token 化输出配套使用。设计变更的代码级对比由于 JSX 是可读的文本表示设计变更自然呈现为普通代码 diffFrame nameCard w{320} flexcol gap{16} p{24} bg#FFF - Text size{18} weightboldOld Title/Text Text size{24} weightbold color#1D1B20New Title/Text Text size{14} color#666Description/Text /Frame这样的 diff 可以在 Pull Request 中进行人工审查提交进版本控制系统并放到 CI 里自动分析配合diff_jsx检查任意属性的变化。对团队而言这意味着设计评审与代码评审可以共用同一套流程AI 或设计师修改 JSX审查者只看 diff 即可判断改动意图无需打开设计文件逐一比对。与相关工具链的衔接evalCLIopenpencil eval执行代码片段内部通过 RPC 的eval通道运行见 packages/cli/src/commands/eval.ts 与 packages/cli/src/index.ts--write可把结果保存为文档是脚本化构建设计的主入口。MCP / AI 聊天render工具面向 AI Agent 暴露同一 JSX 语法使模型可以直接写代码生图。open-pencil/design-jsx测试仓库内配套测试覆盖属性、网格、流式解析、reconcile 等行为见 packages/design-jsx/tests例如attributes.test.ts、grid.test.ts、props-overrides.test.ts、streaming.test.ts可作为 JSX 语法行为的可运行参考。JSX 导出实现selectionToJSX、sceneNodeToJSX等导出函数位于 packages/design-jsx/src/export/index.ts剪辑板 JSX 导出亦复用selectionToJSX见 packages/core/src/editor/clipboard/export.ts说明选中图层复制为 JSX与文件导出走同一套序列化逻辑。小结OpenPencil 的 JSX 渲染器把写界面变成了写代码render聊天/MCP/evalCLI负责解释执行 JSXrenderJSX/renderTreeopen-pencil/core/design-jsx在代码侧构建设计树export命令则把既有设计序列化为可读、自包含、可再渲染的 JSX/Tailwind。元素、布局、外观、排版与变量绑定构成的完整属性体系全部支持别名与style对象形式加上底层 sucrase 编译 → 树解析 → 场景图建树 → 自动布局的渲染管线让设计既可以由 AI 与脚本生成也可以像源码一样被审查、diff、入库与 CI 校验——这是 OpenPencil 作为 AI 原生设计编辑器的核心工程能力之一。赞分享前端桌面应用AI 应用MCP 服务【免费下载链接】open-pencilAI-native design editor. Open-source Figma alternative.项目地址https://gitcode.com/gh_mirrors/op/open-pencil点击查看免费下载相关推荐OpenPencil JSX 渲染器用声明式 JSX 创建与导出可编辑设计OpenPencil JSX 渲染器用声明式 JSX 创建与导出可编辑设计 OpenPencil开源 Figma 替代品将 JSX 作为设计创作的声明式语前端桌面应用AI 应用MCP 服务OpenPencil JSX 渲染引擎用声明式 JSX 构建可编辑设计树与 Tailwind 导出实战OpenPencil JSX 渲染引擎用声明式 JSX 构建可编辑设计树与 Tailwind 导出实战 OpenPencil 提供了一套独立的设计 JSX前端桌面应用AI 应用MCP 服务OpenPencil JSX 渲染器Motore JSX完全指南从声明式 JSX 到可编辑设计树OpenPencil JSX 渲染器Motore JSX完全指南从声明式 JSX 到可编辑设计树 导读 OpenPencil开源 Figma 替代品的前端桌面应用AI 应用MCP 服务上一篇arduino-esp32 Deep Sleep 完全指南ExternalWakeUp 外部唤醒与 TimerWakeUp 定时器唤醒实战下一篇iii 引擎生产部署实战Docker 化打包与 Caddy/Nginx 反向代理配置指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

ClawWork LiveBench 视频编辑 Agent 实战:解读 “Support Green Energy“ 30 秒广告的素材清单与成片工作流

ClawWork LiveBench 视频编辑 Agent 实战:解读 “Support Green Energy“ 30 秒广告的素材清单与成片工作流

人工智能AI AgentAgent 评测模型评测工具调用后端前端 【免费下载链接】ClawWork "ClawWork: OpenClaw as Your AI Coworker - 💰 $15K earned in 11 Hours" 项目地址: https://gitcode.com/gh_mirrors/cl/ClawWork 点击查看 免费下载 本篇技…

2026/10/9 2:36:39 阅读更多 →
OpenAI API 中场战事:模型选型、批量任务与成本排查指南

OpenAI API 中场战事:模型选型、批量任务与成本排查指南

这次我们不看某个本地一键包,而是从一个技术人更容易感知的维度拆一个更大的题:OpenAI 的中场战事。GPT 迭代、推理模型、多模态、API 生态、批量任务和 Token 成本,这些东西正在决定 AI 应用落地的“下半场”怎么走。这篇文章不聊太多叙事层…

2026/10/9 2:35:39 阅读更多 →
Java对接阿里云身份证实名认证:接口选型、代码实现与工程化避坑指南

Java对接阿里云身份证实名认证:接口选型、代码实现与工程化避坑指南

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

2026/10/9 2:35:39 阅读更多 →

最新新闻

DeepSeek+Coze AI获客智能体实战:从意图识别到工作流编排

DeepSeek+Coze AI获客智能体实战:从意图识别到工作流编排

简介:这份资源围绕DeepSeek与Coze组合,系统讲解从0到1搭建AI获客智能体的完整流程,面向传统行业中小老板、创业者与个人IP、销售运营人员,帮助解决短视频创作与获客难题。内容涵盖智能体定位与目标、业务流程梳理与痛点分析、场景…

2026/10/9 3:00:51 阅读更多 →
手写SMTP+POP3协议栈:TCP连接与状态机实战

手写SMTP+POP3协议栈:TCP连接与状态机实战

简介:本资源是一套基于Java Web技术实现的模拟邮件系统课程设计项目,面向计算机网络、Web开发初学者及高校课程设计实践者,聚焦SMTP/POP3协议原理与应用,解决邮件收发核心流程的编程实现问题。项目采用MVC架构,以Maven…

2026/10/9 3:00:51 阅读更多 →
Kanban:自托管的个人计划与待办看板

Kanban:自托管的个人计划与待办看板

项目仓库: https://github.com/Akvicor/kanban桌面客户端: https://github.com/Akvicor/kanban-app个人博客: https://www.ksyaki.com/archives/kanban-zi-tuo-guan-de-ge-ren-ji-hua-yu-dai-ban-kan-ban Docker 镜像: ghcr.io/akvicor/kanban Kanban 是一个自托管的个人看板…

2026/10/9 3:00:51 阅读更多 →
LmyExamExport.rar:.NET考试数据Excel导出中间件实战指南

LmyExamExport.rar:.NET考试数据Excel导出中间件实战指南

简介:这是一款面向高校教师与教育信息化开发者的蓝墨云试题导出工具,解决平台仅支持导入、无法导出试题数据的痛点,支持将蓝墨云测试数据解析为结构化试题库,并可选是否显示答案,适用于教学资源归档、试卷复用及学生自…

2026/10/9 3:00:51 阅读更多 →
信道估计数据集使用全攻略:从解压到PyTorch加载与避坑

信道估计数据集使用全攻略:从解压到PyTorch加载与避坑

简介:信道估计是无线通信系统接收端的关键环节,准确估计信道响应可显著提升数据传输性能。这份压缩包面向通信工程研究者与相关专业学生,整合了LS与MMSE两类经典估计算法的MATLAB实现,以及信道估计、均衡前后效果、LS与MMSE性能对…

2026/10/9 3:00:51 阅读更多 →
华为设备引导加载程序解锁工具实战:从驱动环境到解锁码写入的完整链路

华为设备引导加载程序解锁工具实战:从驱动环境到解锁码写入的完整链路

1. 解锁工具到底在解决什么问题第一次接触手机解锁工具的人,脑子里往往有个模糊的印象:插上数据线、点一下按钮,锁就开了。实际远没有这么简单。所谓“解锁”,在不同语境下指向完全不同的操作——有的是解除运营商网络锁&#xff…

2026/10/9 2:59:51 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 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/8 21:13:17 阅读更多 →
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/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练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/7 13:34:55 阅读更多 →