← 返回列表
⚠ 装前注意
把多个会话摆在同一屏幕,各窗格独立工作区
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/11 · 已提供中文文档
综合分
30.8
GitHub 分
30.8
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add syncended/deepseek-harness-split-screen未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
数据截至 2026/9/11(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@syncended/dsh-split-screen(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 09:04:49
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-model-selection@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-sidebar用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
DeepSeek Harness — 会话分屏
一个用于 DeepSeek Harness Web GUI 的 iTerm 风格会话多路复用器。它可将多个 Harness 会话放在同一屏幕上,并让每个窗格指向不同的工作区。
功能
- 嵌套的垂直(并排)和水平(堆叠)分屏。
- 拖动任意分隔条即可调整相邻窗格的大小。
- 将一个窗格标题拖到另一个窗格标题上即可交换它们的会话。
- 一个布局中最多可有 12 个窗格。
- 在主对话区域提供专用的分屏工作区模式,可从原生侧边栏页脚切换。
- 窗格本地聊天标签页:聚焦某个窗格,然后从标准 Harness 会话列表或该窗格的 + 菜单中选择一个会话。
- 侧边栏选择会在聚焦窗格中添加或激活一个标签页,而不会改变另一个会话的原生 Chat 视图。
- 每个窗格中都有实时流式转录、会话状态、排队回复、停止操作以及更早历史记录加载。
- 紧凑的每窗格模型和访问模式弹出选择器,带有图标,包括受保护的完全访问选择。
- 可点击的上下文环,显示已用/剩余/限制详情,以及实时轮次/步骤计数、令牌吞吐量(tok/s)、输入/输出令牌总数和缓存命中指标。
- 用于审批、计划审查和问题的结构化输入指示器,并可跳转到完整 Harness 视图。
- 布局、分屏比例、窗格顺序、选定的会话 ID 以及未发送的窗格草稿会持久保存在浏览器 localStorage 中。
- 英语、俄语和中文 UI,与 Harness 语言环境绑定,兼容深色主题令牌,并支持键盘控制。
要求
- DeepSeek Harness 0.1.0-rc.6 或兼容版本。
- Web 配置文件(dsh web)。
- Node.js 18 或更高版本。
安装
从 npm 安装:
dsh plugin --profile web add @syncended/dsh-split-screen
开发期间从此检出目录安装:
dsh plugin --profile web add /absolute/path/to/deepseek-harness-split-screen
某些由 pnpm 支持的配置文件需要工作区根目录标志:
dsh plugin --profile web add -w /absolute/path/to/deepseek-harness-split-screen
该包声明了一个 DSH bundle;无需手动添加插件条目。安装或升级后重启 dsh web,并刷新现有的 Web GUI。原生侧边栏页脚中会出现一个 Split 操作。
无需环境变量、远程 URL 或单独连接。窗格只能使用由同一个 dsh web Host 和配置文件公开的会话。
移除插件:
dsh plugin --profile web remove @syncended/dsh-split-screen
移除后重启 Host。
用法
1. 点击原生侧边栏页脚中的 Split。工作区会临时占据中央对话列。
2. 选择一个窗格,并在其标题栏中使用 Split vertically 或 Split horizontally。
3. 在目标窗格获得焦点时,在原生侧边栏中选择一个会话。它会被添加为该窗格中的一个标签页;选择已打开的会话会聚焦其现有标签页。
4. 使用窗格的 + 按钮添加标签页,而不改变侧边栏选择。关闭窗格标签页绝不会删除其 Harness 会话。
5. 使用分隔条调整大小,或将一个窗格标题拖到另一个窗格标题上,以交换完整的窗格标签页堆栈。
6. 再次点击 Back to Chat 或侧边栏的 Split 操作。Harness 会在活动窗格的会话上恢复其原生对话界面。
键盘快捷键
| 快捷键 | 操作 |
| --- | --- |
| Alt+Shift+V | 垂直拆分活动窗格 |
| Alt+Shift+H | 水平拆分活动窗格 |
| Enter | 从聚焦的编辑器发送 |
| Shift+Enter | 插入换行 |
工作区与持久化行为
单个 dsh web Host 会公开该配置文件中注册的所有工作区。该插件可以在一个布局中自由混合它们的会话;窗格不必共享 cwd 或仓库。
此版本不会聚合来自不同 DSH 服务器进程或不同远程 URL 的会话。那些是独立的 Host,需要多连接运行时,而不是客户端布局插件。
布局和草稿的作用域为当前浏览器源和配置文件。使用 Reset layout 清除已保存的排列。清除站点的浏览器存储也会移除布局和未发送的窗格草稿。
开发
npm run check
npm test
npm pack --dry-run
该包有两个运行时入口:
- lib/index.js — 空操作的 Host 加载器入口。
- lib/client.js — 无依赖的 DSH 惰性客户端模块。
浏览器端使用受支持的公共接缝:
- 为中心工作区动态注册的 main.conversation 占用项(旧版 Host 上为 conversation);将其释放会原样恢复 Harness 自带的 ConversationRoot。
- sidebar.footer.action 用于持久化的 Split 模式切换。
- ctx.sessions.list、open(id)、binding(id).session 以及公共会话投影,用于原生选择跟踪、提示、权限、token/上下文指标、取消和分页。
- ctx.uiConversation.binding(id).target("chat") 用于当前 Host 上的历史和流式传输,并在旧版本上回退到旧版会话快照。
- ctx.modelDirectories.directoryFor(id) 用于共享的每会话模型目录和选择状态。
- ctx.workspaces.list 用于原生工作区和会话标签。
布局是一个持久化的二叉树。拆分节点拥有方向和比例;叶节点拥有稳定的窗格 ID 和窗格本地标签页堆栈。移除叶节点会折叠其父节点,而标题拖放会交换完整的窗格标签页堆栈,而无需重建树。
当前限制
- 紧凑窗格有意渲染对话文本和紧凑的工具/命令行,而不是完整的 Harness 卡片注册表。
- 结构化审批、计划审查和 ask_user_question 必须在常规主视图中完成;该窗格提供直接跳转到那里的入口。
- 技能、斜杠命令插入和丰富的 + 菜单有意保留在原生 Chat 中,以保持小窗格紧凑。
- 附件可以在历史记录中表示,但此版本仅发送文本提示。
- 浏览器持久化仅限于当前源/配置文件本地。
许可证
MIT — 参见 LICENSE。同作者(syncended)的其他插件
扫码进群