AGV模拟软件怎么用?从栅格地图、A*寻路到多车调度与死锁排查
简介AGV模拟软件包基于C#开发提供自动导引车运行仿真环境适合物流仓储领域的学习者、工程师及研究人员对多车调度、导航选型等方案进行快速验证。压缩包包含147个文件以C#源码、窗体与工程配置以及大量bmp、jpg界面图片为主另有exe、dll等可直接运行调试整体仅1.33MB轻量易用。目前已有一千一百零五人学习使用适合从入门到进阶的AGV爱好者。软件覆盖磁条、二维码、激光、视觉等常见导航方式的参数化模拟可分别设置运行速度、路径规划算法等核心参数直观对比不同方案的工作效率与安全性支持添加多辆目标小车模拟协同作业场景通过遗传算法、优先级调度、预测控制等策略有效分析AGV调度冲突和系统吞吐量瓶颈。同时chartuw8界面资源提供实时数据监控与结果可视化便于模拟电池耗尽、通信中断等故障情景帮助用户提前排查可靠性隐患是学习AGV系统设计逻辑和优化思路的优质素材。1. AGV模拟软件先搞清楚它替你做了什么仓库里跑三台 AGV任务只有一页纸那么多可第三台小车一进场前两台效率直接掉了四成。这个场景是我拆 AGV 模拟软件时最常听人提起的问题。这份 AGV 模拟软件资源解决的就是这类事导入栅格地图、配置 AGV 型号参数、下发任务单然后在同一条时间轴上观察车辆路径规划、避让、充电调度和死锁过程。适合正在做自动化方案选型的工程师、写调度算法的开发也适合拿路径规划做毕业设计的学生。它不是把几辆小车搬进屏幕里看热闹而是让你在改参数之前先把调度逻辑的黑匣子打开。2. 拆开 AGV 技术栈地图、模型、调度三层各司其职AGV 模拟软件看起来只有一个主界面背后却是三层独立结构地图层管“车能在哪儿走”、AGV 模型层管“这台车怎么走”、调度层管“多台车谁先走”。绝大多数配置问题都出在层与层的对接上而不是某一层本身。2.1 地图层栅格、路点和障碍物边界这个包的地图默认按栅格处理每个格子代表一块矩形区域。常见做法是分辨率取 0.1m/格一张 20m×30m 的车间地图就是 200×300 格。格子用 0 表示可通行1 表示障碍物2 表示站点或充电位。地图文件通常是 CSV读取逻辑不复杂但编码和坐标系很容易翻车。# load_map.py —— 从 CSV 地图文件读出栅格 import csv def load_map(path): grid [] with open(path, r, encodingutf-8-sig) as f: for row in csv.reader(f): # 0可通行 1障碍 2站点/充电位 grid.append([int(c) for c in row]) return grid grid load_map(map/simple_map.csv) h, w len(grid), len(grid[0]) blocked sum(row.count(1) for row in grid) print(fmap {w}x{h}, blocked{blocked}, free{w*h-blocked})读取逻辑里我特别加了utf-8-sig编码原因是 Windows 下用 Excel 另存的 CSV 通常带 BOM 头直接utf-8读会把第一列第一个数字变成\ufeff0站点坐标全偏一格。参数上重点关注三个值w和h决定地图物理尺寸blocked占比超过 40% 时路径搜索死路会明显增多这时候不是调算法而是先检查障碍物图层是不是把安全通道误标了。2.2 AGV 模型层状态机、速度曲线与任务状态AGV 模型层不只是一组速度参数核心是状态机。这个包把每台车拆成五个状态IDLE空闲、MOVING行驶、WAITING等待避让、CHARGING充电、ERROR异常。调度逻辑每步都会问“这台车现在在干什么”而不是直接改坐标。class Agv: def __init__(self, agv_id, start_xy, max_speed1.5, accel0.8): self.agv_id agv_id self.pos list(start_xy) # 单位栅格 self.state IDLE self.max_speed max_speed # 单位m/s self.accel accel # 单位m/s^2 self.task None self.path [] def step(self, dt): # 仿真步进每次按状态决定是否移动 if self.state MOVING and self.path: self.move_along_path(dt) elif self.state WAITING: self.stop()max_speed默认 1.5m/s 是常见举升式 AGV 的巡航速度accel0.8在工业场景里属于保守值。调参时不要只改速度加速度决定转弯后的恢复时间很多模拟里小车速度不低但整体吞吐上不去问题往往出在加速太慢导致直道刚提到 1.5m/s 又要减速转弯。2.3 调度与仿真主循环时间步进与事件日志模拟软件的灵魂在主循环它不是“点一下按钮小车自己跑”而是按固定时间步长dt推进。这个包默认dt0.2s也就是每秒推进 5 帧。每帧要做四件事更新位置、判断到站、检查冲突、派发新任务。dt 0.2 # 仿真步长单位秒 sim_time 0.0 agvs [Agv(i, start_points[i]) for i in range(num_agv)] while sim_time end_time: for agv in agvs: agv.step(dt) # 先更新位置 if agv.reaches_station(): dispatcher.assign(agv) # 完成任务后派新任务 dispatcher.deadlock_check(agvs) # 每帧查一次死锁 sim_time dtdt的选取直接影响冲突检测精度。dt0.5s时一台 1.5m/s 的 AGV 每步能走 0.75m两个相邻站点间距可能只有 1m就会出现“看日志没撞实际已经穿过站点”的假象。做多车拥堵测试时我一般把dt压到 0.1s代价是仿真时间拉长但死锁和碰撞检测的置信度完全不同。3. 第一步配置把地图、AGV 参数、任务表对齐模拟软件拿到手以后第一步不是急着放车而是先把三类输入配齐地图描述车能去哪儿AGV 参数描述车怎么走任务表描述车干什么。这三者对不齐后面所有输出都是废数据。3.1 用 CSV 定义栅格地图坐标系原点定在左下角地图配置我一般建议先用小图验证再上全厂地图。小图的 CSV 长这样0,0,0,1,2,0 0,1,0,1,0,0 2,0,0,0,0,1第一行2是站点最后一行开头2是充电位1全是障碍。这里最容易踩坑的是坐标系原点。很多地图编辑器把原点放在左上角行号向下递增而这个包读取 CSV 时默认第一行是 y 最大值也就是原点在左下角。如果你在编辑器里看着站点在 (5,2)程序读出来却是 (5,0)任务表全乱。我的习惯是先放一台 AGV给一个从 (0,0) 到 (0,5) 的直线任务跑通了再扩大地图。3.2 AGV 物理参数从 1.5m/s 到 0.5m/s 的取舍配置界面里那排参数不是随便填的。这个包的 AGV 模型支持以下参数我按实际调度的敏感度排了个序参数默认值调参影响max_speed1.5 m/s影响直道节拍但受弯道限制accel0.8 m/s²影响起停和转弯恢复时间safety_distance0.3 m太小会撞太大会堵turn_time1.2 s影响路口通行效率最容易被忽略charge_threshold20%低于此值触发回充任务discharge_rate0.5%/m与行驶距离挂钩的电量消耗这里重点说turn_time。很多初版配置把它设成 0结果小车转弯就像瞬移路口通行时间被严重低估。真实叉车 AGV 90 度转弯加对准货架1.2 秒并不夸张。如果你追求节拍优先压 turn_time 不如减少转弯次数因为同一段路径下转弯次数由地图决定而 turn_time 只是把单次代价从 0 调成 1.2。3.3 任务表与调度优先级任务不能全堆在同一巷道任务表用 CSV 下发每行一个任务task_id,start,end,priority,timeout T1,2,5,1,120 T2,0,3,2,90 T3,5,2,1,120priority数字越小优先级越高。这个包的调度器是按优先级先到先得但有个隐藏规则同优先级下按任务下发顺序排队。实际调试时最典型的失败案例是三个任务起点全在一条巷道两端AGV 全堵在同一个路口。这不是调度算法的问题而是任务表设计本身把流量打进了单点。我的做法是先用两两站点距离矩阵看一眼流量热点再把热点站点拆成多个物理站点。3.4 先单机后多机验证基线数据的顺序包提供了命令行启动模式--headless可以不开界面直接跑仿真并输出日志python agv_sim.py --map map/simple_map.csv --agv 1 --task tasks/basic.csv --dt 0.2 --headless先跑--agv 1记录单台车完成全部任务的总时间这个数据是所有后续调参的基线。只有 1 台车的时候如果都会超时或卡住问题一定在地图连通性或站点坐标别急着调多车参数。然后再用--agv 3、--agv 5逐步加压看系统从哪个数量级开始出现明显拥堵。4. 核心调度逻辑A* 寻路与多 AGV 时间窗避让AGV 模拟软件里最值得花时间研究的是调度层。单机版核心是 A* 寻路多机版核心是时间窗避让这两块也是整个 AGV 技术栈里最容易写错、也最影响结果的部分。4.1 A* 寻路四邻域还是八邻域先定运动模型这个包的路径搜索默认 A*但邻域选择跟真实 AGV 运动模型强相关。差速驱动 AGV 可以原地转向四邻域够用麦克纳姆轮或舵轮 AGV 擅长斜行用八邻域更贴合。问题是八邻域对角线移动会穿过夹角小于 90 度的障碍顶点导致“穿墙”假象。import heapq def astar(grid, start, goal, diagonalFalse): 四邻域A*, 返回路径点列表; diagonalTrue 时启用八邻域 h, w len(grid), len(grid[0]) open_set [(0, start)] came_from {} g_score {start: 0} dirs [(1,0),(-1,0),(0,1),(0,-1)] if diagonal: dirs [(1,1),(1,-1),(-1,1),(-1,-1)] while open_set: _, cur heapq.heappop(open_set) if cur goal: # 回溯路径 path [] while cur in came_from: path.append(cur) cur came_from[cur] path.append(start) return path[::-1] for dx, dy in dirs: nx, ny cur[0] dx, cur[1] dy if not (0 nx h and 0 ny w) or grid[nx][ny] 1: continue step_cost 1.0 if diagonal and dx ! 0 and dy ! 0: # 对角线移动要对相邻两个直交格再做一次障碍检查 if grid[cur[0] dx][cur[1]] 1 or grid[cur[0]][cur[1] dy] 1: continue step_cost 1.414 new_g g_score[cur] step_cost if new_g g_score.get((nx, ny), float(inf)): came_from[(nx, ny)] cur g_score[(nx, ny)] new_g heapq.heappush(open_set, (new_g, (nx, ny))) return []这段代码里有两个关键点。第一对角线启用时必须检查相邻两个直交格否则就会斜穿障碍角第二对角线代价取1.414、直交取1.0这是为了让 A* 优先走直道而不是疯狂斜切。参数上如果发现路径贴墙太近可以把障碍栅格向外膨胀一圈比改启发函数更直接。4.2 时间窗给每条路径打上占用时间戳多 AGV 路径规划比单机复杂在一个事实两车同时过同一个路口时地图路径相同但时间不能重叠。这个包的处理方式是时间窗Time Window每个栅格维护一串(进入时刻, 离开时刻)新路径必须与已有窗口无重叠才能通过。def check_windows(path, enter_times, leave_times, tw_map): 检查一条新路径的时间窗是否与已有占用冲突 for cell, t_in, t_out in zip(path, enter_times, leave_times): for other_in, other_out in tw_map[cell]: # 两段占用不重叠的条件: 新离开早于旧进入 或 新进入晚于旧离开 if not (t_out other_in or t_in other_out): return False, cell return True, Noneenter_times和leave_times是由 AGV 速度曲线推算出来的但这里有个坑如果只按巡航速度算忽略起步加速时间窗会偏乐观真实场景里后车会追上前车。解决方法是时间窗预留 10% 的余量也就是把t_out往后多推0.1 * (t_out - t_in)。实际测试中这个余量能把冲突率降一半左右。4.3 多 AGV 路径规划先到先得、等待还是重新寻路时间窗检测冲突之后调度器有三个选择让后车等待、给后车重新寻路、让前车换路。这个包默认先到先得前车路径锁死后车遇到冲突就等待。这种做法胜在稳定但任务密集时会退化成排队通行。我的经验是加一个阈值等待超过 10 秒就触发重规划重规划后仍冲突则等待更久。这段逻辑可以写进调度器if conflict_duration 10.0: agv.state WAITING # 短冲突等待 else: new_path astar(grid, agv.pos, agv.task.goal, diagonalTrue) if new_path and check_windows(new_path, ets, lts, tw_map): agv.path new_path # 长冲突重新寻路多 AGV 路径规划这块如果任务量更大也有人直接上强化学习方案但那是后话。先把时间窗和等待重规划跑明白绝大多数产线场景已经足够。4.4 死锁检测、避免与人工干预死锁是 AGV 模拟里最常见的系统级故障。典型画面是两台 AGV 对向行驶互相堵在路口谁也不让。这个包的死锁检测是定期扫描所有 WAITING 状态的 AGV如果连续 30 帧位置都没变就判定死锁并强制让其中一台倒车退让。if all(agv.state WAITING for agv in agvs): for i, agv in enumerate(agvs): if agv.same_position_since 30 * dt: agv.state MOVING agv.path reverse_path(agv.path) # 倒车让路same_position_since记录该车保持同一位置的时间。这个逻辑的关键不是死锁检测而是让路方向要先回退一格再重新规划否则两车倒车后还是对头。真实环境里更推荐在任务阶段就避免对向路径方法是把同一巷道设置为单向通行。5. 常见问题排查穿墙、死锁、吞吐虚高的处理现场跑仿真翻车是常态但大部分故障不是玄学而是可以在日志里定位的。下面五个问题是我拆同类模拟软件时碰到的高频现场每条都按现象、原因、解决三步给结论。5.1 小车斜穿障碍角对角线移动没做相邻栅格检查现象八邻域 A* 规划的路径上AGV 沿着障碍物对角线滑过去看起来就像穿墙。原因路径搜索允许对角线移动但没检查对角线侧方的两个直交格是否障碍。比如从 (2,2) 走到 (3,3)如果 (2,3) 或 (3,2) 是障碍车就是从墙角钻过去的。解决在第 4.1 节代码里已经补上了这个检查。如果你用的是包内置算法请确认配置项adjacent_check打开。日志里搜TURNING_CORNER_WARNING出现该字段就说明还在穿角。5.2 两车对顶死锁时间窗没覆盖等待状态现象两台 AGV 在狭窄通道正面对向行驶停住后谁的路径都推进不了仿真时间一直走但吞吐量为 0。原因时间窗只锁了 MOVING 状态的路径占用WAITING 状态没有登记。后车等前车时它占用的栅格被从“占用中”移除了对向车于是获得进入许可最终两人顶着。解决把 WAITING 状态也写入时间窗占用区间从进入时刻一直到重新启动离开时刻。日志里搜DEADLOCK_DETECTED出现次数降为 0 才算通过。5.3 仿真结束电量还有 80%充电路由根本没进任务链现象跑完 2 小时仿真所有 AGV 电量都还在 80% 以上看起来电池没有任何压力但实际产线每隔 40 分钟就要换电。原因AGV 模型虽然带discharge_rate和charge_threshold但任务表里没有任何回充任务。电量再低车也只会停在原地不会去充电。解决在任务队列里动态插入充电任务。判断条件是agv.battery charge_threshold插入目标点为最近的充电站。这个逻辑对调度结果影响很大建议作为必测项。5.4 吞吐量虚高转弯和加减速被当作瞬时完成现象仿真报告说系统小时吞吐 45 托现场实测只有 28 托差距大得离谱。原因AGV 参数里turn_time设成 0加减速也被当成瞬时完成。地图里拐弯越多的路径虚高越严重。解决把turn_time调到 1.0 以上accel调到 0.5 到 0.8 之间。再对照单机基线数据如果仿真单程时间比现场实测慢 10% 以内参数基本可信。5.5 地图导入后站点偏移CSV 坐标系与地图编辑器差了一行现象地图编辑器里站点在货架正前方导进模拟软件后站点跑到货架另一侧AGV 穿货架取货。原因CSV 行序和编辑器棋盘坐标的 y 轴方向相反。编辑器第 0 行在下方CSV 第 0 行在文件顶部导入时若忽略翻转所有站点 y 坐标就反了。解决导入参数里开启flip_y然后用单 AGV 任务验证一段固定路径的起点和终点坐标。这个方法虽然原始但每次换地图都能省半小时排查时间。提示改完参数后务必重新跑一次第 3.4 节的单机基线再对比多机结果否则分不清是参数变化还是随机波动导致的结果差异。6. 把模拟数据变成调度决策三个指标与一个检查习惯模拟软件跑完日志里密密麻麻的时间点但真正用于决策的就三个指标任务平均完成时间、AGV 平均利用率、系统小时吞吐量。三者不是独立看的任务完成时间低但利用率低说明车多人少利用率高但吞吐低说明路径拥堵。指标计算方式判定标准平均完成时间每个任务从下发到完成的时间均值越接近节拍上限越好平均利用率AGV 非 IDLE 时间 / 总仿真时长过高说明无冗余一般 70%-85%系统吞吐量完成任务总数 / 仿真时长与现场实测误差应在 15% 以内检查的习惯更重要每次都按“单机基线、3 车、5 车、8 车”的顺序加压记录吞吐量变化曲线。如果 8 车比 5 车吞吐量还低说明系统已经进入拥堵区这时候不是继续加车而是回路线路规划或站点布局。有一回我图省事直接从 3 车跳到 10 车日志显示吞吐量暴涨后来发现是调度器在所有任务未完成的情况下强制结束仿真数据全废。从那以后我每次改完地图或任务表都会强制走一遍单机基线到多车曲线这个流程不跳过任何一步。这套方法帮我把 AGV 调度方案的调试时间压缩了三分之一希望也能帮到你。本文还有配套的精品资源点击获取

相关新闻

pdftk命令行PDF处理:批量拆分、水印、加密与工业级流水线

pdftk命令行PDF处理:批量拆分、水印、加密与工业级流水线

简介:本资源是面向前端开发者与PDF自动化处理需求者的轻量级服务端工具包,基于Meteor框架封装pdftk命令行能力,提供JavaScript接口调用PDF拆分、合并、旋转、加水印、加密解密、表单填充、元数据修改等核心功能。压缩包共7个文件(…

2026/10/12 14:43:16 阅读更多 →
机器人视觉系统搭建指南:从硬件选型到闭环控制实战

机器人视觉系统搭建指南:从硬件选型到闭环控制实战

1. 从零搭建机器人视觉系统:为什么我选择“先跑通再优化”的路线很多人第一次接触机器人视觉,脑子里蹦出来的第一个念头往往是“我要用深度学习”“我要上目标检测”“我要搞SLAM”。结果环境配了三天,显卡驱动还没装明白,最后热情…

2026/10/12 14:43:22 阅读更多 →
Jev替代品扎堆涌现,如何辨别真替代与伪替代

Jev替代品扎堆涌现,如何辨别真替代与伪替代

1. 一个工具爆火之后,为什么“替代品”总会扎堆出现Jev 这个名字最近在圈子里出现的频率确实有点高。不管你是刷技术社区、翻群聊记录,还是看各种工具推荐清单,总能撞见它。紧接着你会发现一个很有意思的现象:几乎在同一时间&…

2026/10/12 14:43:32 阅读更多 →

最新新闻

从零搭建ELK日志分析平台:架构设计、组件选型与实战调优

从零搭建ELK日志分析平台:架构设计、组件选型与实战调优

说实话,我在接手公司日志平台之前,排查故障靠的是“三件套”组合拳:登录服务器、grep关键字、tail -f盯屏幕。最开始那几年业务量不大,这招勉强够用,可一旦服务器数量超过两位数、日志格式五花八门,这套土办…

2026/10/13 12:58:10 阅读更多 →
数论基础实战:从紫书第10章到Kuangbin专题14的题型拆解

数论基础实战:从紫书第10章到Kuangbin专题14的题型拆解

如果你正卡在紫薯第10章数学,准备转战Kuangbin专题14数论基础,我给你一句忠告——书上的公式全会了,不代表你看到题目能动手。我当年啃完紫书第10章,带着一堆“看起来都能推导”的公式点开专题14,第一题就把我按在地上…

2026/10/13 12:58:10 阅读更多 →
Conda报错排查指南:从repodata失败到依赖冲突的完整解决

Conda报错排查指南:从repodata失败到依赖冲突的完整解决

两行红字一贴,小白当场懵,老手也得先深吸一口气。Collecting package metadata (current_repodata.json): failed和Solving environment: failed这对组合,几乎每个用过 Anaconda 的人都撞见过:刚装完环境准备conda install pandas…

2026/10/13 12:58:10 阅读更多 →
基于Halton序列的图像加密解密算法详解与Matlab实现

基于Halton序列的图像加密解密算法详解与Matlab实现

做图像加密解密这个方向的,八成都有过这种感受:教材里的经典算法讲得头头是道,真到自己动手复现,却总在“看起来像那么回事”和“实际效果经不起推敲”之间反复横跳。我之前在做基于Halton序列的图像加密解密项目时,最…

2026/10/13 12:58:10 阅读更多 →
Kettle 9.3 源码编译实战:从 GitHub 构建可部署的 PDI 生产环境

Kettle 9.3 源码编译实战:从 GitHub 构建可部署的 PDI 生产环境

简介:本资源为Kettle(Pentaho Data Integration)最新9.3版本的官方安装包百度网盘直链,面向数据工程师、ETL开发人员及大数据初学者,解决国内用户因网络限制难以获取国际开源ETL工具的问题。资源以1个14KB的docx文档形…

2026/10/13 12:58:10 阅读更多 →
Agent上线最后一公里:评测门禁、可观测性埋点与AgentOps闭环落地指南

Agent上线最后一公里:评测门禁、可观测性埋点与AgentOps闭环落地指南

1. 从"能跑"到"敢上线":Agent 交付的最后一公里到底卡在哪做过 Agent 项目的人大概都有过这种体验:本地 Demo 跑得飞起,工具调用、多轮对话、RAG 检索全都正常,演示给同事看的时候掌声一片。可真到了要往生产…

2026/10/13 12:57:09 阅读更多 →

日新闻

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

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

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

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 阅读更多 →