Asaiuta/dsh-session-hub

聚合并原生操控多个远程DeepSeek Harness(DSH)服务器的会话,通过一个官方Web UI——集线器网关与官方UI桥接。多服务器DSH会话聚合与原生操控。

Project Overview项目介绍

dsh-session-hub is a native plugin built exclusively for DeepSeek Harness (DSH) that aggregates scattered sessions from multiple sources into DSH’s official workspace tree. It supports two independent, optional features: connecting remote DSH servers to a local DSH client, and importing historical conversation logs from other local AI coding tools. Neither feature modifies DSH’s official UI; all interface rendering is handled by DSH’s native components, so the plugin only works in the data layer to aggregate and route session data. To install the plugin, run dsh plugin --profile web add dsh-session-hub@alpha in your terminal, then restart the DSH web process and refresh the browser page.

When connecting a remote DSH server, the plugin adds the server as a new group in the local workspace tree. All operations, including creating new sessions, archiving, renaming, and deleting, are routed to the corresponding remote server. The agent process runs natively on the remote machine, so the local client only acts as a view panel. Users can close the local client or even switch devices at any time, then reconnect later to check the progress of the running remote session. For importing external histories, the plugin reads logs from Codex CLI, Claude Code, opencode, and Pi, and organizes imported sessions by project directory.

The plugin is currently an alpha release (version 0.1.0-alpha.2), requires Node.js ^22.19 or >=24, and only works with DSH’s web profile. It is released under the open-source MIT license, and all core functionality has been manually verified on real test machines. The configuration format and internal communication protocol may still change before the 1.0 stable release, and only a limited number of environments have been tested so far. Remote DSH servers do not need to install this plugin, they only require a standard running DSH web endpoint that responds to DSH’s native API.

这是一个专为 DeepSeek Harness (DSH) 开发的原生插件,功能是把远端服务器上的 DSH 会话,以及本地 Codex CLI、Claude Code、opencode、Pi 等工具的历史对话,统一聚合到 DSH 官方的工作区会话树中。它不修改 DSH 官方的侧边栏和对话区界面,只负责数据的聚合与路由,所有界面渲染都使用官方原生组件。用户可以分开开启远程连接和历史导入两个功能,二者互不依赖。

远程连接功能支持将每台远端服务器作为本地工作区树中的一个分组,所有对会话的操作都会路由到对应远端服务器,Agent 循环始终在远端机器原生运行,本地仅作为看板展示。用户可以关闭本地客户端,之后重新连接即可继续查看远端会话的运行进度。导入功能会读取本地其他工具的历史对话日志,按项目目录归类到对应工作区,导入的会话默认是只读状态。

该插件目前是 Alpha 测试版本,要求 Node.js 版本不低于 22.19,仅支持 DSH 的 web 配置项。可通过 DSH 内置的插件命令直接从 npm 安装,也支持从源码或 GitHub 压缩包安装,使用 MIT 许可证开源。核心链路已在实机验证,但 1.0 版本发布前配置格式可能变动,目前仅测试过有限的运行环境。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 5 stars - very few users, little community feedback星标只有 5,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add https://github.com/Asaiuta/dsh-session-hub/archive/refs/tags/v0.1.0-alpha.2.tar.gz

把 Asaiuta/dsh-session-hub 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-session-hub

把散在各处的会话收进 DSH 的同一棵树。

远端服务器上的 DSH 会话,本机 Codex CLI、Claude Code、opencode、Pi 的历史对话, 一起进官方 Web UI。侧边栏和对话区都用官方的,插件只搬数据。两件事互相独立,可以只装一件。

npm MIT changelog alpha node DSH

[!WARNING] Alpha 版本(0.1.0-alpha.2,本版改动)。核心链路都在真机上跑通过:网关路由、官方 UI 桥接、 实时帧注入、审批应答、跨机对话。但只验证过一套环境(Windows 本机 + 腾讯云 Linux,SSH 隧道), 配置格式和安全边界在 1.0 前仍可能变。

这是什么

DSH 的会话树只认这一台机器、这一个工具产生的会话。于是:

服务器上跑了一半的任务,要开新标签页、连隧道、从头找起。关掉笔记本再回来,不知道它现在到哪一步。 上周用 Codex CLI 聊过的方案,在 DSH 里根本不存在,只能去翻 ~/.codex 底下的 JSONL。

这个插件把这两类会话都接进同一棵树:

工作区
├── my-project        ← 本机工作区(官方原样)
├── another-repo      ← 本机工作区
├── tencent           ← 远端服务器,点开就是那台机器的会话
│   ├── 部署脚本调试
│   └── 日志分析
└── audio-engine      ← 本机工作区,混着导入的历史对话
    ├── 重构方案讨论        (Codex CLI)
    └── 修 CI 那次          (Claude Code)

点开任意一个会话,包括远端的,官方对话区照常渲染:历史、逐 token 流式输出、审批卡片、提问问卷, 全是官方组件。插件只搬数据,不画界面。

远端会话并不是你本机在代跑。agent 循环在那台机器自己的 dsh 里,本机只是个看板。 所以可以关掉本机去吃饭,回来再接上看它跑到哪了:还在跑就从当前这一刻续上实时流,跑完了就看完整历史。

两件独立的事

插件做两件事。它们不互相依赖,装了可以只开一件(见配置):

两件独立的事

插件做两件事,互相不依赖,装了可以只开一件(见配置):

🖧 把远端机器接进来

每台服务器成为工作区树里的一个分组,组内是那台机器的会话。

  • 树内操作是原生语义:+ 新建会话在那台机器上创建、归档 / 删除路由到会话所在机器、重命名分组即重命名服务器、删除分组即断开该连接。
  • 会话跑在远端,不依赖你开着:agent 循环在那台机器自己的 dsh 里推进。本机关掉、断网、换台电脑,远端该跑的照跑。回来时它可能已经跑完了。
  • 中途接得上:hub 启动时若远端正在生成,从当前这一刻续上实时流,缺席期间的历史由 session.history 补齐,和官方断线重连是同一套语义。
  • 对话区零替换:远端会话的历史、实时流、审批与提问卡片全部由官方组件渲染。没有自绘聊天窗,没有 shadow slot。
  • 隧道不用你建:填 user@host 与私钥路径,插件自己开 SSH 隧道、自己保活重连,本地端口它自己分配。
  • 模型配置增量同步:服务器连上后,把本机有而远端缺的提供方、默认模型与 API Key 补过去。只补缺,不覆盖远端已有配置。

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-video-preview 下一个 Next teach-math-with-manim →