dsh-wo-tmux:DSH 工作区概览中的 tmux 会话状态与终端附加

在智能体开发中,浏览器 Harness 与终端控制台之间常存在割裂。开发者需要频繁切换上下文,手动查询 tmux 会话状态,或遗忘哪些工作会话已被冻结。dsh-wo-tmux 插件将 tmux 工作流直接集成到 DeepSeek Harness 的工作区概览中,解决状态可见与快速接入的问题。

插件简介

dsh-wo-tmux 是 DeepSeek Harness (DSH) 的一个客户端插件,由 joao-paulo-santos 维护。它提供 tmux 工作区概览,支持会话状态(实时、冻结、冷存储)显示及一键终端附加功能,帮助开发者在不离开浏览器的情况下管理终端会话。

核心功能

  1. 会话状态胶囊
    在工作区概览的会话头部显示状态胶囊,直观展示会话的当前状态。点击胶囊即可打开或附加终端,根据状态自动执行解冻或恢复操作。

  2. Workspace Overview 子标签页
    在 Workspace Overview 中提供 Tmux 子标签页,分为两个视图:

    • Session:显示当前工作区会话的详细状态(名称、状态芯片、解析方式、客户端数、窗口数)。
    • All sessions:列出机器上的所有会话,按状态分组,支持从全局视图对会话进行管理。
  3. 会话操作
    根据会话状态提供不同的操作选项:

    • 实时会话:打开控制台、冻结、快照到冷存储。
    • 冻结会话:解冻、恢复、清理快照。
    • 冷存储会话:恢复、清理快照。
    • 所有操作均需确认,防止误操作。
  4. 链接与分组
    支持将工作区固定到自定义会话名称,实现分组显示。这对于同名项目(如两个项目都叫 api)非常有用,可通过显式链接避免冲突。

  5. 持久化链接
    工作区与会话的链接关系持久化存储在 ~/.dsh/settings/wo-tmux.json,重启后依然有效。

  6. 会话解析优先级
    插件通过以下优先级将工作区解析为会话:

    1. 显式链接(Link Store)
    2. 基名匹配(Workspace Basename)
    3. 无匹配(需手动创建或链接)

安装与启用

安装前需确保已安装 DeepSeek Harness (DSH),并拥有一个配置文件(示例中使用 web profile)。系统需在 PATH 中包含 tmux 和 tmux-fridge。

  1. 创建插件目录并克隆依赖:
    mkdir -p ~/dsh-plugins && cd ~/dsh-plugins
    git clone https://github.com/joao-paulo-santos/dsh-workspace-overview.git
    git clone https://github.com/joao-paulo-santos/dsh-wo-tmux.git
  1. 从 Harness 检出目录执行插件安装:
    pnpm dsh plugin --profile web add ~/dsh-plugins/dsh-workspace-overview
    pnpm dsh plugin --profile web add ~/dsh-plugins/dsh-wo-tmux
  1. 验证配置:
    pnpm dsh --profile web --dump-config

重启 Harness 后,在 Workspace Overview 中即可看到 Tmux 子标签页,且在关联的会话头部会显示状态胶囊。

典型用法

  • 冻结工作流:使用 tmux-fridge 冻结当前正在进行的长时间运行的工作会话,保持系统资源占用最小化。
  • 快速接入:点击工作区概览中的状态胶囊,直接在浏览器中打开真实的终端窗口并附加到会话,无需手动输入 tmux attach。
  • 解决冲突:将两个同名项目的工作区分别链接到不同的自定义会话名称,并在 Workspace Overview 中清晰区分。

适用场景与注意事项

适用场景

  • 使用 tmux-fridge 管理会话冻结与恢复的开发者。
  • 需要在浏览器 Harness 与终端之间频繁切换的智能体开发者。
  • 需要统一管理多台机器上 tmux 会话状态的用户。

注意事项

  • 依赖项:必须安装 dsh-workspace-overview 插件,否则客户端功能将无法生效。
  • 终端模拟器:插件依赖终端模拟器。创建会话时通过 $TERMINAL 环境变量指定,若未指定则探测 kitty、alacritty、wezterm 等常用模拟器。
  • 环境变量:可通过 TMUX_FRIDGE_BIN 环境变量指定 tmux-fridge 二进制文件的路径。
  • 真实终端:插件不嵌入浏览器终端,而是生成真实的终端窗口。每次点击仅打开一个终端窗口。
  • 场景限制:名称检测目前仅覆盖一对一场景(一个工作区一个会话),多对多场景未覆盖。

总结

dsh-wo-tmux 通过将 tmux 的会话状态管理能力引入 DSH 的工作区概览,实现了浏览器操作与终端控制的无缝衔接。它通过状态胶囊和子标签页提供了清晰的可视化界面,并通过标准化的操作流程简化了会话的冻结、恢复与管理。

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

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

小夜