自荐一个适合 AI Coding 的远程会话工具: tssh + tsshd - V2EX
请不要在回答技术问题时复制粘贴 AI 生成的内容
LonnyWong

自荐一个适合 AI Coding 的远程会话工具: tssh + tsshd

  •  
  •   LonnyWong 1 day ago 1895 views

    很多人跑 Claude Code 、Codex CLI 、Gemini CLI 之类的 AI Agent ,都会遇到一个问题:SSH 断线后终端状态没了,换设备接着看也不方便。

    tssh + tsshd 提供了会话预览和 re-attach 能力:

    • 查看当前所有会话列表
    • 直接预览每个会话的最新屏幕内容
    • 重新附加到已有会话继续操作
    • 支持 UDP 自动重连和 IP 漫游
    • 不依赖 tmux

    相比 tmux ,优势有几个:

    • 保持原生终端体验,不需要 tmux 的窗口、面板和快捷键体系。
    • 可以直接预览会话内容,再决定连接哪个会话,不用一个个 attach 进去试。
    • 支持终端状态恢复,重连后能恢复完整屏幕内容,而不仅仅是 shell 还活着。
    • 支持网络切换和自动重连,对移动办公和 AI 长任务比较友好。

    对于经常把 AI Agent 挂在远程服务器上跑的人,体验会比传统 SSH + tmux 更顺一些。

    项目地址:

    屏幕截图: tsshd attach session

    PS: 新开发的功能,未发布,需要从源代码编译 tsshtsshd 来体验。

    17 replies    2026-05-25 14:08:53 +08:00
    wsbqdyhm
        1
    wsbqdyhm  
       1 day ago via iPhone
    我一直用 termius 和 serverbox ,直接/resume ,有什么区别吗?
    BenjaminSu
        2
    BenjaminSu  
       1 day ago via Android
    为啥一直总有人在造轮子,开发新的 ssh 终端?
    LonnyWong
        3
    LonnyWong  
    OP
       1 day ago
    @wsbqdyhm Termius /resume 是找出历史会话?

    tsshd 是断线后依然会在后台自动运行,同一台机器换网络会自动重连,也可以换台机器继续操作。
    shoaly
        4
    shoaly  
       1 day ago
    @BenjaminSu #2 这个 ssh 终端 和其他的不一样, 他支持 udp quic 协议, 可以一直挂着 ssh 不会断
    shoaly
        5
    shoaly  
       1 day ago
    @LonnyWong #3 但是我发现问题, 有些时候 会出现断线无法重连的情况, 重新 tssh 上去就能好, 但是那个 session 就没有了, 如果能有类似 tssh resume {session-id} 这种能力就好了 断线的时候
    LonnyWong
        6
    LonnyWong  
    OP
       1 day ago
    @shoaly #5 现在就是支持了这功能,你配置 UdpSessionAttach yes 或者加 --attach 参数,那后续同样的配置或加 --attach 就可以 resume 。
    9
        7
    9  
       1 day ago
    支持 lz ,tssh 一直在用,很好用
    9
        8
    9  
       1 day ago
    话说有计划支持 SSH over HTTPS 吗,有些网络场景,只能通过 http/https 访问
    LonnyWong
        9
    LonnyWong  
    OP
       1 day ago
    @9 现在支持 over TCP ,在 UDP 不通的网络可以配置 UdpProxyMode TCP 来使用。HTTP/HTTPS 需要你配置好服务器转发吧?可以讨论一下看看怎么支持。
    teaguexiao
        10
    teaguexiao  
       1 day ago
    跑 Claude Code 长任务最怕突然 SSH 断掉,之前一直靠 tmux 保活,这个工具能在 attach 前先预览一下任务跑到哪步了,体验差异很大。
    shoaly
        11
    shoaly  
       1 day ago
    @LonnyWong #6 抱歉 这才审题了. 原来更新的就是这个功能 666 点赞! 再提一个能力, 从 tssh server --install 开始 , 就能 开始自动部署 tsshd, 甚至你那一堆文件拷贝的能力, 这样能省去 tsshd 这个的部署 要省事一些. 话说我是不是该去 issue 里面提 ~~
    LonnyWong
        12
    LonnyWong  
    OP
       1 day ago
    @shoaly tssh --install-tsshd 就会安装了,已有的功能。
    relife
        13
    relife  
       1 day ago via Android
    @9 可以试试 ssh3 这个项目,不过已经 2 年没更新了,但还能用。
    LonnyWong
        14
    LonnyWong  
    OP
       16h 24m ago
    @9 要支持 ssh over http/https 其实不难。tsshd 有两层:

    1 、普通 ssh 登录,这个需要 over http/https ,可以开发点代码让 tssh 内置支持,也可以使用 ProxyCommand 将 http/https 转成 tcp (这个已经支持)。

    2 、普通 ssh 登录后的 udp 通讯,这个已支持 udp over tcp ,再让 tssh 内置使用 http/https 来建立一个 tcp 连接来用即可。

    以上要求 http/https 服务器做好 tcp 转发。
    ShadowPower
        15
    ShadowPower  
       12h 24m ago
    https://herdr.dev/
    我最近在用这个,感觉体验已经很好了
    catamaran
        16
    catamaran  
       11h 48m ago
    @ShadowPower 用 windows 的不配使用这个工具
    ShadowPower
        17
    ShadowPower  
       11h 29m ago   1
    @catamaran 可以用 wsl 运行,然后 wsl 里也可以运行 Windows 程序
    About     Help     Advertise     Blog     API     FAQ     Solana     1186 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 78ms UTC 17:38 PVG 01:38 LAX 10:38 JFK 13:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86