具身智能人工智能AI Agent机器人计算机视觉Agent 编排【免费下载链接】jiuwensymbiosisJiuwen Symbiosis就是一个能懂人话、看得见物理世界、长了四肢的智能助手。用户不需要示教不需要教它怎么抓东西怎么走路就像指挥一个经验丰富的工人一样用自然语言下任务它就能自己完成感知、理解、规划、执行。项目地址https://gitcode.com/openJiuwen/jiuwensymbiosis点击查看免费下载Jiuwen Symbiosis 在执行自然语言任务时会通过 TraceRail 把每一步工具调用、观测快照、Rail 事件和相机帧记录成一条结构化执行轨迹ExecutionTrace。examples/sample_trace/README.md 提供了仓库内置的一条 Piper 演示脱敏轨迹本篇以该目录为核心完整讲解其中*.json/*.html/frames/三类产物的内容结构、jiuwensymbiosis-replay回放命令的两种输出模式以及轨迹从生成到渲染成自包含 HTML 的源码链路读完后你可以独立打开任意一条真实轨迹做逐步审查、故障定位与可视化回放。一、sample_trace 目录三类产物一一对应样例目录 examples/sample_trace/ 保存了一次 Piper 演示的脱敏执行轨迹共三类文件文件内容用途piper-demo-77816242_20260626_113438_033124_1743847.json结构化ExecutionTrace约 42 KB机器可读文本回放、脚本解析、喂给 trace_feedback 分析piper-demo-77816242_20260626_113438_033124_1743847.html自包含回放页约 2.3 MB帧以 base64 内嵌浏览器直接打开无需依赖 frames/ 目录frames/ 下piper-demo-77816242_20260626_113438_033124_1743847/的 31 张step_000.jpgstep_030.jpg640x480轨迹步骤引用的图像帧文本回放中作为帧路径引用HTML 渲染时读取并内嵌三者通过 run tokenpiper-demo-77816242_20260626_113438_033124_1743847关联JSON 中每个步骤的frame_path指向traces/frames/{run_token}/step_XXX.jpgHTML 与帧目录共享同一命名保证了“同一次执行”的三种视图可互相印证。二、JSON 解剖一次“把黑盒子放到白盒子上面”的完整记录样例 JSON 顶层结构如下已核实自样例文件{ conversation_id: piper-demo-77816242, robot_name: piper, query: 把黑盒子放到白盒子上面, started_at: 1782444878.0331242, entries: [ ... 30 个步骤 ... ], trace_log: [], workspace: /xxx/piper_workspace, initial_frame_path: traces/frames/piper-demo-77816242_20260626_113438_033124_1743847/step_000.jpg }conversation_id/robot_name/query会话标识、机器人本体名和用户的自然语言任务原文workspace与frame_path均为相对/脱敏路径原始绝对路径已替换为/xxx/...这是“脱敏”的体现initial_frame_path是 invoke 开始时刻抓的“首帧”step_000.jpg用于让 HTML 回放为第一步也凑出“动作前→动作后”的对比entries共 30 步trace_log存放没有归属到具体 step 的 trace 级日志。2.1 单步TraceEntry字段以第 5 步为例{ step: 5, tool_name: get_grasp_info_simple, input_params: {}, success: true, error: null, started_at: 1782444908.9741287, duration_s: 0.7485, observation: { pose: {x: 180.217, y: 3.863, z: 424.403, rx: 175.716, ry: 39.863, rz: 177.117}, joints: [0.0, 60.332, -75.372, 2.588, 70.064, 1.33], extra: {z_min_safe: 20.0, gripper_state: false} }, frame_path: traces/frames/piper-demo-77816242_20260626_113438_033124_1743847/step_005.jpg, output_summary: {\ok\: true, \object\: \black box\, \position\: [267.73, 70.67, 201.81 ...]}, rail_events: [], log_events: [] }字段语义与 jiuwensymbiosis/agent/trace.py 中TraceEntry定义一致observation是动作完成后的 pose/joints/夹爪状态快照不含原始 rgb/depthoutput_summary是截断的工具输出摘要rail_events收录本步内 SafetyRail/RecoveryRail 等推送的事件log_events收录本步内的 WARNING 级以上日志行。2.2 30 步时间线一条“有成功也有失败”的真实轨迹统计样例 JSON 可得到如下执行脉络耗时来自各步duration_s步序工具结果阶段解读1list_skill成功0.0007s列出可用技能slot_pick / visual_pick / visual_place2–3skill_tool成功加载 visual_pick、visual_place 两份 SKILL.md 内容4home成功0.10s回到 home 位先确保视野无遮挡5–6get_grasp_info_simple成功0.75s / 0.22s在 home 处一次性测好“黑盒子”与“白盒子”的抓取/放置坐标腕部相机推荐做法7–8run_python成功轻量计算如放置高度推导9–12robot_control9 成功、10–12 失败约 0.5ms 即返回抓取前的快速试探被拒/失败后立即换路径13–15goto_xyzr×2、robot_control成功移动到黑盒子上方并下压夹爪闭合抓盒见上方 step_015 帧黑盒已被夹住16–20goto_xyzr×3、robot_control、goto_xyzr成功抬升、移动到白盒子上方、下降、松爪放置21 起home/goto_xyzr/move_joint连续失败末端进入TARGET_POS_EXCEEDS_LIMIT不可达区后续恢复位姿亦超时最后一步move_joint耗时 31.35s 仍未达关节目标失败步是理解 rail_events 价值的最好材料。以第 24 步为例JSON 中记录了error: AbilityExecutionError: [120001] Tool execution error: [Piper] EndPose target OUT OF REACH — Arm StatusTARGET_POS_EXCEEDS_LIMIT after 0.5s ..., rail_events: [ {rail_name: RecoveryRail, kind: recover, success: false, detail: {tool_name: goto_xyzr, home_ok: false, released_ok: true}} ]即动作失败 →RecoveryRail尝试回 home 失败但完成了解夹释放released_ok: true→ 事件连同错误文本一并落进轨迹。这条因果链正是事后复盘“为什么任务没收尾”的关键证据也说明该样例是一条非完美轨迹适合用来练习故障定位。三、文本回放jiuwensymbiosis-replay --text3.1 运行前提与命令先安装本项目例如pip install -e .该命令由 pyproject.toml 中的[project.scripts]注册jiuwensymbiosis-replay jiuwensymbiosis.cli:replay_main从仓库根目录对样例轨迹做文本回放引自 READMEjiuwensymbiosis-replay \ examples/sample_trace/piper-demo-77816242_20260626_113438_033124_1743847.json \ --text3.2 参数与预期输出replay_main的参数解析见 jiuwensymbiosis/cli.py参数说明trace_path位置参数轨迹 JSON 路径通常形如workspace/traces/*.json--text打印纯文本时间线而不生成 HTML--open生成 HTML 后自动用默认浏览器打开仅 HTML 模式--text模式由 replay() 实现输出顺序固定为 Execution Trace: piper-demo-77816242_20260626_113438_033124_1743847.json robotpiper conversationpiper-demo-77816242 query: 把黑盒子放到白盒子上面 [ 1] ✅ list_skill({}) dur0.00s frame: traces/frames/piper-demo-77816242_20260626_113438_033124_1743847/step_001.jpg ... [ 24] ❌ goto_xyzr({...}) dur1.81s error: AbilityExecutionError: [120001] ... rail: [FAIL] RecoveryRail/recover {tool_name: goto_xyzr, ...} log: [WARNING] jiuwensymbiosis.rails.recovery: RecoveryRail: home() failed: ... --- trace-level logs --- 30 step(s) recorded.逐条渲染规则与源码一一对应每步一行[step] ✅/❌ tool_name(截断到 120 字符的参数)dur…serror非空则打印错误文本observation.pose存在则打印 poseframe_path打印路径若环境装有 Pillow 还会顺带读出图片尺寸如(640x480)随后按序打印该步的rail_events[ok]/[FAIL] rail_name/kind detail与log_events[LEVEL] logger: msg末尾若有trace_log本样例为空则打印 trace 级日志最后给出N step(s) recorded.汇总。3.3 退出码与错误诊断replay/replay_html共用 _load_trace() 做加载校验文件不存在或 JSON 解析失败时通过模块 logger 输出trace not found/invalid trace JSON并返回退出码1成功返回0。由于replay_main返回退出码而非自行sys.exit该函数也可作为库被调用而不触发进程退出。四、HTML 回放自包含的单文件页面去掉--text即进入默认 HTML 模式jiuwensymbiosis-replay \ examples/sample_trace/piper-demo-77816242_20260626_113438_033124_1743847.jsonreplay_html() 的行为调用 jiuwensymbiosis/agent/trace_html.py 的render_trace_html(data, trace_pathpath)渲染页面——每步的相机帧以base64 内嵌样例 HTML 中可数出 61 处 base64 数据每步一张卡片同时呈现帧图、参数、错误、rail 事件把结果写到trace JSON 同目录、同主名的{json_stem}.html样例中的.html文件即由此产物得到若该目录不可写则回退到系统临时目录打印wrote 路径并提示可用--open重新运行直接打开浏览器。页面采用深色工程风主题:rootCSS 变量驱动切换主题只需换根变量中文langzh。由于帧已内嵌单文件即可拷贝到任何机器离线查看这正是 README 所说“可直接在浏览器打开的自包含回放”。五、帧的组织方式run_token 目录与帧预算frames/子目录名即 run tokenconversation_id 时间戳内含step_000.jpg首帧到step_030.jpg末步后帧共 31 张。设计要点见 trace.py 与 docs/zh/reference/tracing.md每步只保存一张动作后帧连续多步中第 N 步的后帧就是第 N1 步的前帧中间环境不变配合 invoke 开始时的首帧即可在 HTML 中拼出每步“动作前→动作后”的并排对比帧数量受modules.tracing.max_frames默认 50预算约束首帧占用 1 张额度max_entries默认 200约束步数超限时丢弃最旧步骤只有modules.tracing.save_frames: true时才会落盘 JPEG这也是本目录存在 frames/ 的前提。六、从生成到回放源码链路速览采集TraceRail(AgentRail)trace.py以priority 100挂入 agent保证before_tool_call先于 SafetyRail 记录before_tool_call新建TraceEntryafter_tool_call回填 duration/输出/观测/帧rail 事件经 sink 归入当前步TraceLogHandler捕获 WARNING 级日志落盘after_invoke触发finalize()ExecutionTrace.save()把 JSON 写到workspace/traces/目录名即 run token帧写入frames/{run_token}/回放CLI 的replay()文本/replay_html()自包含 HTML读取同一份 JSON二者共享加载与诊断逻辑保证两种视图信息一致。七、相关资源文件角色examples/sample_trace/README.md本样例目录说明本文主体来源examples/sample_trace/piper-demo-77816242_20260626_113438_033124_1743847.json脱敏轨迹 JSON30 步jiuwensymbiosis/cli.pyreplay/replay_html/replay_main实现jiuwensymbiosis/agent/trace.pyTraceEntry/ExecutionTrace/TraceRailjiuwensymbiosis/agent/trace_html.pyrender_trace_html()trace → 自包含 HTML帧 base64 内嵌pyproject.tomljiuwensymbiosis-replay等 console script 注册docs/zh/reference/tracing.mdTrace 配置、数据结构与 JSON 格式完整参考适用前提回放命令只依赖轨迹 JSON及 HTML 模式下同路径的 frames不需要真实机器人在线但命令本身要求项目已安装pip install -e .或正式安装且需在能访问examples/sample_trace/的路径如仓库根目录下运行。赞分享具身智能人工智能AI Agent机器人计算机视觉Agent 编排【免费下载链接】jiuwensymbiosisJiuwen Symbiosis就是一个能懂人话、看得见物理世界、长了四肢的智能助手。用户不需要示教不需要教它怎么抓东西怎么走路就像指挥一个经验丰富的工人一样用自然语言下任务它就能自己完成感知、理解、规划、执行。项目地址https://gitcode.com/openJiuwen/jiuwensymbiosis点击查看免费下载相关推荐JiuwenSymbiosis CLI命令清单快速掌握机器人任务执行、单步调试与轨迹回放JiuwenSymbiosis CLI命令清单快速掌握机器人任务执行、单步调试与轨迹回放 JiuwenSymbiosis 是一个能懂人话、看得见物理世界、长具身智能人工智能AI Agent机器人计算机视觉Agent 编排Win11Debloat如何一键给Windows 11做系统瘦身新手完整上手指南Win11Debloat如何一键给Windows 11做系统瘦身新手完整上手指南 新电脑刚到手开始菜单里塞满用不上的应用搜索框里全是推荐和广告Win11桌面应用CLIClawX Computer Use 轨迹录制与回放实战指南start_recording 到 replay_trajectory 全流程解析ClawX Computer Use 轨迹录制与回放实战指南start_recording 到 replay_trajectory 全流程解析 ClawX 桌人工智能AI 应用桌面应用交互助手创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考