AIRI DevLog 实战解析:把 yui540 的 CSS 动画移植成可复用的 Vue 页面转场组件
人工智能AI AgentMCP 服务工具调用GUI 自动化语音数字人交互助手【免费下载链接】airi 自托管、归你拥有的 Grok 风格 AI 伴侣与 waifu / 赛博生命灵魂容器目标是接近 Neuro-sama 的高度支持实时语音聊天、Minecraft 和 Factorio 游玩支持 Web / macOS / Windows。项目地址https://gitcode.com/moeru-ai/airi点击查看免费下载本文以 airi 仓库中 DevLog-2025.03.06 的开发日志为线索完整梳理当日围绕proj-airi/ui-transitions动画转场包展开的核心工作将设计师 yui540 的 CSS 动画移植为任意 Vue 项目可复用的转场组件、借助unplugin-vue-router的definePage宏实现页面级转场声明、以及基于 Netlify 的 playground 部署模式。读完本文你将掌握该转场包的组件 API、生命周期钩子架构、页面配置方式与真实工程落地细节并能直接在当前仓库中验证每一处实现。日志背景从 DevStream 出发的一天这篇 DevLog 记录了 2025 年 3 月 6 日一整天的开发节奏按时间线分为三段前一天Dejavu的直播成果回顾、白天Day time的技术实验与调研、以及当天直播DevStream中的集成实战。贯穿始终的主线是页面转场动画transition animations的组件化——作者的目标非常明确把 yui540 在个人作品中展示的惊艳 CSS 动画移植成任何 Vue 项目都能直接用的可复用 Vue 组件。这个目标最终沉淀为仓库中的packages/ui-transitions包。从其 README 可知该包被定义为 A set of UI transition animations for fade-in / fade-out of scenes即一套用于场景淡入 / 淡出切换的 UI 转场动画集合并且按包说明和 package.json 中的描述它被直接服务于 Project AIRI 的各个 Web 前端。从 CSS 到 Vue 组件7 个转场动画的移植日志中提到的 把 CSS 实现拆分进 Vue 组件 这一步在仓库里已经落成了完整的组件库。packages/ui-transitions/src/components/index.ts统一导出了 7 个转场组件组件转场注册名动画形态SlideTransitionslide双层色块从左向右滑入再滑出SlopeSlideTransitionslope-slide带斜切的 clip-path 遮罩平移ArrowTransitionarrow箭头形 clip-path 遮罩扫过MultipleBlocksRevealTransitionmultiple-blocks-reveal5 个横向分块依次滑入FantasyFallTransitionfantasy-fall单色幕布从指定方向坠落RectanglesRotateTransitionrectangles-rotate三块矩形旋转展开BubbleWaveOutTransitionbubble-wave-out同心圆气泡向外扩散这些组件的实现方式非常一致每个组件只是一个固定定位、覆盖全屏的容器真正动起来的是容器内::before/::after伪元素或子元素上挂载的 CSS 关键帧动画。以SlideTransition为例SlideTransition.vue两个伪元素分别承担两层不同颜色的遮罩通过slideIn/slideOut两组keyframes和错开的animation-delay0.2s与0s、1.2s与1.4s营造出一层盖一层的推进感缓动曲线统一使用cubic-bezier(0.87, 0.05, 0.02, 0.97)——这是一个非常明显的先慢后快加速曲线也是这些转场视觉节奏的共同来源。值得注意的是SlopeSlideTransition与ArrowTransition都直接复用了 yui540 原始实现的思路源码注释中保留了原作者的署名与出处见 SlopeSlideTransition.vue 与 ArrowTransition.vue采用clip-path多边形配合maskIn/maskOut关键帧实现斜切与箭头形状的遮罩扫过效果而MultipleBlocksRevealTransition则通过 5 个子块各自的--d延迟变量依次为 0.1s、0.3s、0s、0.4s、0.2s制造错落的节奏感。颜色与参数通过 CSS 变量注入组件与页面之间通过 props 传递配色再由组件在onMounted时写入document.documentElement.style的 CSS 自定义属性。例如SlideTransition会把primaryColor/secondaryColor分别映射为--stage-transition-1-overlay-color-1/2SlideTransition.vueRectanglesRotateTransition则映射三块矩形的颜色以及--rectangle-rotate-duration、--rectangle-rotate-stagger、--rectangle-rotate-rotation等可调参数RectanglesRotateTransition.vue。这种组件内部只管 CSS 变量、具体值由外部注入的设计正是日志中所说的可扩展、灵活的机制的最初形态。StageTransitionGroup转场编排的核心枢纽如果说 7 个转场组件是演员那么StageTransitionGroup就是掌控全场节奏的导演。它是整个ui-transitions包对外最主要的组件承担三类职责统一接收全局配色参数、按注册表选择转场组件、在路由切换时触发完整转场生命周期。核心实现在 StageTransitionGroup.vue。Props API组件对外暴露的 propsStageTransitionGroup.vue包括primaryColor/secondaryColor/tertiaryColor一、二、三级主题色colors颜色数组供需要多色层的转场如bubble-wave-out使用zIndex转场遮罩的层叠顺序默认 100disableTransitions完全关闭转场直接next()放行导航usePageSpecificTransitions若为真且目标页面的meta.stageTransition.pageSpecificAvailable为真则跳过全局转场交给页面自行处理。转场注册表与参数类型组件内部维护了一个transitions注册表把注册名映射到组件与时长配置StageTransitionGroup.vueinterface TransitionOptions { component: TransitionComponent duration: number // 进入动画总时长 exitDuration?: number // 退出动画时长可选 nextDelay?: number // 导航发生时机可选默认取 duration / 3 } const transitions shallowRefRecordstring, TransitionOptions({ slide: { component: SlideTransition, duration: 2700 }, slope-slide: { component: SlopeSlideTransition, duration: 2700 }, arrow: { component: ArrowTransition, duration: 2700 }, multiple-blocks-reveal: { component: MultipleBlocksRevealTransition, duration: 2800 }, fantasy-fall: { component: FantasyFallTransition, duration: 2700 }, rectangles-rotate: { component: RectanglesRotateTransition, duration: 2700 }, bubble-wave-out: { component: BubbleWaveOutTransition, duration: 1000 }, })可以看到大部分转场进入动画时长约 2.7 秒multiple-blocks-reveal略长2.8 秒而扩散型的气泡转场最快1 秒。这一注册表设计让新增一种转场只需两步写一个组件、往注册表里加一项符合日志中可扩展、灵活的目标。七阶段生命周期钩子组件定义了一套完整的转场生命周期阶段StageTransitionGroup.vueexport type TransitionStage | before-enter // 动画即将开始 | enter-active // 进入动画进行中 | navigation // 导航时机由组件决定何时跳转 | after-enter // 进入动画完成 | before-leave // 退出动画开始前 | leave-active // 退出动画进行中 | after-leave // 整个转场周期结束配套的钩子系统允许外部通过addTransitionHook(hook)注册监听器返回一个移除函数triggerHooks(stage, data)会按注册顺序依次await执行所有钩子单个钩子出错只会被console.error捕获、不会阻断后续流程StageTransitionGroup.vue。转场的完整时序在triggerTransitionAsyncFn中编排StageTransitionGroup.vue关键设计点包括若转场名为none或未注册直接next()放行导航并快速 resolve导航时机默认取duration / 3即进入动画进行到约 1/3 时就触发路由跳转也可用nextDelay覆盖通过一个临时注册的navigation钩子确保只导航一次hasNavigated标志若转场进行中又收到新的导航请求会先快速走完上一场的before-leave→after-leave清理流程间隔 50ms 后再启动新转场进入阶段用setTimeout依次触发navigationnextDelay时、after-enterduration时、before-leaveduration 10ms、leave-activeduration 20ms、after-leaveduration exitDuration时finally块中还有一个兜底逻辑若duration * 2后仍未导航强制next()避免转场异常导致路由卡死。与 vue-router 的挂接组件在setup中通过useRouter()拿到路由实例并注册router.beforeEach守卫StageTransitionGroup.vue当disableTransitions为真或目标路由的meta.stageTransition不是对象时直接放行否则把全局 props 中的颜色、zIndex 等覆盖到该页面的stageTransition参数上再调用triggerTransition(stageTransition, next)拦截导航、先播动画再跳转。模板层也非常简洁StageTransitionGroup.vue渲染默认插槽即router-view当showTransition为真时再按activeTransitionName动态渲染对应的转场组件并注入stageTransition参数。definePage 宏页面级的转场声明日志中作者提到实验了unplugin-vue-router提供的definePage宏发现它非常适合当前场景于是决定沿用这条路。definePage允许在script setup中直接声明页面级的路由 meta从而把这个页面用哪种转场的配置内联到页面文件本身。ui-transitions的 playground 正是这一机制的完整示范。playground 的 Vite 配置vite.config.ts挂载了vue-router/vite插件指定root: playground、自动扫描.vue/.md扩展名的页面并生成类型化的路由声明文件入口 main.ts 直接使用vue-router/auto-routes生成的路由表并配合createWebHashHistory。每个演示页面只做两件事引入公共的Buttons导航组件、用definePage声明自己的转场。例如首页 index.vuescript setup langts import { definePage } from vue-router/experimental import Buttons from ../components/Buttons.vue definePage({ meta: { stageTransition: { name: slide, }, }, }) /script template Buttons / /template其余页面依次声明了slope-slidetransition-2.vue、arrowtransition-3.vue、multiple-blocks-revealtransition-4.vue、fantasy-fall带direction: down参数transition-5.vue、rectangles-rotatetransition-6.vue、bubble-wave-outtransition-7.vue。Buttons.vue则用RouterLink生成 1 到 7 的跳转按钮网格方便快速对比每种转场效果。全局配色注入playground 的根组件 App.vue 演示了StageTransitionGroup的标准用法外层包住router-view并通过useDark根据明暗主题注入不同的配色——亮色为#FFA1B3/#A1FFD7暗色为#FF5778/#57FFB7注释标注了该配色的来源链接。这种全局容器注入颜色 页面级声明转场名的分离式架构正是日志中可复用目标的具体体现。Netlify 部署playground 的发布模式日志中提到一个重要约定从这一天起所有包的 playground 都采用proj-airi${subDirectory}${packageName}的 Netlify 部署命名模式。ui-transitions对应的部署域名即proj-airi-packages-ui-transitions.netlify.app。仓库中的 netlify.toml 展示了完整的部署配置[build] base / command pnpm -F proj-airi/ui-transitions run build pnpm -F proj-airi/ui-transitions run play:build publish /packages/ui-transitions/playground/dist [build.environment] NODE_VERSION 24 NODE_OPTIONS --max-old-space-size4096 [[redirects]] from /* to /index.html status 200 force false几个值得注意的细节构建命令通过 pnpm-F过滤出proj-airi/ui-transitions包先执行包的build脚本该包是纯 Vue 源码分发package.json中 build 脚本为 No build step required再执行play:build构建 playground发布目录直接指向playground/dist——这正是 vite.config.ts 中把build.outDir显式设为playground/dist的原因NODE_VERSION 24与NODE_OPTIONS --max-old-space-size4096明确了当时 Netlify 构建环境的 Node 大版本与内存上限全量 200 重写到/index.html是典型的 SPA 路由回退fallback策略配合 hash 路由createWebHashHistory双保险保证刷新或直接访问子路径时不出现 404。文档站点与 /docs 反向代理日志同时记录了文档站点的发布官方文档站部署到了airi.build作者一度纠结于子路径方案airi.more.ai/docs并尝试为/docs做一个返回 200 的重定向代理与 CI/CD 管道搏斗了约十个 commit 仍未成功但日志末尾以 EDIT 标记确认终于学会了怎么做细节会在后续 DevLog 中分享。这段记录说明作者在部署链路CI/CD、重定向代理上确实投入了相当精力只是当天尚未形成可复用的方案。白天的技术调研Phi-4-mini 与 LLM 网关除转场动画外日志还记录了白天的一组技术调研这部分属于作者当天的研究笔记供了解其决策背景作者研究了 DeepSeek 团队此前一周开源的基础设施索引open-infra-index研究了字节跳动发布的 LLM 网关项目 AIBrix重点关注微软新发布的 Phi-4-mini 是否适合移植到 AIRI 使用。日志记录的好消息是 Phi-4-mini 支持 function calling意味着终于可以用预训练支持来构建 Agent。需要说明的是这部分内容属于当日日志作者的调研记录与个人判断并非仓库内的实现事实从源码看AIRI 目前的 Agent 能力建设分布在packages/core-agent、packages/provider-inference等包中转场动画与这些调研之间并没有直接代码关联故此处仅作背景陈述。实战集成把转场装进 AIRI 主站日志中把 stage transition 动画组件集成进 AIRI 网站主舞台的实战在仓库apps/stage-web中留有明确痕迹。首先在依赖层面apps/stage-web/package.json 声明了proj-airi/ui-transitions: workspace:^说明主站直接以 workspace 依赖方式消费该包。其次在入口组件 apps/stage-web/src/App.vue 中StageTransitionGroup被包裹在StartupOverlay内、包住整个RouterViewStageTransitionGroup :primary-colorprimaryColor :secondary-colorsecondaryColor :tertiary-colortertiaryColor :colorscolors :z-index100 :disable-transitionssettings.disableTransitions.value :use-page-specific-transitionssettings.usePageSpecificTransitions.value RouterView v-slot{ Component, route } Transition :nameactiveRouteTransitionName modeout-in div :keyroute.path :class[h-full w-full] ErrorBoundary titleSomething went wrong while rendering this page. error... component :isComponent / /ErrorBoundary /div /Transition /RouterView /StageTransitionGroup这里有几个与日志呼应的工程细节配色与主题系统联动primaryColor/secondaryColor/tertiaryColor并非写死的色值而是基于isDark与主题色相--chromatic-hue用color-mixoklch动态计算的apps/stage-web/src/App.vue四个颜色依次取色相偏移 0°、180°、60° 的组合colors数组还会补上页面底色暗色#121212/ 亮色#FFFFFF。这与 playground 中暗色 / 亮色两套配色的思路一脉相承但更贴合 AIRI 的动态主题能力设置项透传disableTransitions与usePageSpecificTransitions直接绑定到用户设置settings.disableTransitions、settings.usePageSpecificTransitions这正是日志中提到的模块配置 UI 与设置页面的一部分——用户可以在设置里开关转场动画普通页面过渡与舞台转场并行RouterView外层还套了一个基于to.meta.transition的Transition modeout-in其过渡名由router.beforeEach根据目标 / 来源路由的meta.transition与meta.transitionBack动态切换apps/stage-web/src/App.vue。也就是说AIRI 主站存在两层切换机制轻量的 VueTransition用于常规页面过渡重量级的StageTransitionGroup用于舞台感的转场演出。日志还如实记录了两个集成过程中的问题集成当天并不顺利作者发现并修复了此前动画组件设计中的几个 bug并且在手机端实测时发现动画在移动设备上被意外破坏桌面和平板正常计划次日修复。这提醒使用者全屏覆盖的转场动画对移动端视口与性能敏感上线前务必做多端验证。从日志到可复用包本文要点回顾回顾这篇 DevLog可以提炼出几条对 Vue 前端工程有直接借鉴价值的实践CSS 动画组件化的拆分方式把视觉表现CSS 关键帧 伪元素与编排逻辑注册表 生命周期钩子分离动画组件只负责按 CSS 变量渲染遮罩编排逻辑统一收敛在StageTransitionGroup新增转场的成本降到最低页面级转场声明通过definePage把转场名写进路由 meta页面自述想要什么转场全局容器负责执行配置内聚、职责清晰导航拦截与兜底router.beforeEach拦截 next()延迟调用 duration * 2兜底超时 hasNavigated防重入构成一套健壮的路由转场保障机制主题与转场联动配色由主题系统计算后注入 props、再由组件写为 CSS 变量保证转场与站点主题色天然一致部署约定proj-airi 子目录 包名的 Netlify 命名模式与 playground 统一构建发布流程让每个包的演示环境可独立、可复现。对于想要在自有 Vue 项目中复用的读者直接参考 packages/ui-transitions/playground 的目录结构即可根组件套StageTransitionGroup包住router-view各页面用definePage声明meta.stageTransition.name再按需覆盖颜色、方向direction、圆角borderRadius、时长duration、延迟delay与旋转角度rotation等参数——其中FantasyFallTransition与RectanglesRotateTransition还额外支持方向、圆角、旋转等精细参数是扩展性最好的两个组件见 FantasyFallTransition.vue 与 RectanglesRotateTransition.vue。这组组件完全独立于 AIRI 的业务模块按 README 的 MIT 许可即可放心引入自己的项目。赞分享人工智能AI AgentMCP 服务工具调用GUI 自动化语音数字人交互助手【免费下载链接】airi 自托管、归你拥有的 Grok 风格 AI 伴侣与 waifu / 赛博生命灵魂容器目标是接近 Neuro-sama 的高度支持实时语音聊天、Minecraft 和 Factorio 游玩支持 Web / macOS / Windows。项目地址https://gitcode.com/moeru-ai/airi点击查看免费下载相关推荐AIRI 开发日志解析把 yui540 的 CSS 动画移植成可复用的 Vue 舞台转场组件库AIRI 开发日志解析把 yui540 的 CSS 动画移植成可复用的 Vue 舞台转场组件库 本篇技术文章以 AIRI 项目 2025 03 06 的开发日AI 应用人工智能大模型数字人AI Agent语音前端后端桌面应用移动开发即时通讯3D渲染AIRI 舞台过渡动画开发日志深度解析把 yui540 的 CSS 艺术移植成可复用的 Vue 组件AIRI 舞台过渡动画开发日志深度解析把 yui540 的 CSS 艺术移植成可复用的 Vue 组件 本文基于 AIRI 项目的开发日志2025.03.06AI 应用人工智能大模型数字人AI Agent语音前端后端桌面应用移动开发即时通讯3D渲染零依赖4步走用OpenArk完成Windows反恶意软件检测与深度进程分析零依赖4步走用OpenArk完成Windows反恶意软件检测与深度进程分析 任务管理器里冒出一个你没见过名字的进程路径还指向某个临时目录应用列表里却找不到网络安全逆向工程桌面应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

PID算法实战指南:从仿真调参到硬件部署避坑

PID算法实战指南:从仿真调参到硬件部署避坑

简介:本资源是一套面向嵌入式开发初学者与单片机工程师的PID控制算法实战代码库,聚焦STM32平台闭环控制场景,解决电机调速、温控系统、姿态稳定等典型应用中控制器设计与移植难题。压缩包共394个文件,以99个C源文件和102个头文件&…

2026/10/15 15:49:04 阅读更多 →
reladraw美化指南:自定义SVG图标、badge徽章与14种主题打造专属图表风格

reladraw美化指南:自定义SVG图标、badge徽章与14种主题打造专属图表风格

开发工具CLIAI 技能 【免费下载链接】reladraw 项目地址: https://gitcode.com/gh_mirrors/re/reladraw 点击查看 免费下载 reladraw 是一款用纯文本描述布局的图表语言:它把 .reladraw 文件渲染成独立 SVG,无需手动拖拽坐标。本文是面向新手…

2026/10/15 15:49:04 阅读更多 →
Southstreet Critical CSS深度解析:内联关键样式消除渲染阻塞,首屏1秒内可用

Southstreet Critical CSS深度解析:内联关键样式消除渲染阻塞,首屏1秒内可用

文档/教程示例工程 【免费下载链接】Southstreet Filament Groups core tools & workflow for delivering rich cross-device web applications 项目地址: https://gitcode.com/gh_mirrors/so/Southstreet 点击查看 免费下载 Southstreet 是 Filament Group 打…

2026/10/15 15:49:04 阅读更多 →

最新新闻

Hexo博客不蒜子计数器初始化实战指南

Hexo博客不蒜子计数器初始化实战指南

1. 项目概述:为什么一个静态博客的访问计数要“初始化”?Hexo折腾系列——不蒜子计数器初始化,这个标题里藏着三个关键信号:Hexo(静态站点生成器)、不蒜子(国内老牌轻量级访客/页面计数服务&…

2026/10/15 16:33:45 阅读更多 →
125kHz ID卡原代码:EM4100协议精准解码与硬件适配指南

125kHz ID卡原代码:EM4100协议精准解码与硬件适配指南

简介:本资源是一套基于125kHz RFID技术的ID卡读卡器嵌入式源码工程,面向嵌入式开发初学者、门禁/考勤系统开发者及RFID技术实践者,解决低频ID卡(如EM4001兼容的4001卡)快速识别与数据解析的核心问题,适用于…

2026/10/15 16:33:45 阅读更多 →
Prism MAUI 本地 NativeAOT 绑定验证实战:从 15 项渲染检查到物理设备发布

Prism MAUI 本地 NativeAOT 绑定验证实战:从 15 项渲染检查到物理设备发布

前端跨平台UI组件 【免费下载链接】Prism Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Xamarin Forms, and Uno / Win UI Applications.. 项目地址: https://gitcode.com/gh_mirrors/pri/Prism 点击…

2026/10/15 16:33:45 阅读更多 →
Chromebox3安装Ubuntu后内存化与最小化 eMMC 写入优化

Chromebox3安装Ubuntu后内存化与最小化 eMMC 写入优化

# Chromebox3(Reef / i7-8550U / 8G)内存化与最小化 eMMC 写入优化文档> 整理日期:2026-10-14 | 适用设备:Chromebox3 Reef | 固件:MrChromebox-4.20.0(保持不动) >…

2026/10/15 16:33:45 阅读更多 →
电源接口设计避坑指南:选型、接触电阻与PCB布局实战

电源接口设计避坑指南:选型、接触电阻与PCB布局实战

做硬件设计这几年,我见过太多在电源接口上翻车的案例了。有的产品功能调试全部通过,结果在试产阶段发现接口发热严重,只能临时改板重做;有的设备明明内部电路没问题,客户用了一段时间就报修,拆开一看是电源…

2026/10/15 16:33:45 阅读更多 →
Tower安卓地面站:MAVLink串口解析与离线地图实战指南

Tower安卓地面站:MAVLink串口解析与离线地图实战指南

简介:Tower是一款面向无人机开发者与飞控爱好者的Android端地面控制站(GCS)应用,专为连接和管理运行ArduPilot固件的无人机设计,适用于嵌入式系统调试、航拍任务规划及开源飞控二次开发等场景。资源包为ZIP格式&#x…

2026/10/15 16:32:44 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/15 13:48:15 阅读更多 →

月新闻

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