技术实践

阿里用WebTerminal CLI执行GPU与崩溃调试

智能体系统Agent 工具调用Agent 环境交互Agent Harness

概述

阿里团队不把 GPU hang、core dump 调试等场景固化成脚本套件,而是把企业内网 WebTerminal 抽象成稳定的 CLI 执行面,再用 Skill 描述操作方法与风险边界,由 Agent 动态生成命令、读结果、再决策。会话设计上授权留在浏览器:wt session start 启动持久 Chromium,用户在官方页面完成登录与角色选择,CLI 只复用页面已有终端实例(读 window.terminalMap[wsSessionId]、用 writeMsg2Session 发送输入、hook xterm 输出),不保存也不绕过 SSO token。 能力分三层:wt run 发送单条命令并以 __WT_DONE___:$? marker 判定结束、返回 exit code,输出落盘为 raw ANSI、去 ANSI plain 与 xterm snapshot 三份证据。文件传输改为直接调用 WebTerminal 文件 API(openFileSystem/listFiles/getDownloadFileHead/downloadFile/uploadFile/heartbeat),下载按 block 拉取后校验 size/md5 并用远端 sha256sum/stat 二次校验,上传按 1MB block multipart 后同样校验。 wt interact 启动本地单线程 HTTP 控制面(/health、/summary、/snapshot、/command、/send、/drain、/close),远端交互程序只启动一次并跨请求保持状态,支持 prompt regex 等待与 raw key 发送。验收在目标机器 x.y.z.w 上完成三类:GPU hang 分析给出 8×H20、Driver 580.82.07、CUDA 13.0、采集时无 active hang 但 kernel log 有 NVRM refcnt 失败、NVSwitch SXid 22013 与 5 月 8 日 Xid 43 等历史信号。 交互式验收在远端 emacs -nw -Q 里用 raw key 建 C 文件、进 eshell 编译触发 SIGSEGV,再用 gdb 逐条 bt/frame 0/info locals/print 定位到第 12 行空指针解引用。另有新增 wsh/wcp 使 WebTerminal 可像 ssh/scp 一样黑屏直连与传文件,认证缓存复用。