🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

标签页分屏 vennahlot/dsh-tabs

DeepSeek Harness
vennahlot11 天前有提交已提供中文文档扫描:含敏感能力

用浏览器式标签和分屏管理多个聊天会话

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add vennahlot/dsh-tabs
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · browser
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 读取本地文件
    index.js:40
    try { return JSON.parse(await readFile(file, 'utf8')) }
  • 写入本地文件
    index.js:48
    await mkdir(dirname(file), { recursive: true })
  • 写入本地文件
    index.js:50
    await writeFile(tmp, JSON.stringify(doc, null, 2) + '\n', 'utf8')
  • 写入本地文件
    index.js:51
    await rename(tmp, file)
  • 发起网络请求
    client.js:566
    fetch(STATE_ROUTE, { method: 'PUT', headers: { 'content-type': 'application/json' }, body: JSON.stringify(doc) })
  • 发起网络请求
    client.js:577
    const r = await (await fetch(STATE_ROUTE, { headers: { accept: 'application/json' } })).json()
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

给 DeepSeek Harness(DSH)网页聊天会话加上 Chrome 风格标签页:标签栏、标签组、分屏面板。

README

由 DeepSeek 最新模型翻译生成
dsh-tabs 给 DeepSeek Harness(DSH)聊天会话用的 Chrome 风格标签页,跑在 Web GUI 里。 dsh-tabs:一条竖向标签栏,含三个标签组(其中一个已折叠)和一处双栏分屏 - 标签栏按你的顺序排。 打开聊天就在末尾加一个标签。只有打开、关闭、拖动会改变顺序;切换标签永远不会挪位置。 - 竖向或横向。 可以放在侧边(拖边缘调宽度,180–560 px),也可以像浏览器那样排在顶部。 - 标签组。 每组有名字和颜色,可以折叠。「按项目分组」会按聊天的工作区自动建组。 - 分屏。 一个标签里放一个会话,或最多四个实时窗格并排。把标签拖到窗格边缘就分屏,拖到窗格中心就替换或交换。 - 什么都不会停。 关闭标签只是把它从标签栏拿掉:会话仍在 DSH 的会话列表(抽屉)里跑,按 ⌥⇧T 就能重新打开。 - 通知。 铃铛会收集任意已打开标签里的提问,每个问题一条,短问题可以直接在那里回答。☾ Focus 关掉横幅提醒。 - 子代理和任务。 每个窗格标题栏有个小标签列出它们;点子代理就在窗格旁边打开它。 页面在侧边栏里显示为 Tabs。文件、终端和文件预览在会话常规的整页(⤢)里打开;点 Back to tabs 返回。 安装 需要带 Web GUI 的 DSH(dsh web)。
展开完整文档(README 剩余 1 节)
dsh-tabs

给 DeepSeek Harness(DSH)聊天会话用的 Chrome 风格标签页,跑在 Web GUI 里。

dsh-tabs:一条竖向标签栏,含三个标签组(其中一个已折叠)和一处双栏分屏

- 标签栏按你的顺序排。 打开聊天就在末尾加一个标签。只有打开、关闭、拖动会改变顺序;切换标签永远不会挪位置。
- 竖向或横向。 可以放在侧边(拖边缘调宽度,180–560 px),也可以像浏览器那样排在顶部。
- 标签组。 每组有名字和颜色,可以折叠。「按项目分组」会按聊天的工作区自动建组。
- 分屏。 一个标签里放一个会话,或最多四个实时窗格并排。把标签拖到窗格边缘就分屏,拖到窗格中心就替换或交换。
- 什么都不会停。 关闭标签只是把它从标签栏拿掉:会话仍在 DSH 的会话列表(抽屉)里跑,按 ⌥⇧T 就能重新打开。
- 通知。 铃铛会收集任意已打开标签里的提问,每个问题一条,短问题可以直接在那里回答。☾ Focus 关掉横幅提醒。
- 子代理和任务。 每个窗格标题栏有个小标签列出它们;点子代理就在窗格旁边打开它。

页面在侧边栏里显示为 Tabs。文件、终端和文件预览在会话常规的整页(⤢)里打开;点 Back to tabs 返回。

安装

需要带 Web GUI 的 DSH(dsh web)。

dsh plugin --profile web add @vennahlot/dsh-tabs

或者从克隆的仓库装,方便改代码:

git clone https://github.com/vennahlot/dsh-tabs.git
dsh plugin --profile web add link:$PWD/dsh-tabs

然后重启 dsh web 并刷新页面。这个包会自己加一行配置档(cordis.patch.yml);唯一的选项是 stateFile(默认 ~/.dsh/dsh-tabs/state.json)。

快捷键

| 按键 | 操作 |
| ⌥1 … ⌥8、⌥9 | 第 n 个标签、最后一个标签 |
| ⌥[ ⌥] | 上一个 / 下一个标签 |
| ⌥O | 打开最近的聊天 |
| ⌥W | 关闭当前聚焦的窗格 |
| ⌥⇧T | 重新打开最后关闭的标签 |
| ⌥←↑↓→ | 在窗格之间移动焦点 |
| ⌥F | 当前聚焦窗格的整页 |
| ⌥B | 显示或隐藏抽屉 |
| ⌥N | 通知 |

这些也出现在 DSH 的快捷键参考里。页面上的 ? 说明鼠标操作。

给其他插件用

dsh-tabs 声明了两个插槽,其他包可以填:

| 插槽 | 类型 | 显示内容 |
| tabs.menubar.item | 列表,根作用域 | 页面菜单栏上的小条目(比如用量指示器)。 |
| tabs.pane.side | 键值,会话作用域 | 窗格内的侧面板,从窗格标题栏打开。 |

用 ctx.slots.inject('', () => ctx.slots.register({ name: '', … }, Component)) 注入,这样你的包会等 dsh-tabs 加载完再动手,没有它也能正常工作。

开发

纯 JavaScript,没有构建步骤:index.js 是 Host 那一半(状态文件及其路由),client.js 是客户端那一半(页面)。它们如何协作,见 DESIGN.md。

npm test # the pure tab moves (node:test, no dependencies)
npm run check # syntax check of both halves

改动 client.js 后,刷新页面。改动 index.js 需要重启 DSH。

许可证

MIT
预览分享卡片长什么样 ↓vennahlot/dsh-tabs
分享 · DeepSeek Harness Hub
vennahlot/dsh-tabs

用浏览器式标签和分屏管理多个聊天会话

这是你的仓库?认领条目

回到顶部