← 返回列表
需源码安装
面向 DeepSeek Harness Web 的双 Pane 工作台:并行处理两个…
暂不能直接安装(需源码编译或环境不满足):缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。 · 最近上游提交 2026/9/8 · 已提供中文文档
社区维护的双窗格 DeepSeek Harness Web 工作流源预览
综合分
30.1
GitHub 分
30.1
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add wanyexin1998/dsh-workbench缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 1 天前真实安装成功
- 是什么
- dsh 原生插件 · tool
- 装得上吗
- 本站已真实安装成功(非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 17 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/24
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/22(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-workbench-source(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/22 13:28:30
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成面向 DeepSeek Harness Web 的双 Pane 工作台:并行处理两个 Session,配合全局快捷键、划词批注与可选的 Pane-local 侧边面板。
简体中文 · English
[!IMPORTANT]
当前版本是 0.2.0-rc.6 源码预览,不是即装即用的 npm 正式版。分屏能力依赖固定版本的 Harness fork;Better Sidebar 及其兼容包完全可选。本项目不会自动安装、更新或修改任何第三方插件。
[!TIP]
一句话安装(Release-first):复制下面整句发给 DeepSeek Harness Agent
请安装 DSH Workbench。先检查当前 Harness:兼容双 Pane 就直接安装;不兼容时保留通用插件功能,并告诉我如何并行安装不覆盖官方 Harness 的自装补丁路径(bootstrap)。若沙箱不能写入 DSH_HOME,只给我一条最终终端命令。
完整判定规则与命令见 docs/INSTALL.md。v0.2.0-rc.6 GitHub Release 已发布,通用插件与分屏 bootstrap 两条路径均可直接使用;当前状态仍是 0.2.0-rc.6 源码预览(见 release-contract.json),不是 npm 正式版。想自己审计源码可用下方「高级:从源码构建」。
它解决什么问题
DeepSeek Harness 默认以单一当前 Session 驱动界面。DSH Workbench 在不复制 Conversation、不修改 Agent loop 的前提下,为 Web 端增加两个稳定、彼此独立的 Session Pane。
| 能力 | 用户体验 |
| --- | --- |
| 双 Pane | 同时查看和操作两个 Session;切换聚焦不会重新挂载另一侧 |
| Pane 独立状态 | 草稿、滚动位置、回合导航栏和可选面板分别保留 |
| 全局快捷键 | 简体中文 / English 名称随 Harness 全局语言切换,可修改和持久化;新建会话、打开设置、切换上一个会话、跳到最新消息等动作见下方「默认快捷键」 |
| 随手问 | 快捷打开零工具聊天,并把已完成消息的选区 fork 到侧聊追问 |
| 划词批注 | 在正文里就地标出被引用的段落(底色 + 数字徽标),逐条写批注,composer 上只留一枚计数 chip |
| Pane-local 面板 | 安装兼容包后,每个 Pane 可独立展开右侧、底部面板 |
| 安全降级 | Presentation protocol 不兼容时不启用双 Pane 容量 |
界面预览
双 Session Pane
两个 Session 使用独立的标题、工作区、模式、输入框和 Pane 面板控制;中央分隔线保持各自的 SessionProvider 生命周期。
跟随全局语言的快捷键设置
快捷键名称跟随 Harness 全局语言切换,可以改键并持久化。
这张截图摄于 0.2.0-rc.2,之后设置页被精简过:每个动作下面那行灰色/黄色小字
(动作 id 与浏览器保留键提示)已经移除。按键、动作名与改键交互与图中一致,
少掉的只是那两行小字。截图待重拍。
兼容性一览
| 组件 | 是否必需 | 当前支持 | 说明 |
| --- | --- | --- | --- |
| DeepSeek Harness | 必需 | fork rc4/presentation-on-0.1.2,固定提交 c5a387cd… | 提供 Session Presentation protocol 2;提供 ctx.layout.toggleSettings(),让「打开设置」快捷键可以再按一次关掉 |
| DSH Workbench | 必需 | 0.2.0-rc.6 | 最多两个可见 Pane |
| Better Sidebar | 可选 | fork 0.16.1,固定提交 1685770… | 当前不可用:该 fork 基于上一个上游基线构建,在本版所钉的基线上加载即失败,会导致整个 harness 起不来。见 docs/KNOWN_ISSUES.md |
| Panel Compatibility | 可选 | 0.1.0-rc.4 | 只连接显式兼容的面板提供方 |
完整 SHA、分支和分发状态以 release-contract.json 为准。原版 Harness 0.1.2-rc.1 尚未提供此分屏接口;原版 Better Sidebar 0.16.1 也没有多实例 Pane capability。
没有安装 Better Sidebar 时,Workbench 的双 Pane 和快捷键仍可正常使用。Panel Compatibility 不会启动 Pane observer,也不会改变 DOM、布局或样式。
快速开始
[!NOTE]
v0.2.0-rc.6 GitHub Release 已发布,附带两个 TGZ、两个分屏 bootstrap 脚本、SHA256SUMS 与 release-manifest.json;下面两条路径今天就能照抄执行。Release 产物经 SHA256 校验,不是 GPG 签名产物(release-contract.json 的 sourceVerification.signedReleaseAvailable 仍为 false)。release-contract.json 状态本身仍是 0.2.0-rc.6 / source-preview——这是既定的分发模型(只发源码与本地 TGZ,不发 npm),不代表安装路径不可用。想自己从源码逐字审计,仍可用下方折叠区「高级:从源码构建(审计路径)」(即 docs/INSTALL.md § Advanced: source build)。
先选路径。两条路径互相独立,按你现在手上有什么来选:
- 机器上已经装了 DeepSeek Harness(dsh --version 能打印版本),并且暂时不需要分屏 → 走 (a) 通用插件。
- 还没有 Harness,或者就是冲着分屏来的 → 走 (b) 分屏 bootstrap。它自带并构建固定版本的 Harness fork,不需要预先安装 dsh;代价是它跑在一个隔离的全新环境里。
(a) 通用插件(stock Harness,默认)
前提:dsh 命令已经在 PATH 上可用——这条路径面向已经在用 DeepSeek Harness 的人。先跑 dsh --version,能打印版本才继续;否则安装命令会在最后一步报 CommandNotFoundException / command not found,此时改走下面的 (b)。安装 Harness 本身属于上游项目的事,本仓库不提供。
从 GitHub Release 下载不可变的 Workbench TGZ、核对 SHA256、用 dsh plugin --profile web add file: 安装(Windows 上安装路径不要含空格,否则会遇到 ENOENT,详见下方链接)。分屏(双 Pane)在 stock Harness 上不会激活——官方接口尚未合并(见 discussion #4718);其余功能不受影响。装完后用 dsh --profile web --dump-config 确认输出里出现 @wanyexin1998/dsh-workbench。完整命令块、前提检查与「装完之后」见 docs/INSTALL.md § Quick Install。
(b) 分屏(bootstrap,一条命令)
不需要预先安装 dsh。按你的平台复制运行下面这一条命令(与官方 Harness 并存,零改动官方安装;要求 Node.js ^22.19/>=24、pnpm@11、git,Windows 需 PowerShell 7+):
Windows(PowerShell 7+ / pwsh):
& { $ErrorActionPreference = 'Stop'; $rel = 'https://github.com/wanyexin1998/dsh-workbench/releases/download/v0.2.0-rc.6'; Invoke-WebRequest "$rel/dsh-workbench-bootstrap.ps1" -OutFile dsh-workbench-bootstrap.ps1; Invoke-WebRequest "$rel/SHA256SUMS" -OutFile SHA256SUMS; $expectedLine = (Select-String -Path SHA256SUMS -Pattern 'dsh-workbench-bootstrap\.ps1$').Line; if (-not $expectedLine) { throw 'SHA256SUMS 中未找到 dsh-workbench-bootstrap.ps1 的记录,已中止' }; $expected = ($expectedLine -split '\s+')[0].ToLower(); if ($expected -notmatch '^[0-9a-f]{64}$') { throw "SHA256SUMS 中的哈希格式不合法:$expected" }; $actual = (Get-FileHash dsh-workbench-bootstrap.ps1 -Algorithm SHA256).Hash.ToLower(); if ($actual -ne $expected) { throw "SHA256 校验失败:期望 $expected,实际 $actual" }; pwsh -NoProfile -ExecutionPolicy Bypass -File .\dsh-workbench-bootstrap.ps1 }
macOS(Terminal):
text
rel='https://github.com/wanyexin1998/dsh-workbench/releases/download/v0.2.0-rc.6'; if curl -fsSLO "$rel/dsh-workbench-bootstrap.sh" && curl -fsSLO "$rel/SHA256SUMS"; then expected=$(grep 'dsh-workbench-bootstrap\.sh$' SHA256SUMS | awk '{print $1}'); actual=$(shasum -a 256 dsh-workbench-bootstrap.sh | awk '{print $1}'); if [ -n "$expected" ] && printf '%s' "$expected" | grep -qE '^[0-9a-f]{64}$' && [ "$actual" = "$expected" ]; then chmod +x dsh-workbench-bootstrap.sh && ./dsh-workbench-bootstrap.sh; else echo 'SHA256 校验失败,已中止,不会执行未校验脚本' >&2; false; fi; else echo '下载失败,已中止,不会执行未校验脚本' >&2; false; fi
装完后用生成的启动器启动:Windows %USERPROFILE%\dsh-workbench\dsh-workbench.cmd,macOS $HOME/dsh-workbench/dsh-workbench。启动器把 DSH_HOME 固定在 /home,所以第一次打开会是一个全新的空环境:没有历史会话、没有 Workspace,模型与供应商都要重新配置。这不是装坏了——隔离正是它不动你官方安装的原因,官方 Harness 的数据仍在它自己的 ~/.dsh 下。
脚本做了什么、如何卸载、哈希何时生效等完整说明见 docs/INSTALL.md § 分屏(bootstrap)。
高级:从源码构建(审计路径)
完整版见 docs/INSTALL.md § Advanced: source build。这条路径依旧有效,面向想要逐字审计每一行代码的用户;它不再是默认路径,仅因为现在已经有不可变的 Release 产物可用。
[!TIP]
一句话安装(源码审计路径):复制下面整句发给 DeepSeek Harness
text
请从 https://github.com/wanyexin1998/dsh-workbench 安装 DSH Workbench:首先向我索取并确认一个从独立可信渠道获得的完整 40 位 Workbench commit,若我未提供则停止;要求目标目录不存在,使用 git clone --no-checkout 后 checkout --detach 该提交,每个 Git 命令失败都立即停止,并验证 detached HEAD、完整 clean worktree 以及 git rev-parse --verify HEAD 与输入提交的大小写无关精确相等;只有全部验证成功后才读取仓库中的执行性说明并运行 pnpm install --frozen-lockfile 和 pnpm release:check,将生成的 Workbench TGZ 安装到 web profile;仅当我已安装兼容的 Better Sidebar fork 时再安装 Panel Compatibility,不要自动安装或替换第三方插件,不要发布 npm,最后报告实际提交、TGZ SHA256 以及双 Pane 和快捷键的验证结果。
环境要求
- Node.js ^22.19 或 >=24
- pnpm 11
- 已按固定提交构建的 Harness fork
构建并验证 Workbench
先从独立可信渠道获得并人工确认完整的 40 位 Workbench commit。不要把当前分支、短 SHA、普通 tag 或仓库自身的可变文档当作信任锚。
powershell
$WorkbenchCommit = Read-Host '输入已从独立可信渠道确认的完整 40 位 Workbench commit'
if ($WorkbenchCommit -notmatch '^[0-9a-fA-F]{40}$') { throw 'Workbench commit 必须是完整的 40 位十六进制值' }
$WorkbenchCommit = $WorkbenchCommit.ToLowerInvariant()
if (Test-Path -LiteralPath 'dsh-workbench') { throw '目标目录 dsh-workbench 已存在;为避免执行旧工作树,请使用空目录重试' }
git clone --no-checkout https://github.com/wanyexin1998/dsh-workbench.git
if ($LASTEXITCODE -ne 0) { throw '克隆 Workbench 失败' }
cd dsh-workbench
git checkout --detach $WorkbenchCommit
if ($LASTEXITCODE -ne 0) { throw '检出 Workbench commit 失败' }
$ResolvedCommit = (git rev-parse --verify HEAD).Trim().ToLowerInvariant()
if ($LASTEXITCODE -ne 0) { throw '无法解析 Workbench HEAD' }
if ($ResolvedCommit -ne $WorkbenchCommit) { throw "Workbench commit 不匹配:期望 $WorkbenchCommit,实际 $ResolvedCommit" }
$HeadRef = git symbolic-ref -q HEAD
if ($LASTEXITCODE -eq 0) { throw "Workbench 必须处于 detached HEAD,当前为 $HeadRef" }
if ($LASTEXITCODE -ne 1) { throw '无法验证 detached HEAD' }
$WorktreeState = git status --porcelain=v1 --untracked-files=all
if ($LASTEXITCODE -ne 0) { throw '无法验证 Workbench 工作树' }
if ($WorktreeState) { throw 'Workbench 工作树不是 clean 状态' }
WORKBENCH-SOURCE-VERIFIED-BEFORE-REPOSITORY-CODE
pnpm install --frozen-lockfile
pnpm release:check
成功后,dist/ 中会生成:
- wanyexin1998-dsh-workbench-0.2.0-rc.6.tgz
- wanyexin1998-dsh-workbench-panel-compat-0.1.0-rc.4.tgz
- dsh-workbench-bootstrap.ps1
- dsh-workbench-bootstrap.sh
- release-manifest.json
- SHA256SUMS
release:check 共 9 步,依次是:隐私/密钥扫描、发布契约校验、密钥扫描器自身的单元测试、安装契约测试、引导脚本测试、类型检查、包单元测试、依赖审计,最后由发布打包步骤完成干净重建、生成代码扫描、TGZ 打包与 SHA256 校验。不会执行 npm 发布。各项测试的实测通过数记录在 RELEASE_NOTES.md。
完整安装顺序、Harness fork 构建方式和可选面板接入步骤见 docs/INSTALL.md。
交互约定
- 普通点击 Session:替换当前聚焦 Pane。
- Ctrl / Command + 点击 Session:在另一侧打开。
- 打开第三个 Session:替换当前聚焦 Pane,不增加第三个 Pane。
- 聚焦变化:只改变交互路由,不打开、关闭或重挂载面板。
- 两个 Session 使用同一工作区时:显示非阻断提醒;插件不提供文件写入隔离。
- 刷新页面:恢复一个 Pane;多 Pane 成员关系当前为进程内状态。
默认快捷键
Primary = macOS 上的 ⌘,Windows / Linux 上的 Ctrl。所有动作均可在设置页重新绑定、清除或禁用;下表为出厂默认值,与 packages/dsh-workbench/src/native-ux/client/shortcuts.tsx 逐一核对。
| 动作 | 默认快捷键 | 说明 |
| --- | --- | --- |
| 聚焦输入框 | Primary+/ | |
| 切换侧边栏 | Primary+B | 与浏览器书签快捷键冲突,设置页会提示 |
| 停止当前会话 | Primary+Shift+X | |
| 关闭聚焦 Pane | Primary+\ | 仅 Presentation protocol 2 可用(需分屏 bootstrap 路径) |
| 随手问(Workbench Ask) | Primary+Shift+C | 与浏览器 DevTools「检查元素」冲突,设置页会提示;默认键位未更换 |
| 新建会话 | Primary+N | 浏览器普通标签页会保留为「新建窗口」,设置页会提示;桌面壳环境下可正常触发 |
| 打开 / 关闭设置 | Primary+, | 能力分三档:固定的 Harness fork(c5a387cd)提供 ctx.layout.toggleSettings(),同一组键按第二下即关闭;只提供 openSettings() 的旧 pin 上仍是"只能打开",动作名也相应显示为「打开设置」;stock Harness 两者都没有,该动作根本不注册。早期默认值 Primary+Space 在多数中文输入法下被当作中英文切换热键拦截、在 macOS 上被 Spotlight 占用,实测按下毫无反应,因此不再作为默认值 |
| 切换到上一个会话 | Alt+Q | 跨平台从 event.code 派生按键,macOS 上不受 Option 字符合成影响 |
| 跳到最新消息 | Primary+Shift+L | |
可选:Pane 独立面板
⛔ 本节当前不可用。 固定的 Better Sidebar fork 基于上一个上游基线构建,
在本版所钉的基线上加载即抛,整个 harness 起不来(不是侧栏降级)。
装了之后应用打不开的话:从 profile 里移除 dsh-better-sidebar 再重启。
详见 docs/KNOWN_ISSUES.md。下面的步骤保留原样,
等一个在当前基线上重建的 fork 提交被钉进契约后即可恢复。
需要每个 Pane 独立显示右侧或底部面板时,再安装:
1. 固定提交的 Better Sidebar fork。
2. @wanyexin1998/dsh-workbench-panel-compat 本地 TGZ。
兼容包只消费版本化 Pane capability 和公开的 data-session-pane* host marker,不会修补 Better Sidebar 私有 store,也不会推断未知 DOM。
随手问 / Workbench Ask
Ctrl+Shift+C(macOS 为 Command+Shift+C)打开一个使用 聊天模式 / Chat mode 预设的全新或当天最近空白会话。在 Workbench Edition 中,它会在来源 Pane 旁边打开并聚焦;已有两个 Pane 时,Workbench 先确认,再只替换非来源 Pane。原版 Harness 不支持双 Pane 时,动作仍可用,但会原位切换到聊天会话并只提示一次降级原因。会话优先归入标题为 chat 的 Workspace;没有该 Workspace 时使用来源会话所属 Workspace。没有可解析的 Workspace 时安全停止,不自动创建目录或 Workspace。
在一条已完成消息中选择文字后,Workbench 提供三项动作:
- 添加到对话:在正文里就地标出这段话,并立刻打开批注卡片让你写下想说的;composer 上只多一枚计数 chip,不重复贴一遍原文。保留普通草稿,可聚合多段,不自动发送。原版 Harness 也可用,细节见下方「划词批注」。
- 更多详情:从选区所在会话的已完成 Turn fork child,在第二 Pane 打开,并恰好发送一次带 reference-only boundary 的本地化解释请求。仅 Presentation protocol 2 可用。
- 在侧边聊天中提问:同样 fork child,但只放入带 boundary 的选区 reference 和空普通草稿;用户显式输入问题并发送前,不发生模型调用。仅 Presentation protocol 2 可用。
侧聊 child 继承父会话的 cwd、模型、预设、Workspace、工具与 approval 流程。它不是零工具聊天;任何工具副作用都是真实的。关闭 Pane 只关闭呈现,Session 继续保留在侧栏。fork 已成功但 Pane 或输入操作失败时,界面会报告保留的 child id,不会静默删除。
划词批注
「添加到对话」的完整动作链是:划词 → 点「添加到对话」→ 直接打字。
- 被引用的段落就地标出来:一层底色加下划线,右侧留白处放一枚 16px 的数字徽标。
正文不再被复制一份贴到 composer 上方,引用越多也不会把对话挤走。
- 加入的同一刻,批注卡片就在那段话旁边展开、光标已经在输入框里。写完点别处、按
Esc、或点保存都会存下来。
- 保存之后段落旁不留任何常驻浮层——常驻浮层的落点就在段落末行正下方,那里通常
是下一段正文。想再看那句批注有三条不遮挡的路:composer 上那枚 chip 展开的引用
列表(每行都写着批注正文)、把指针停在数字徽标上让标签临时浮出、或点徽标重新
开卡编辑。
- 发给模型的是纯文本:一行散文抬头(引用上文:),引用正文每行前缀 │ ,
你的批注单起一行 ↳ 。没有 XML 标签、没有 session id / 节点 key / 字符偏移,
也没有 HTML 转义——引用 Tom & Jerry 到模型那头仍然是 Tom & Jerry。
就地标注不修改 Harness 的 DOM。 底色与下划线通过浏览器的
CSS Custom Highlight API
绘制:Workbench 交给浏览器的是一个 Range,一个节点、一个属性都不往宿主
Conversation 里插。徽标、卡片、标签三层浮层都 portal 在 document.body 上,
用 0×0 的定位容器,不铺满屏幕、不拦截宿主的指针事件。
代价是这套 API 没有降级路径:不支持它的浏览器上底色画不出来,此时数字徽标、
引用列表与发送格式都照常工作,只是"看得见是哪一段"这件事没了(见
docs/KNOWN_ISSUES.md)。
三种模式的边界
| | 极简模式(官方内置) | 聊天模式(Workbench 分发) | 侧聊(Workbench fork child) |
| --- | --- | --- | --- |
| 会话来源 | 新会话 | 新建或复用当天空白 chat 会话 | 从选区所在父会话的已完成 Turn fork |
| 上下文 | 轻量 Agent 脚手架 | 干净会话,无父会话上下文 | 继承父会话已完成历史,并以 boundary 标明当前任务 |
| 工具 | 2 个:持久 shell + str_replace_editor | 0 个 | 继承父预设的工具 |
| 能否改动你的系统 | 能——仍会改文件、跑命令 | 不能——架构上没有工具 | 能否修改取决于父预设与 approval;副作用真实存在 |
| 适用场景 | 轻量编码任务 | 问答、探讨方案、随手提问 | 针对现有会话内容追问、解释或继续工作 |
聊天模式预设的安装与删除
安装 Workbench 后,Host 启动时会把 聊天模式 / Chat mode 预设写入 $DSH_HOME/.agent-presets/chat/(只创建、绝不覆盖;你删除后不会重建)。它是零工具预设:模型只对话,不读写文件、不执行命令、不加载项目上下文;模型与供应商仍按会话自由选择。实测示例的首轮输入为 181 token。
$DSH_HOME 未设置时才是 ~/.dsh/.agent-presets/chat/。走分屏 bootstrap 路径时不是这个位置:生成的启动器把 DSH_HOME 固定在 下的 home 目录,预设写在它里面的 .agent-presets/chat/(默认 target 为 Windows %USERPROFILE%\dsh-workbench、macOS $HOME/dsh-workbench)。
不想要它时,删除对应的 .agent-presets/chat/ 目录即可;Workbench 记录你的删除意图,不会重新写入。
安全与隐私
- 除聊天模式预设的一次性写入(只创建、绝不覆盖、尊重删除,见 docs/PRODUCT_CONTRACT.md)外,不新增 Host filesystem、subprocess、credential 或任意网络权限。
- 不在 Harness 自有存储之外持久化 Prompt、工具调用或 Session 内容。
- 两个 package 均为 private: true,防止意外 npm 发布。
- 仓库不包含 GitHub Actions;发布检查只在本地运行。
- 支持 GitHub Private Vulnerability Reporting。
安全问题请阅读 SECURITY.md,不要在公开 Issue 中提交凭证、私有 Session 内容、专有源码或可利用细节。
项目结构
packages/
├─ dsh-workbench/ # 双 Pane、快捷键、同工作区提醒
└─ dsh-workbench-panel-compat/ # 可选的 Pane-local 面板适配层
docs/
├─ INSTALL.md # 完整安装流程
├─ PRODUCT_CONTRACT.md # 产品与运行时不变量
├─ COMPATIBILITY_MATRIX.md # 精确兼容范围
└─ SECURITY_STATEMENT.md # 安全边界
文档导航
| 想了解 | 文档 |
| --- | --- |
| 完整安装步骤 | docs/INSTALL.md |
| 产品行为与边界 | docs/PRODUCT_CONTRACT.md |
| 第三方插件注册快捷键动作 | docs/ACTIONS_API.md |
| 版本兼容关系 | docs/COMPATIBILITY_MATRIX.md |
| 已知限制 | docs/KNOWN_ISSUES.md |
| 卸载与残留状态 | docs/UNINSTALL.md |
| 安全声明 | docs/SECURITY_STATEMENT.md |
| 参与贡献 | CONTRIBUTING.md |
常见问题
必须安装 Better Sidebar 吗?
不需要。Better Sidebar 和 Panel Compatibility 只负责可选的 Pane-local 右侧/底部面板;双 Pane 和快捷键不依赖它。
可以同时打开 5 个 Pane 吗?
当前公开契约最多为两个可见 Pane。扩展到 5 个需要重新设计布局、容量与性能验收,不属于 0.2.0-rc.6。
为什么不能直接使用原版 Harness?
本版本依赖 Session Presentation protocol 2、稳定的 visible / focused 状态和每个 Pane 独立的 SessionProvider。原版 0.1.2-rc.1 尚未提供这些接口。
项目声明
DSH Workbench 是独立的社区维护项目,不是 DeepSeek 官方项目,也不代表 DeepSeek 或 Better Sidebar 维护者的认可。
Banner 中的鲸鱼标识取自 DeepSeek Harness 官方资源,仅用于说明产品兼容关系;DeepSeek 名称与标识的相关权利归其权利人所有。
本项目使用 MIT License。第三方归属与说明见 THIRD_PARTY_NOTICES.md。