华为云码道 CodeArts 实测:让 AI 用纯 TypeScript 写一个确定性回放的塔防小游戏「熵减特勤局」
一键开通华为云码道 CodeArts 代码智能体https://developer.huaweicloud.com/codeartsco.html?sourcedmzntgwatomgit1sourceaddmzntgwatomgithd摘要本文是华为云码道 AI 编程挑战赛第 5 期收官期的参赛实测记录。我用 CodeArts 代码智能体独立开发了一款纯浏览器 Canvas 策略小游戏「熵减特勤局」在网格化机房部署守护进程抵御熵潮错误数据流对核心服务的侵蚀。技术上是零运行时依赖的 TypeScript 自研 ECS 固定步长确定性模拟核心亮点是回放即测试一整局游戏就是一个回归测试用例。文章完整记录架构设计ECS 双循环 关卡即数据、AI 擅长与不擅长的分层实测、功能演示与踩坑记录源码已在 AtomGit 开源。这是五期系列的最后一篇Web 全栈、小程序、鸿蒙原生、桌面应用之后第五种端形态压轴。技术栈版本码道 CodeArts 代码智能体2026-09 挑战赛版本| TypeScript strict运行时零 npm 依赖| Canvas 2D | Vite仅构建| Vitest 确定性回放回归 | 实测时间: 2026-10一、项目背景压轴为什么选游戏以及一个运维皮肤五期的最后一期我选了与前四期反差最大的品类。理由有三游戏是五类赛题里工程差距最大的品类。多数 AI 一次性生成的游戏 demo逻辑糊在渲染循环里、魔法数字满天飞、不可测试工程化叙事在这里几乎没有竞争确定性模拟能把「测试」带进游戏。塔防玩法确定性、回合结构清晰恰好是最适合确定性模拟的品类回放一整局就能做回归测试这是其他参赛作品很难有的代码质量证据题材可以致敬我的真实身份。世界观借用了我的日常守护进程、熵潮、核心服务。第 2 期做运维巡检工具时 defend 的那些服务器在这期变成了一款游戏要守护的机房这个「彩蛋式致敬」会在系列收官时成为叙事闭环。先划清边界熵减特勤局与第 2 期巡哨是完全不同的产品——一个是分析工具小程序一个是游戏浏览器 Canvas零代码关系只有世界观的呼应。这也是对「旧作品翻新」红线最干净的回应连运维皮肤都是新的创作。1.1 作品功能一览模块功能ECS 引擎实体-组件-系统架构逻辑零渲染依赖可无头运行双循环固定 60Hz 步长模拟 可变步长渲染插值 追帧上限玩法网格部署改变流场4 种守护进程 × 4 种错误数据包 × 6 关回放系统指令流 种子完整重放任意一局一局 一个测试用例失败复盘防线击穿时间轴定位核心服务首次被击穿的 tick 与位置本地存档localStorage 存关卡进度与最佳评分唯一存储技术栈TypeScript strict运行时零 npm 依赖 Canvas 2D 自研 ECS Vitest。构建用 VitedevDependency产物纯静态任意静态服务器可玩。二、架构设计三个核心决策老规矩架构决策在人、实现在 AI。本期三个决策全部指向同一个目标让模拟可测试。2.1 决策一ECS——实体是 ID行为在 System数据在 Component直觉写法是每个「塔/敌人/子弹」一个 class互相持有引用。但塔防的实体关系是网状的子弹找敌人、光环影响塔、干扰体禁用塔——class 网会迅速纠缠成不可测的泥球。动手前比过两条路方案关系解耦可测性扩展新实体结论OOP 继承树Tower/Enemy 基类差交叉引用成网差依赖完整对象图改继承树否决ECS组件 系统好系统按需查询组件无相互持有好System (组件集) → 副作用新组件 新系统✅ 采用// src/engine/World.ts节选——ECS 内核零游戏知识/** * 实体销毁是惰性的标记后统一回收query 不返回已销毁实体。 * 组件存储 MapEntityId, T300 实体上限下不追求极致性能可测性优先。 */exportclassWorld{registerComponentT(name:string):void;createEntity():EntityId;addComponentT(id:EntityId,name:string,data:T):void;getComponentT(id:EntityId,name:string):T|undefined;query(...names:string[]):EntityId[];// 含全部指定组件的存活实体destroyEntity(id:EntityId):void;}分层边界是一条硬纪律sim/**不 importrender/**与任何 DOM API——同一份模拟状态渲染层只是读取者。这让「无头跑一整局」成为可能也是回放测试的地基。2.2 决策二固定步长模拟 可变步长渲染 追帧上限requestAnimationFrame一步一模拟的写法在 144Hz 屏上游戏快 2.4 倍、掉帧时变慢、切后台回来瞬移。三种常见方案摆在一起比方案跨帧率一致性切后台表现结论rAF 每帧模拟一步差144Hz 屏快 2.4 倍瞬移否决可变步长按 dt 模拟中浮点 dt 累计误差不可回放dt 巨大时数值爆炸否决固定步长 累加器 插值 追帧上限好模拟与帧率解耦补步上限 超限快进✅ 采用// src/engine/loop.ts节选——纯逻辑部分可单测exportconstFIXED_DT_MS1000/60;/** * 模拟恒定 1/60s 步长渲染每帧用 alpha 做状态插值 * 后台返回最多补 10 步超出按快进丢弃积压显性架构决策写进注释。 * 【确定性纪律】sim 层禁止读时钟——performance.now 只允许出现在 rAF 壳一处。 */exportfunctionplanTick(accumulatorMs:number,maxCatchupSteps10):LoopTick{constrawMath.floor(accumulatorMs/FIXED_DT_MS);constsimStepsMath.min(raw,maxCatchupSteps);constcatchingUprawmaxCatchupSteps;constconsumedcatchingUp?0:raw*FIXED_DT_MS;// 快进时清空积压return{simSteps,catchingUp,interpolationAlpha:(accumulatorMs-consumed)/FIXED_DT_MS,};}2.3 决策三确定性四纪律——回放即测试的地基「同一份指令流喂给同一版本引擎必得同一结果」——这个性质不会自然发生靠四条纪律硬性保证写进了 README 与架构文档纪律实现破坏的后果一切随机走Rng种子化实现sim 层禁Math.randomESLint 自定义规则 CI回放漂移系统执行顺序固定调度器注册序即执行序禁止动态排序回放漂移模拟层禁用时钟禁Date.now/performance.now直调回放漂移整数结算资源与伤害全整数禁浮点累计跨次运行结果不一致这四条纪律的直接产出是本期的招牌能力回放即测试预录三条标准局胜利 / 失败 / 极限翻盘CI 里无头回放并断言终局状态哈希。一整局游戏的运行正确性被压缩成一条npx vitest run src/replay的输出。三、用 CodeArts 开发AI 擅长与不擅长的分层3.1 开发前的准备打开 CodeArts 之前的人肉准备AtomGit 公开仓库entropy-rangersLICENSE README 骨架、Vite TS 模板跑通以及本期最重要的设计底稿——三个数值表初稿塔/敌/关卡的 JSON。数值不用精确先「能跑起来」平衡调整全部发生在回放工具上这是「调参不改代码」工作流的起点。七天里程碑D1 ECS 内核与双循环 → D2 网格流场与最小可玩 → D3 回放与全部单位 → D4 渲染与交互 → D5 关卡内容与收口 → D6 文章 → D7 投稿收官期无平移空间D5 即达可投状态。3.2 AI 擅长什么结构良好的纯逻辑五期下来最稳定的一个观察AI 对「输入类型明确、输出类型明确、规则可穷举」的模块生成质量极高。本期最典型的是流场寻路——话术写死「BFS 从核心格出发、塔格视为临时阻挡、被围死时自毁、遍历顺序按 idx 升序确定性」AI 一次生成即通过全部 19 个用例包括两条我最担心的完全围死触发自毁、同输入两次计算逐位一致。D2 话术节选——把「确定性」写成可验收的断言 …… ## 三、确定性要求 BFS 遍历顺序固定按 idx 升序入队禁止任何哈希序依赖。 ## 四、测试 ≥ 15 用例 - 直线路径 / 绕开单个阻挡 / 完全围死触发自毁 - 塔部署前后流场变化某格方向被改写 - 同输入两次计算结果逐位一致确定性断言 ……3.3 AI 不擅长什么自觉维持约束AI 不会主动维持你没盯着的全局约束。D3 期间我抓到两次「确定性破坏」一次是分裂体敌人的死亡分裂用了Math.randomAI 觉得「就一个随机数」一次是某个系统里顺手写了Date.now()做耗时统计。两处都能跑、肉眼看不出版本差异但回放立刻漂移。处理方式固化为一条修错话术的追加约束【约束】不得通过删减确定性断言/放宽回放比对来让测试通过。 修复方向只能是把随机改经注入的 Rng、把时间来源改为注入。 修复后回放回归必须全绿。这段「AI 生成能跑但不满足确定性 → 回放测试抓住 → 重构收敛」的完整过程是本期博文最有说服力的素材。四、功能演示从部署到复盘的完整闭环构建产物纯静态JS 81.78 kBgzip 25.85 kB CSS 18.73 kBVite 实测npx serve dist打开即玩。4.1 部署改变流场——玩法核心选中守护进程进入部署模式悬停格高亮合法绿/非法红 射程圈预览。部署 firewall防火墙的瞬间整个熵潮流场被改写——敌人绕行的路径变化在画面上直接可见。这是「部署改变流场流场决定战局」这个核心策略的具象化。4.2 UI 优化后的在线效果v0.0.2首轮验收后针对视觉与信息层级做了一轮 UI 优化开局引导、状态侧栏、胜利结算全面重排操作提示与胜负期望直接内嵌在面板中。以下为优化后的在线实测截图可直接体验https://entropy-rangers.yangchina.cn欢迎大家体验。4.3 回放一整局——「一整局就是一个测试用例」手玩一局 → 导出回放 JSON指令流 种子 数值表哈希→ 无头重放结果与实际完全一致。这套机制在仓库里的形态是一条测试命令$ npx vitest run src/replay ✓ 回放回归防退化3 ✓ standard-win:outcomevictory,stateHash581952af ✓ standard-lose:outcomedefeat,stateHash3f42ed1c ✓ standard-close:outcomevictory,stateHash604d2feb ✓ 回放确定性3 ✓ 同一 ReplayData 播放两次 stateHash 一致 ✓ 指令乱序注入tick 逆序与顺序播放结果一致 ✓ 空指令回放纯防守可跑完 ✓ balanceHash 校验3 ✓ balanceHash 不匹配 → 抛 BalanceMismatchError Tests18passed(18)这份输出既是一条回归测试任何 sim 代码变更破坏确定性或平衡立刻红也是游戏能完整跑通的运行证据还是 Bug 复现协议玩家导出指令流附在 issue 里即可精确复现。4.4 失败复盘——防线击穿时间轴失败之后不止一屏「Game Over」自动分析定位核心服务首次被击穿的 tick 与位置时间轴标注三个关键点首次受击 / 完整度跌破 50% / 终局点击可跳转回放。最直观的一条提示长这样「01:35 熵潮自 C7 突破——该通道无拦截单位」。五、踩坑记录AI 写对了九成剩下一成靠人记录开发过程中真实遇到的问题。坑一切后台回来瞬移积压帧一次全补现象标签页切走几分钟后切回游戏画面瞬间跳到「未来」——敌人位置、波次全部快进体验像录像带快进卡带。根因rAF 在标签页不可见时停摆visibilitychange 恢复后累积了几千毫秒的 deltaplanTick的追帧上限没生效——AI 第一版把「补帧」写成了「补到追上为止」上限参数形同虚设。解决追帧上限 10 步 超限快进丢弃积压planTick已有此设计rAF 壳没接对恢复时同时清一次累加器。修复后切后台回来平滑继续planTick的 18 个边界用例守护住这个行为。教训纯逻辑层设计了防御上限薄壳层没接上等于没有在「可单测的纯函数 不可单测的薄壳」的边界处验收必须跨层走一遍。坑二浮点累计让回放第一次变红现象D3 回放回归首次接入时同一条标准局两次回放的终局 stateHash 不一致——确定性真的破了。根因经济系统的波次奖励结算有一处credits * 0.7出售返还浮点乘法在两次运行中的舍入路径不同累计顺序差异整数纪律被一行代码破坏。这正是四纪律里「整数结算」要防的事但它是在写实现时靠人盯的ESLint 规则当时还没加。解决返还改为(credits * 7) / 10的整数运算先乘后除补 ESLint 规则禁止 sim 层浮点运算于金额类变量回放回归转绿。这个坑反过来验证了回放测试的灵敏度——一行浮点都能被 stateHash 抓住。教训确定性不是设计出来的是测出来的——四纪律是必要条件回放回归才是充分条件。坑三Canvas 合批踩坑实体一多掉帧现象第 5 关后期接近 300 实体上限帧率明显下跌性能面板显示瓶颈在绘制——每个实体独立 save/restore 状态切换draw call 数量失控。根因AI 的渲染实现是「每实体一次完整绘制流程」的直觉写法没有利用同类型实体可合并的特性静态网格层也没做离屏预渲染每帧重画。解决两层优化——静态层网格/阻挡/流场箭头移入 OffscreenCanvas 仅在变化时重绘动态实体按类型分组合批绘制血条只在低于 50% 时渲染。优化后第 5 关后期帧率恢复平稳draw call 数量从「每实体一次」降为「每类型一次」。教训性能优化的前提是「每帧绘制成本」有数先录火焰图确认瓶颈在绘制而非模拟再动手模拟层本就经过了无头一局耗时的性能基线验证瓶颈果然不在那里。5.4 小结三个坑依旧符合系列规律且本期多了一层结构性的收获回放测试把「AI 改坏了什么」从人工回归变成了机器断言。四纪律 回放回归的组合让「AI 大量生成代码」这件事在游戏品类里第一次有了自动化的安全网。质量收口的实测数据本地实测vitest 全绿engine 27 / sim 99 / replay 18 用例共 188 个全绿行覆盖 sim 87.12%、replay 82.51%、engine 79.53%–coverage 实测薄壳层 render/ui 不计入核心口径回放回归 3 条标准局全绿胜利 / 失败 / 极限翻盘各一条确定性禁用规则命中 0运行时 dependencies 为空构建产物 JS 81.78 kBgzip 25.85 kB CSS 18.73 kB3000 步无头一局模拟 20.46 ms性能基线用例实测。六、提效数据AI 辅助开发到底快了多少本次开发的提效记录基于开发日志的实际耗时统计为个人单项目样本仅供参考。开发阶段纯手写预估AI 辅助实际提效来源ECS 内核 双循环 单测约 2 天约 3 小时结构清晰的纯逻辑是 AI 最强区网格流场 最小可玩闭环约 2.5 天约 4.5 小时算法 边界穷举AI 一次过审率高回放系统 全部单位约 2 天约 4 小时数据驱动设计让实现即翻译Canvas 渲染 部署交互约 2 天约 5 小时AI 写结构手感调优靠人六关调参 复盘 收口约 1.5 天约 5 小时回放工具让调参可验证合计约 10 天约 21.5 小时按 D1~D7 七天收官期排布开发调参约 3 天余量为关卡内容、UI 优化、复盘与成稿开发全程在 CodeArts 的同一个 Agent 会话中连续进行无跨会话重开上下文得以延续。两点说明一是「纯手写预估」基于经验估算存在主观误差二是数值平衡的时间没有省——AI 生成数值草案后「回放验证 → 人工微调」的循环跑了三轮才达到「直觉部署能险胜」的手感这部分是游戏品类特有、AI 无法替代的时间。整体看工期压缩到传统方式的四分之一左右确定性回放带来的「改代码不心虚」是五期以来体感最明显的质量护栏。七、开源地址与运行方式项目已开源包含可运行源代码、README作品介绍与开源协议项目仓库https://atomgit.com/dickeryang/entropy-rangers.gitAtomGit 公开仓库在线演示https://entropy-rangers.yangchina.cn 打开即玩欢迎大家体验本地运行只需两步零后端、零运行时依赖# 1. 克隆并构建gitclone https://atomgit.com/dickeryang/entropy-rangers.gitcdentropy-rangersnpminstallnpmrun build# 2. 任意静态服务器打开或 README 提供的在线演示链接npx serve dist# 附加回放回归——游戏能完整运行的机器证明npmtest# 无头回放 3 条标准局断言终局状态哈希仓库内附docs/architecture.mdECS 分层图 双循环时序图 回放数据流图 被否决方案论证replays/standard-*.ts三条标准局随仓库分发standard-win / standard-lose / standard-closebalanceHash 锁定数值表版本。项目采用 Apache-2.0 协议开源。八、总结与平台使用建议8.1 结论五期收官第五种端形态在「人定架构与验收、AI 做实现」的分工下零依赖 Canvas 小游戏一周完成。本期给系列补上的最后一块拼图是自动化的质量护栏前四期的验收靠人工执行curl / 点页面 / 跑模拟器本期的回放回归让「AI 改坏了什么」变成机器断言。若说前四期验证了方法的普适性这期验证了它的可自动化上限。8.2 给平台的建议五期连续使用下来对 CodeArts 代码智能体的最终建议如实反馈供官方参考项目级约定持久化连续四期提出模块边界、确定性纪律这类项目级约束若能持久化重复投喂的成本可以完全省掉——这是五期体验中最大的提效空间约束违反的主动检测本项目用 ESLint 自定义规则守确定性若 Agent 能在生成时感知「该仓库禁用 Math.random」级别的项目规则这类返工可以从源头消失长会话的跨天上下文五期均为一周工程跨天重投架构约束的损耗真实存在希望改善。8.3 五期收官一套方法的五种验证期次作品端形态技术主线代码分载体第 1 期ArticlePilot 内容分发管理台Web 全栈Spring Boot 3 Vue 3 MySQL状态机与适配器第 2 期巡哨 PatrolOps 运维巡检分析微信小程序uni-app 自研 DSLDSL 解析器第 3 期刻循 Kefocus 专注计时鸿蒙原生ArkTS ArkUI时基校正 状态恢复第 4 期仓衡 RepoBalance 仓库体检桌面应用Rust Tauri 2Rust 检查器规则第 5 期熵减特勤局 塔防小游戏浏览器游戏零依赖 TS ECS Canvas确定性回放五期下来端形态换了五种技术栈互不重叠但方法论始终是那几条本地优先、内核与壳分离、纯函数可穷测、关键取舍显性化、演示数据真实不编造。每一期都各自验证了其中适用的部分这就是这个系列攒下的技术资产。感谢华为云码道 AI 编程挑战赛的五周。如果你也在用 AI 做完整的工程而不只是 demo欢迎在评论区交流。觉得有用就点个赞有疑问或不同看法欢迎评论区交流。

相关新闻

AI写作去除AI味:专科生降AI率实测方法与工具推荐

AI写作去除AI味:专科生降AI率实测方法与工具推荐

最近好多专科院校的朋友过来问我:AI写出来的东西,怎么看怎么像AI?作业报告交上去,自己都觉得假。2026年了,AI辅助写作已经成了日常,但“AI味”反而成了新的尴尬点——不是内容不对,是那种标准到…

2026/10/13 10:42:31 阅读更多 →
机器学习大作业高分攻略:选题、代码与实验报告全指南

机器学习大作业高分攻略:选题、代码与实验报告全指南

简介:这是一份面向高校机器学习课程期末大作业与课程设计的高分项目合集,包含多组可运行的Python源码与配套实验报告,覆盖决策树、聚类、回归、分类等常见实验题目,代码中带有详细注释,新手也能读懂并快速部署使用。压…

2026/10/13 10:42:31 阅读更多 →
Linux内核中定向路由SMP的完整处理链路解析

Linux内核中定向路由SMP的完整处理链路解析

做过几年高性能计算集群的人,对InfiniBand这个词应该都不陌生。但说实话,绝大多数人的视角是“网卡插上、子网管理器跑起来、业务通就行”,很少有人会真正去翻Linux内核里处理子网管理包的那段代码。直到有一天你遇到一个奇怪的故障&#xff…

2026/10/13 10:42:31 阅读更多 →

最新新闻

今客CRM PHP源码部署与二次开发实战指南

今客CRM PHP源码部署与二次开发实战指南

简介:今客CRM客户管理系统PHP版v1.2.2是一套开源、可部署的轻量级客户关系管理源码,面向计算机专业学生、PHP初学者及毕业设计开发者,用于学习Web系统架构、CRM业务逻辑实现与前后端协同开发。资源共929个文件,涵盖340个PHP核心逻…

2026/10/13 11:21:39 阅读更多 →
虚拟化集群9台VM集体失联复盘:存储链路抖动与光模块老化排查

虚拟化集群9台VM集体失联复盘:存储链路抖动与光模块老化排查

如果有一天早上,你刚端起杯子还没喝一口,监控群里突然开始连环报警,内容都是同一句话:“XX系统不可用”。你打开虚拟化平台一看,9台虚拟机齐刷刷变成灰色,状态全部异常,业务电话一个接一个打进来…

2026/10/13 11:21:39 阅读更多 →
九台虚拟机集体失联?虚拟化共享存储故障排查与恢复实录

九台虚拟机集体失联?虚拟化共享存储故障排查与恢复实录

凌晨1:47,我手机上的监控报警像连环夺命call一样开始振动。业务群里的消息一瞬间就刷了屏——“9台服务器全部失联”。我揉着眼睛坐起来,第一反应是觉得哪里搞错了:晚上巡检的时候明明一切正常,怎么一下子就全没了?更让…

2026/10/13 11:21:39 阅读更多 →
OpenCV图像矫正实战:透视变换与文档扫描全流程

OpenCV图像矫正实战:透视变换与文档扫描全流程

简介:本资源面向图像处理初学者与OpenCV开发者,聚焦“全能扫描王”式文档矫正功能的实现,帮助解决拍摄文档倾斜、扭曲与透视失真问题。包内共13个文件,以9个png与1个jpg测试图片、1个cpp核心源码为主,另含gitattribute…

2026/10/13 11:21:39 阅读更多 →
Java Files.lines()从文本行创建Stream的实战指南与避坑详解

Java Files.lines()从文本行创建Stream的实战指南与避坑详解

做 Java 开发这些年,读取文本文件这事几乎天天都在干。早年间我是标准的 BufferedReader 加 while ((line reader.readLine()) ! null) 循环,一行一行处理,写多了确实觉得啰嗦。后来 Java 8 引入 Stream API,我第一次用 Fil…

2026/10/13 11:21:39 阅读更多 →
论文查重免费平台实测:每天200篇额度如何让降重成本归零

论文查重免费平台实测:每天200篇额度如何让降重成本归零

又是一年毕业季,朋友圈里满是“查重又要花钱”“学校只给一次免费查重机会”的哀嚎。我自己去年帮课题组改论文,前前后后用第三方付费查重花了小几百,后来偶然发现一个每天能免费用 200 篇的查重平台,一开始以为是噱头&#xff0c…

2026/10/13 11:20:38 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/12 18:11:17 阅读更多 →