做了个支持多级跳板的 SSH 会话中间件,让 AI Agent 能操作堡垒机后面的服务器

7 月 19 日
 jie123168

为什么做这个

最近工作里,写代码、改文档、点网页这类事,基本已经可以交给 AI Agent 了。但一碰到服务器操作就卡住:

公司一般都有跳板机 / 堡垒机,Agent 没法直接连后面的机器,自动化就断了。

更头疼的是排查问题:经常得先登录服务器,把线上日志拷到本地,丢给 Agent 分析,再拿着它给的步骤回到线上执行。来回倒腾,特别耗时间。

所以做了 Shellink:把「多级跳板之后的那台机器」收成一个稳定会话,让 AI Agent (和人)能直接在上面执行命令、传文件、看历史。

仓库: https://github.com/jie123108/Shellink
中文文档: https://github.com/jie123108/Shellink/blob/main/README.zh-CN.md

Web UI 实时会话(经跳板到达目标机):


Shellink 是什么

一句话:面向 AI Agent 和人类的会话中间件( session middleware )。

本地跑一个 daemon ,持有 SSH / 本地 PTY 会话;外面用统一的 CLI (也有 TUI 、Web UI 、HTTP/WebSocket )去操作这些会话。

不是又一个 SSH GUI ,重点是:

会话 Dashboard (活跃会话列表):


主要能力

1. 多级跳板 / 复杂登录

很多环境不是一次 ssh user@host 就结束,而是菜单、OTP 、多跳。

说明一下边界:Shellink 本身不负责自动登录。多级跳转、堡垒机菜单、OTP 等交互认证,建议用 command 类型的 profile 挂 expect 脚本处理;简单场景也可以用 sshpass(仅密码)或 sshProxyJump / ProxyCommand。Shellink 负责把登录完成后的会话管起来(执行命令、传文件、状态、审计)。

2. 跨跳板文件传输

上传/下载走已有的 PTY ,不额外要求 SFTP 。复杂跳板链路上也能把日志拉下来、把脚本推上去——正好对应「拷日志到本地再问 Agent 」那个痛点。

3. 远程编辑

shellink session edit 做精确替换,适合改配置一类操作。

4. 审计与人机协同

会话输入输出可留历史,方便回看 Agent 干了啥;敏感步骤可以人工接管。

5. 给 Agent 准备的 skill

仓库里有 shellink-cli skill ,Agent 按 CLI 接口操作即可,不必自己实现 SSH/跳板逻辑。

安装二进制( macOS / Linux ):

curl -fsSL https://raw.githubusercontent.com/jie123108/Shellink/main/install.sh -o /tmp/shellink-install.sh
cat /tmp/shellink-install.sh
sh /tmp/shellink-install.sh

或让 AI 助手直接按文档装:

请帮我安装 Shellink 及其 skills ,参考这份文档: https://raw.githubusercontent.com/jie123108/Shellink/main/AGENTS_INSTALL.md

装好后:

shellink cli                  # TUI ,会按需拉起 daemon
shellink agent-doc            # 给 Agent 看的接口说明

CLI/TUI 会话视图:

Web UI 默认在本地:http://127.0.0.1:7070/shellink/ui/


安全提醒(重要)


求试用 & 反馈

欢迎有跳板机 / 堡垒机场景的同学试试。登录脚本本身用 expect 就行;我更想听的是登录之后这块好不好用:

  1. 会话与操作:状态是否清晰、命令执行是否稳、跨跳板传文件/远程编辑有没有坑
  2. 和 Agent 一起用:接 Cursor / Claude Code 等时,CLI/--json/skill 哪里别扭、缺什么
  3. 人机协同:OTP 等需要人插手时,MANUAL 模式、审计历史是否够用

有问题直接回帖或去 GitHub 提 issue 都行,谢谢。

1107 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1228392

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX