全是 Web 没 CLI 怎么行:一次把 StarAgent WebTerminal 改造成
全是 Web 没 CLI 怎么行:一次把 StarAgent WebTerminal 改造成
来源类型: 微信公众号文章
日期: 2026-06-02
标签: AI, 记忆系统, 办公效率, 网络安全, 编程, 芯片, 大模型
原文链接: https://mp.weixin.qq.com/s/5qwjuSZmENMovuEStczQEg
摘要
阿里妹导读 全是 Web,没有 CLI,怎么行?Agent 都会写代码了,远程排障还要人肉点网页、复制命令、盯滚动条,这画面多少有点“地铁老人看手机.jpg”。本文记录一次围绕 StarAgent/Drogo WebTerminal 的工具化实践:我们没有把 GPU hang、core dump 调试等场景固化成一个个“祖传脚本套件”,而是把 WebTerminal 抽象成稳定的 CLI 执行面,再用 Skill 描述操作方法。Agent 在任务中动态生成命令、读取结果、继续决策,最终完成远程 GPU hang 分析、文件上传下载、以及 Emacs + eshell + gdb 的交互式 c...
核心内容
阿里妹导读
全是 Web,没有 CLI,怎么行?Agent 都会写代码了,远程排障还要人肉点网页、复制命令、盯滚动条,这画面多少有点“地铁老人看手机.jpg”。本文记录一次围绕 StarAgent/Drogo WebTerminal 的工具化实践:我们没有把 GPU hang、core dump 调试等场景固化成一个个“祖传脚本套件”,而是把 WebTerminal 抽象成稳定的 CLI 执行面,再用 Skill 描述操作方法。Agent 在任务中动态生成命令、读取结果、继续决策,最终完成远程 GPU hang 分析、文件上传下载、以及 Emacs + eshell + gdb 的交互式 coredump 调试验收。
插播:我对 Skill 的态度很朴素:Skill 不是法器,不是咒语,也不是“复制进去 Agent 就突然开悟”的玄学符纸。Skill 本质上就是说明书,是贴在工具箱盖子上的那张“先拧这个、再接那个、别把手伸进风扇里”的操作指南。真正能把活干成的,必须是 CLI:参数清楚、行为稳定、输出可解析、错误可复现、证据能落盘。 所以这套东西的核心不是“写一个很长的 Skill 让 Agent 背下来”,而是把能制度化的都制度化,把能流程化的都流程化,把以前靠老师傅手感、群里口口相传、网页上点点点的部分,全部压进 wt 这种可执行接口里。Skill 只负责告诉 Agent:什么时候该登录、什么时候该 run、什么时候该 interact、什么时候该停手问人。至于真正挥锤子的活, 必须交给 CLI。否则就是让 Agent 看着说明书徒手修发动机,场面很感人,结果很危险。(文章内容基于作者个人技术实践与独立思考,旨在分享经验,仅代表个人观点。)
WebTerminal 黑屏模式补充说明
号外号外,重大更新:
WebTerminal 终于可以像 SSH/SCP 一样用了
这轮最核心的新能力很直接:新增wsh/wcp,把 WebTerminal 从“打开浏览器点来点去”推进到“直接黑屏操作”。用户可以手动上去敲 shell,程序也可以直接调用命令;传文件也不再靠页面弹窗,而是走 wcp ,用法尽量贴近 ssh / scp 的肌肉记忆。感谢@先濠提供的多屏多容器支持,这让 session -> container -> role -> host 这条链路终于能落到比较完整的模型里,而不是只盯着一个默认页面硬猜。也感谢和@思潜的交流。聊完之后思路突然变得很明确:既然目标是让 WebTerminal 更像原生终端,那就别老想着再包一层 CLI 了,干脆往native terminal 化继续推,连 CLI 味儿都尽量去掉。
核心用法
先通过浏览器完成一次官方登录,把 cookie 缓存下来:
-
-
-
-
-
$ ./bin/wt auth login --target-ip x.y.z.wwt: waiting for browser login cookies; finish login in the opened browserauthenticated: Trueuser: defaultsource: browser之后就可以直接黑屏进 shell,或者把它当成可编程的远程命令执行入口:
-
-
-
-
-
$ ./bin/wsh x.y.z.wattached direct: x.y.z.w$ ./bin/wsh x.y.z.w -- 'hostname; pwd'hippo-033126067104.na175/home/admin/hippo/worker/slave/drogo-share_worker-h20-na175.worker-h20-na175_11_33/main文件传输也直接走wcp:
-
-
-
-
$ ./bin/wcp /tmp/wcp-demo.txt x.y.z.w:/tmp/wcp-demo.txt --forceuploaded: /tmp/wcp-demo.txt -> /tmp/wcp-demo.txt$ ./bin/wcp x.y.z.w:/tmp/wcp-demo.txt /tmp/wcp-demo.down.txt --forcedownloaded: /tmp/wcp-demo.txt -> /tmp/wcp-demo.down.txt
这次补上的关键体验
认证只需要浏览器进一次门,后续操作复用 auth cache。默认 cache 在~/.drogo-webterminal-helper/direct/default.auth.json,wsh/wcp会直接复用;如果换机器,也可以把这个 cache 拷过去继续用。shell 终于像个正常终端。exit不再卡死,远端 EOF / closed / reset 会正确退出;本地 terminal 的 rows / cols 会同步给 WebTerminal,窗口 resize 后也会继续同步,不再是一个小得离谱的假 shell。浏览器模式还保留,但不再是主路径。wtsh/wtcp --transport browser仍然可以作为兜底;默认使用 direct HTTP/WebSocket 做黑屏操作。
一点遗憾
纯黑屏登录暂时没有硬上。阿里 SSO 的 HTTP 登录链路会进入 RSA、风控、账号安全检查,继续硬怼收益不高,还容易把账号搞进风险提示。所以当前最稳的路线是:浏览器负责合规授权,真正干活走黑屏 shell。不算 100 分的“全黑屏”,但已经把最高频、最烦、最容易误操作的部分从网页里拽出来了。
以下是 V1 内容
前言:先把仓库拍你脸上
代码仓库在这里:foundation_models/webterminal-cli。先说结论:如果你也受够了“打开网页、点登录、复制命令、盯输出、再复制下一条”的人工智障流水线,那这个仓库就是给你准备的。它不负责让 WebTerminal 变得更漂亮,它负责让 WebTerminal 终于长出 CLI。是的,2026 年了,我们还在为“能不能别用手点网页”而奋斗,听起来很离谱,但工位现实就是这么朴素又残酷。这玩意儿的目标也很直接:让 Codex / Cursor / Claude Code 这类 Agent 不再隔着 DOM 猜命,而是通过wt像普通 shell 一样控制远端。能跑命令,能传文件,能开 gdb,能一条条交互,能把证据落盘。少一点“我好像看到了”,多一点“日志在这,别装死”。仓库欢迎试用、拍砖、提 MR,尤其欢迎那些一边骂“tmd 怎么全是 Web”,一边还能把工具补上的同学。
背景:Agent 要的不是另一个网页按钮,它要手脚
最近很多 AI Coding / Agent 实践都会落到同一个问题:模型会想、会写代码,甚至能一本正经地给你写 800 行设计文档;但真正接入企业内部系统时,经常卡在“可执行接口”上。它脑子很大,手却被绑在网页按钮上。远程机器排障就是典型场景。人可以打开 WebTerminal,点击登录,输入命令,看输出,再决定下
...(内容截断,完整内容请查看原文)
本页由自动化脚本生成,待人工审核补充