爱意满满的作品展示区。
WayneXxx

[送码] HexHub 发布一段时间后,聊聊我理解的开发者工作台: SSH、数据库、Docker 和 AI Agent,顺便送码

  •  
  •   WayneXxx ·
    PRO
    · 51 mins ago · 167 views

    大家好,我是 HexHub 的开发者。

    HexHub 发布已经有很长一段时间了,也陆续有不少开发者把它当日常工具在用。最早做它,是因为我自己每天都要连服务器、查数据库、看 Docker 、传文件、开隧道,几个工具来回切久了真的很烦。

    如果只用一句话概括,HexHub 是一个开发者桌面工作台:SSH 终端、数据库客户端、Docker 管理、远程文件、隧道这些东西放在同一个应用里。我不是想重新发明某个单点工具,而是想把经常连在一起发生的操作放回同一个上下文里。

    这次来 V2EX ,一方面是想送一些码,另一方面也想聊聊这段时间打磨比较多的方向:基础工具体验继续补齐,数据库和 SSH 继续做深,另外也加了 Agent 能力。

    Agent 我放后面说。因为我知道很多人对 AI 直接碰服务器、数据库会天然警惕,我自己也一样。所以这篇先从不用 AI 的部分开始:即便你完全不用 Agent ,HexHub 也应该是一个顺手、完整、性能不错的 SSH / 数据库 / Docker 工作台。

    不用 AI ,它也应该足够好用

    HexHub 和传统工具最大的区别,是它把 SSH 、数据库、Docker 放在同一个工作台里。

    比如你通过 SSH 连到一台服务器,发现服务异常;你可以在同一个工具里看 Docker 、开终端、传文件、打隧道,再去连内网数据库查数据。这个过程不需要在 Xshell 、MobaXterm 、Navicat 、DataGrip 、Docker Desktop 、浏览器代理配置之间来回跳。对我来说,这种“上下文不断掉”的体验非常重要。

    数据库这块不是只做了一个“能连上、能跑 SQL”的功能。我是按日常数据库客户端在打磨的:SQL 编辑器、结果集查看、表数据浏览和编辑、表结构查看、数据导入导出、数据同步、表结构同步、跨库拷表这些都在一个流程里。性能也花了不少时间优化,SQL 导入导出、数据同步这些场景,在带宽不受限的情况下,我这边实际对比 Navicat / DataGrip 通常能快 3 到 10 倍。尤其是大表迁移、批量导入、跨库同步这类任务,速度差距会比较明显。

    SSH 这块也不是只做了一个能连上的终端。常用和进阶能力都有覆盖:

    • 代理连接
    • Chrome 全功能隧道
    • 内置 SFTP
    • lrzsz / ZModem / trzsz
    • X11
    • SCP 文件传输
    • 端口转发和 SSH 隧道
    • 批量输入 / 广播输入
    • 命令历史和服务器资源信息

    Chrome 全功能隧道这个功能,适合访问远端内网 Web 服务。比如服务器内网里有管理后台、监控面板、Swagger 、Grafana ,不用手动配一堆代理规则,直接从 HexHub 拉起隧道,用 Chrome 像访问本地网页一样打开。

    所以如果你对 AI 不感兴趣,也可以把 HexHub 当成一个更现代一点的一体化 Xshell + MobaXterm + Navicat / DataGrip 替代方案。它不是要在每一个单点功能上都宣称重新发明轮子,而是希望把开发、远程、数据库这些高频动作放在一个连续的工作流里。

    两种 AI Agent

    HexHub 里的 Agent 现在主要有两种形态:一种是传统的对话式 Agent ,另一种是终端式 Agent 。

    对话式 Agent 更像大家熟悉的聊天窗口,但它不是只能回答文字。它可以在同一个会话里使用 HexHub 已经接入的工具链,跨 SSH 、数据库、Docker 做事情。比如你可以让它先看某台服务器的进程和容器状态,再去数据库里查最近失败的数据,最后把排查结论整理出来。这个适合偏“跨资源”的问题,不用你自己在几个模块之间来回搬上下文。

    终端式 Agent 则完全是另一种思路。它只作用于当前终端,不会自己跑去切别的 SSH 、数据库或 Docker 目标。它的目标是把终端和 LLM 对话沉浸到同一个终端里:你看到的命令、输出、cwd 、错误、下一步建议,都在当前这个终端现场里发生。

    我自己叫它 Terminal 2.0 。它不是简单在终端旁边放一个聊天框,而是把当前终端里的上下文交给 Agent:

    • 当前在哪台机器、哪个目录
    • 最近执行过什么命令
    • 上一条命令的退出状态和输出
    • 你选中的报错、日志、配置片段
    • 当前这个 SSH 会话本身的 shell 状态

    举个很常见的场景:

    你在服务器上跑 docker compose config,结果报了一个 YAML 或端口映射错误。以前可能是复制错误、问 AI 、复制建议命令、回终端执行。现在可以直接在终端里问:

    “解释一下这个错误,给我下一步排查命令。”

    终端式 Agent 会先看当前终端上下文,然后给出比较保守的下一步,比如先 cat docker-compose.yaml 或者 grep 某段配置。它不会一上来就替你乱改东西。真正要执行命令,也是在你确认之后才进入当前 PTY 。

    我自己比较在意的一点是:AI 应该帮人减负,但不能抢方向盘。

    所以 HexHub 里高风险操作会比较克制。比如删除文件、改权限、删容器、数据库写入这类操作,会走确认;文件修改也尽量通过专门的文件工具做,这样后面能看到 diff 、能回滚,而不是让 Agent 在 shell 里一顿 sed -i

    终端式 Agent 和普通对话式 Agent 的区别在于,它更强调“看得见”。它读了什么上下文、建议了什么命令、准备执行什么、哪里需要确认,都会尽量贴着当前终端流程走。对我来说,这比一个全局 Agent 在后台悄悄做一堆事更可控,也更适合服务器这种有风险的场景。

    我希望这个终端 Agent 更像一个“坐在你旁边的同事”:

    • 报错时帮你解释
    • 日志太长时帮你归纳
    • 不确定下一步时给排查路径
    • 配置文件改错了可以帮你定位
    • 需要执行命令时给出理由和风险

    它不是那种“我来全自动接管服务器”的设计。我个人其实也不太信任这种东西。服务器和数据库都是有代价的地方,AI 最好是提高判断效率,而不是把人从决策链路里拿掉。

    适合谁

    从目前用户反馈看,HexHub 比较适合这些人:

    • 经常 SSH 到服务器排查问题
    • 经常在终端和 AI 聊天窗口之间来回复制
    • 希望 AI 能理解当前命令输出,而不是只会泛泛回答
    • 不想在 Xshell / MobaXterm / Navicat / DataGrip / Docker 工具之间来回切
    • 经常做 SQL 导入导出、数据同步、跨库迁移
    • 需要 SSH 隧道、代理、SFTP 、X11 、批量输入这类完整远程能力
    • 偶尔要看数据库、改数据、导入导出、同步结构
    • 喜欢把远程机器、数据库、Docker 、终端放在一个桌面工作台里

    如果你只是要一个极简终端,或者已经有非常固定、完全不想换的命令行工作流,可能不一定需要它。

    截图

    送码

    官网: https://www.hexhub.cn

    这次想在 V2EX 送一些 HexHub 的兑换码,主要是想让更多 V 友体验一下完整工作台,以及对话式 Agent 和终端式 Agent 这两种 AI 能力,也欢迎老用户继续提意见。

    在回复里留下邮箱。我会发一些 3 个月兑换码,尽量让感兴趣的朋友都能试一下。

    我最想听的是这些反馈:

    • 对话式 Agent 跨 SSH / 数据库 / Docker 调工具链这件事是否有用
    • 终端式 Agent 有没有让终端里的 AI 辅助更直观、更可控
    • 哪些命令场景你会愿意交给终端式 Agent 辅助
    • 哪些操作你觉得必须更谨慎
    • 即便不用 AI ,SSH / 数据库 / Docker 的一体化体验有没有价值
    • 对比你现在用的 Xshell 、MobaXterm 、Navicat 、DataGrip ,哪里更顺手,哪里还不够
    • SQL 导入导出、数据同步这些高性能场景是否符合预期
    • SSH 隧道、代理、SFTP 、X11 、批量输入这些基础能力有没有卡手的地方
    • 作为开发者工具,哪些细节会让你觉得“这东西可以长期放 Dock 里”

    也欢迎直接喷,尤其欢迎具体一点的喷。比如“这里不好用,因为我在某个场景下会这样操作”,这种反馈对我最有用。

    8 replies    2026-05-12 14:33:18 +08:00
    diudiuu
        1
    diudiuu  
       48 mins ago
    YWRpdWRpdXVAZ21haWwuY29t 如果可以的话,我可以给你说一个你这个软件的漏洞.
    qinfengge
        2
    qinfengge  
       47 mins ago
    一直在用,主要是觉得 FinalShell 太重了,这个还能连数据库。NzE4NTY2ODkxQHFxLmNvbQ==
    WayneXxx
        3
    WayneXxx  
    OP
    PRO
       40 mins ago
    @diudiuu 好的已处理,漏洞问题可以通过邮件沟通,如果你说的是软件破解问题这个我是知道的,必要时我会出手
    zhyaoyu
        4
    zhyaoyu  
       39 mins ago
    火前留名,数据库的功能好用,现在已经不用 navicat 了。
    aGR3YXJkLmRldkBnbWFpbC5jb20=
    Etuloser
        5
    Etuloser  
       37 mins ago
    想体验一下,挺贴近日常工作场景
    MTQ5NDEzNjMxM0BxcS5jb20=
    WayneXxx
        6
    WayneXxx  
    OP
    PRO
       36 mins ago
    @qinfengge 已处理
    tyhsun
        7
    tyhsun  
       36 mins ago
    Y3J5Ymlnc2VhQHFxLmNvbQ==
    WayneXxx
        8
    WayneXxx  
    OP
    PRO
       32 mins ago
    @zhyaoyu
    @Etuloser
    @tyhsun 已处理
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5710 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 182ms · UTC 07:05 · PVG 15:05 · LAX 00:05 · JFK 03:05
    ♥ Do have faith in what you're doing.