「你这终端连 vi 都打不开,算什么完整终端。」
前几天有用户丢过来这么一句。我不太服气,自己连上去试了半天——敲命令、看输出都正常,可一进 vi、nano、top 这种全屏程序,画面直接花掉,光标到处乱跳。确实理亏。
后来干脆把 SSH 终端整个重写了:从原来的富文本框,换成自己写的一个终端模拟器。现在 vi 编辑、全屏程序都正常了。这个工具(七亿批量远程管理工具,也就是 RdpManager)我断断续续做了大半年,没有什么宣传渠道,用户一直不多,绝大部分功能是我自己一台台机器测出来的。慢是真慢,好在每条坑都自己踩过一遍。SSH 这块修完,我才算敢说它「完整」了。
窗口缩放同步列宽、鼠标事件转发、256 色这些之前留着的小尾巴,昨天晚上也一并补完了。常用的 vi / nano / top / htop 自不必说,之前那些将就着用的地方,现在也都能正常干活。
SSH 告一段落,接下来做什么,我琢磨了一阵。目前想清楚的是两个方向。
一、群控
说白了就是:打开一个窗口,敲一条命令,这条命令同时下发到你勾选的那几台 Linux 服务器终端里去。
运维手上机器一多,最烦的就是一台台连、一遍遍敲同样的话——改个 sshd 配置、清个日志、统一装个东西,全是重复劳动。群控做出来,勾几台机器,输一次就够了。
技术上不算难,难的是安全。命令是同步下发的,手一抖敲错,就是几台机器一起出事。所以我打算加一步「先预览、再下发」:选中的是哪几台、要执行什么,确认了才发出去;每台机器的回显单独留着,哪台成了、哪台报错,一眼能看见。
二、接 AI
这个我自己最期待。
现在很多新手连宝塔都不会装。网上教程一抓一大把,照着敲到第三步就卡住了——路径不对、系统版本不一样、权限没给够,就卡在那了,发帖子问也没人回得快。
以后我想做的是:你不用去找教程,直接跟工具说一句「帮我装宝塔」,它就把对应的命令给你列出来。全程说中文、鼠标点一下就能走完,不用背命令,也不用记那些参数。
不过 AI 这块我会做得比较谨慎。生成命令这件事,说错一句真可能把线上机器搞坏——想想 rm -rf 打错目录是什么后果。所以框架一定是「AI 出命令 → 你看一眼 → 你确认 → 才执行」,而不是你说一句它就直接动手。生产环境上,最后那一下得始终捏在人手里。
其他的暂时没想好。做工具这行就是这样,计划刚列出来,往往就被一个突然冒出来的 bug 打乱节奏。上面这两个方向你们觉得怎么样?要是有别的建议,也欢迎直接说——反正这软件是我一个人在弄,你们想要什么,比我坐在这儿猜要准。
评论