dsh-tmux-cc:DeepSeek Harness Web 的持久化 tmux 控制模式驾驶舱

前言

在使用 DeepSeek Harness Web 进行开发或调试时,如果需要维持长期运行的终端会话,直接切换原生窗口会打断上下文,且在浏览器中运行终端通常涉及 PTY 或原生节点模块,部署复杂。dsh-tmux-cc 提供了一个持久化的控制模式驾驶舱,允许在不中断 tmux 进程的情况下管理会话。

插件介绍

dsh-tmux-cc 是 DeepSeek Harness Web 的一个客户端插件。由 adrianleb 维护。它通过 xterm.js 渲染原生 tmux 窗格,并保持停靠栏在切换聊天时可见,提供了会话管理、客户端分离和移动端适配等能力。

核心能力

  • 跨聊天持久化:停靠栏属于 DSH Web shell,而非特定对话。
  • 原生 tmux 窗格:窗格布局、窗口标签、聚焦、缩放、分割和调整大小与 tmux 保持同步。
  • 非破坏性调整大小:镜像模式下使用 ignore-size,接管模式下提供清晰的 1:1 网格。
  • 安全输入传输:输入通过十六进制编码的 send-keys -H 逐字节转发,包括 Enter、粘贴和 Unicode 字符。
  • 会话与客户端管理:支持创建、重命名或附加会话,查看并安全分离原生客户端(不停止进程)。
  • 忠实移动驾驶舱:在移动端(宽度 < 768px),停靠栏变为全屏抽屉,保留真实的 tmux 窗格网格和原生窗格缩放,支持触摸平移。
  • 双语 UI:界面语言跟随 DSH 的区域设置。
  • 无原生依赖:控制通道使用标准的 stdin/stdout 管道。

安装与启用

在终端中执行以下命令安装插件:

dsh plugin --profile web add github:adrianleb/dsh-tmux-cc

安装完成后,重启现有的 dsh web 进程,并刷新 Web GUI。界面右下角会出现一个 tmux 按钮,通过设置中的 tmux 选项也可以打开停靠栏。

基本用法

  1. 打开 tmux 停靠栏。
  2. 从下拉菜单中选择一个活动的 tmux 会话。
  3. 点击窗格以聚焦它并正常输入。
  4. 在窗格聚焦状态下,使用键盘快捷键(见下文)。
  5. 拖拽窗格标题到另一个窗格上以交换位置(桌面或移动端)。拖拽窗格之间的分隔线以调整大小。

注意事项与依赖

  • 系统要求:需要在 DSH 所在的主机上安装 tmux(支持 3.4 和 3.7b)。需要在同一主机上安装 Node.js 22 或更高版本。
  • 权限与模式:插件以当前 DSH 进程的权限运行。它不运行浏览器内终端,不依赖 PTY 或原生 Node.js 插件,仅作为 tmux 的另一个视图。
  • 会话限制:插件拒绝杀死会话中的最后一个窗格。
  • 构建依赖:如需从源码构建,需要本地安装 pnpm(建议使用 Corepack)。

总结

dsh-tmux-cc 解决了在浏览器环境中管理长期 tmux 会话的痛点,通过原生同步和持久化停靠栏,为开发者提供了一个稳定、安全的控制台。

链接:GitHub 仓库 | 插件目录

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜