🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

Elevator14B/vscode-dsh-sidebar

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
⚠ 装前注意

将 DeepSeek HarnessDSHWeb 代理嵌入 VS Code

基本兼容但装前注意:npm 同名包「dsh-sidebar」归属 auggie246/dsh-sidebar,装到的可能不是本插件 · 最近上游提交 2026/9/23 · 已提供中文文档

VS Code 侧边栏 for DeepSeek Harness:原生会话树、文件与差异导航、拖拽引用、剪贴板与主题桥接。

综合分
35.6
GitHub 分
35.6
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Elevator14B/vscode-dsh-sidebar
npm 同名包「dsh-sidebar」归属 auggie246/dsh-sidebar,装到的可能不是本插件,改用 GitHub 源安装
信任档位:已验证本站已于 1 天前真实安装成功(L4 · 真实安装)
是什么
dsh 原生插件 · browser
装得上吗
本站已真实安装成功(L4 · 真实安装,非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 3 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/24
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/24(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-sidebar @ 0.5.3
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

npm 同名包「dsh-sidebar」归属 auggie246/dsh-sidebar,装到的可能不是本插件

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/21 11:07:08

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
DSH 侧边栏

ci
release
license

将 DeepSeek Harness(DSH)Web 代理嵌入 VS Code
侧边栏 webview 中,并固定到当前工作区文件夹。它驱动的是你自己安装的开源 dsh CLI。

- 维护者: @Elevator14B
- 环境要求:VS Code 1.96+、DSH 0.1.5-rc.1 或更高版本(已用 0.1.5-rc.2 测试)、宿主机 PATH 中的 Node.js 22+。这些 CLI 版本属于文档说明,而非硬性门槛:扩展会直接启动所配置的命令,并报告其行为。

该扩展会启动一个 DSH Web 运行时(dsh web),以第一个 VS Code 工作区文件夹作为其工作目录,将经过身份验证的页面代理到侧边栏 webview 中,并在两端之间建立桥接:页面自带的侧边栏被替换为 VS Code 文件夹,而文件/差异导航、引用芯片、会话树和主题都原生地运行在 VS Code 中。

功能

- 工作区 = VS Code 文件夹。 没有工作区选择器:DSH 工作区固定为你当前打开的文件夹,会话切换在原生 VS Code 树中进行。
- 原生会话树。 以与 Web 侧边栏相同的顺序和相同的标题列出固定工作区的会话,并提供“新建会话”和刷新操作。将一行拖到另一行上可移动它,或使用其上下文菜单中的 上移会话 / 下移会话 / 归档会话;两者都通过 Web 侧边栏自身的 Workspace RPC 进行,因此顺序和归档状态在两个界面之间保持共享。
- 原生文件和差异导航。 对话中的 read / write 工具路径会在 VS Code 中打开文件;edit 工具路径会打开一个 工具变更差异(old_string → new_string,独立于 git)。收尾轮次生成的文件芯片和交付卡片也会在编辑器中打开,卡片的折叠箭头提供 在编辑器中打开、在侧边打开 和 在资源管理器中显示 —— 宿主机的桌面应用程序永远不会成为目标,这正是这些卡片在 Remote-SSH 上可用的原因。
- 链接在 VS Code 内部打开。 对话中的 URL 会在内置的 Simple Browser webview 中打开,并以操作系统浏览器作为回退。
- 拖拽引用。 将编辑器标签页、资源管理器行或兼容的原生拖拽项拖到侧边栏中,即可插入一个 @path#Lx-Ly 引用芯片。当被拖拽的文件是活动编辑器且具有非空选区时,该芯片引用该确切范围;否则引用整个文件。每次拖放都会报告
- 发生了什么:芯片已插入、拖拽的文本已放入编辑器,或有一条警告说明失败原因。
- 从键盘引用。 ctrl+alt+d / cmd+alt+d 引用当前选区,或在没有选区时引用光标所在的代码块。
- 右键引用。 从编辑器和资源管理器上下文菜单中的 Reference Selection in DSH、Reference Code Block in DSH 和 Reference File in DSH。
- 复制在页面内可用。 页面的复制按钮和复制快捷键通过扩展宿主的剪贴板写入,而不是嵌套框架的 navigator.clipboard,后者会被浏览器拒绝。
- 主题跟随 VS Code。 浅色/深色跟随 workbench.colorScheme,实时生效,且不会触碰共享的 DSH 设置文档。
- 仅本地运行时。 每个窗口都有自己的回环代理;浏览器会话认证 cookie 在扩展宿主中生成并保存,永远不会到达客户端浏览器。

要求

- VS Code 1.96+
- 托管该文件夹的机器 PATH 上需要有 Node.js 22+(支持 Remote-SSH 和容器):dsh 是一个 Node CLI,会在那里找到的任意 node 下运行,而不是 VS Code 自带的 Node。
- 扩展宿主的 PATH 上需要有 DeepSeek Harness:

npm install -g @deepseek-ai/dsh

扩展会直接启动配置的命令——没有预检版本检查。无法提供 dsh web 服务的 CLI 会在 Agent 视图的启动页面以及 DSH Sidebar 输出通道中以其自身的消息失败。参见兼容性。

安装

目前还没有 Marketplace 上架——请从 Releases 安装 VSIX:

code --install-extension dsh-sidebar-.vsix

对于 Remote-SSH,请在服务器上安装(扩展运行在文件夹所在的位置):

~/.vscode-server/bin//bin/code-server \
--install-extension dsh-sidebar-.vsix \
--force --extensions-dir "$HOME/.vscode-server/extensions" \
--server-data-dir "$HOME/.vscode-server/data"

然后打开活动栏中的 DSH Sidebar 图标(或运行 DSH Sidebar: Open Agent)。

从源码构建

npm ci
npm run typecheck  # extension host types
npm test           # unit tests (node --test, no extension host needed)
npm run smoke      # contract test against a real dsh on PATH
npm run build      # bundles dist/extension.js and dist/bridge.js with esbuild
npm run package    # builds and produces dsh-sidebar-.vsix

在 VS Code 中按 F5 启动扩展开发宿主。

兼容性

DeepSeek Harness 处于开发者预览阶段,确实会发布破坏兼容性的变更。0.1.5-rc.2 是经过测试的 CLI,0.1.5-rc.1 是文档中记录的最低版本;两者都未被强制执行。该扩展不再探测 dsh --version(没有 src/dsh-version.ts),也绝不会在启动 CLI 之前拒绝它。
| dsh-sidebar | DeepSeek Harness | 备注 |
| --- | --- | --- |
| 0.4.0 | 0.1.5-rc.2 已测试,0.1.5-rc.1 已记录文档 | 直接 CLI 启动,无版本门控;单一 Extension Host 连接阶梯,在全新的转发授权上重建页面。 |
| 0.3.14 | 0.1.5-rc.2 已测试,0.1.5-rc.1 为最低要求 | Extension Host 所有权、页面连接恢复以及历史超时反馈。 |
| 0.3.12 | 0.1.5-rc.2 已测试,0.1.5-rc.1 为最低要求 | 较新的 CLI 会在输出通道中给出警告后启动;较旧的则会被拒绝。 |
| 0.3.11 | 0.1.5-rc.2 已测试,0.1.5-rc.1 为最低要求 | 在 GitHub 上的首个公开发布版本。 |

此构建所使用的协议——启动 URL 及其一次性令牌、session/list 客户端请求
信封、workspace/ 顺序与归档变更、启动图以及侧边栏插件标识——并非
冻结的公共 API。当 DSH 版本
更改它时,npm run smoke 和 CI 契约任务会最先捕获到。

设置

| 设置 | 默认值 | 用途 |
| --- | --- | --- |
| dsh.embed.command | (空)* | 覆盖用于启动运行时的可执行文件;为空则使用 PATH 中的 dsh。 |
| dsh.embed.args | [] | 覆盖传递给运行时的完整参数列表。 |
| dsh.embed.workspaceFolder | (空) | 要固定的工作区文件夹路径;默认为第一个文件夹。 |

命令

- DSH Sidebar: Open Agent
- DSH Sidebar: Recover Connection(Agent 标题栏图标;立即运行连接阶梯)
- DSH Sidebar: Restart Agent Runtime (Interrupts Running Tasks)(命令面板)
- New Session / Refresh Sessions(Sessions 树标题栏)
- Move Session Up / Move Session Down / Archive Session(会话行上下文菜单;将一行
拖到另一行上可直接重新排序)
- Reference Selection in DSH / Reference Code Block in DSH(编辑器上下文菜单)以及
Reference File in DSH(资源管理器上下文菜单)

架构

- src/runtime.ts — 拥有一个可取消的后端代际与窗口代理,在 Extension Host 内用一次性
启动令牌换取浏览器会话 cookie,并按需将代理重新绑定到全新的
回环授权(rotateOrigin)。
- src/runtime-guardian.ts — 在独立进程中启动并监督配置的命令,不进行
dsh --version 探测,监视所属 Host 的 IPC 连接,并在该 Host 退出时回收 DSH,
包括异常终止的情况。
- src/runtime-ownership.ts / src/process-tree.ts — 在清理完成前保留工作区,并
终止私有进程组以及观察到的 Linux 后代进程。
- src/proxy.ts — 回环反向代理(HTTP + WebSocket),注入认证 cookie,将
启动主题重写为 VS Code 主题,提供注入的桥接脚本,并在页面
必须重建时绑定新端口(relisten)。
- src/bridge.js — 注入到页面中:从启动图中提取 DSH 侧边栏,固定工作区,
拦截工具路径链接、投递卡片和拖放引用,通过页面自身的 ThemeRuntime 驱动主题,并为原生树中继工作区顺序和归档集。
- src/connection-recovery.js — 注入到页面中:报告 DSH 自身的 connection.state 并响应宿主的 reconnect-page 请求;它不拥有任何定时器或阈值。
- src/recovery-shell.js — 本地 webview 外壳:每三秒报告一次 shell-alive,中继消息,并渲染宿主的本地化状态横幅。
- src/session-panel.ts — 原生 TreeDataProvider,通过代理读取 session/list,按照页面发布的手动顺序且不包含已归档的行。
- src/session-actions.ts — 树的重排序和归档操作背后的 Workspace RPC,以及拖放控制器使用的纯顺序规划辅助函数。
- src/extension.ts — webview 外壳、消息中继、文件/差异提供程序、命令界面以及单一连接维护阶梯。

运行时生命周期

SSH 断开连接时,只要其 Extension Host 仍然存活,DSH 就会继续运行。重新连接到该 Host 会复用后端。替换或退出 Host 会停止其 DSH;新的 Host 会启动新的后端,并且可以恢复已持久化的对话,但不会继承正在进行的执行。生命周期更长的 VS Code Server 并非所有者。隐藏侧边栏对后端没有影响。

在同一网络命名空间中,每个操作系统用户只能有一个 Sidebar 运行时拥有规范工作区。替换者会等待旧进程清理完成;该工作区上的另一个活动窗口会收到所有权错误,而不是启动一个竞争的写入者。请使用拥有所有权的窗口,或在重试前将其关闭。

从 0.3.12 首次升级时,请先完成或取消工作,并在重新加载前停止旧运行时。现有的未受保护进程无法被自动接管。后端端口被占用时会报告,而不是静默选择随机端口。不要删除 session.lock 文件来解决所有权问题。

有关关闭保证、平台限制和测试,请参阅运行时生命周期。

故障排除

如果启动失败,Agent 视图会显示一段简短、可选择的诊断信息。它没有按钮:扩展会自动重试启动,DSH Sidebar 输出通道会携带完整的运行时输出,包括 CLI 自身的失败消息。

- 启动页面指明 CLI 失败 — 扩展会直接启动配置的命令,因此无法提供 dsh web 服务的 CLI 会报告自己的消息。使用 dsh.embed.command / dsh.embed.args 指定自定义启动器,或通过 npm install -g @deepseek-ai/dsh 升级 dsh。
- “failed to start dsh” — dsh 不在扩展主机的 PATH 中。使用 dsh.embed.command 指定显式路径,或在托管该文件夹的机器上全局安装它。
- 连接断开后历史记录停留在“Loading history…” — Agent 视图横幅会渲染
扩展宿主的连接状态(重连、重建页面、启动运行时、等待远程连接),同时连接阶梯会自动修复页面;横幅上没有按钮。运行 DSH Sidebar: Recover Connection 可立即重建页面。修复过程绝不会重发消息,且只有在多次重建均无法连接后才会重启正在运行的 agent,因此在重发未确认的提交之前请先检查历史记录。
- 诊断 — 每个窗口都会向 ~/.dsh/vscode-embed/telemetry.jsonl 写入一条 JSONL 追踪记录,并在其旁边发布 current.json(最近激活的窗口);追踪行包含宿主 PID、工作区和运行时标识,而页面事件则携带其页面标识。该文件中的端口在回环地址上响应 /status、/logs、/ping 和 /restart。

/status 响应还包含最新的 shell 心跳和最近追踪的事件。周期性心跳保留在内存中;只有状态变化才会进入追踪记录。有关时序和验证,请参阅页面恢复。

隐私

该扩展不上传任何内容。它将自己的 JSONL 追踪记录写入 ~/.dsh/vscode-embed/ 下,仅将其代理和诊断服务器绑定到 127.0.0.1,并且从不向任何其他主机发送自己的请求:它唯一通信的网络对端是它启动的 DSH 进程。点击对话中的链接会打开 VS Code 的 Simple Browser,后者随后会像任何浏览器一样加载该 URL。它运行的外部进程只有你安装的 dsh CLI 和 git,后者用于在对话请求与 HEAD 进行差异比较时读取文件的 HEAD 内容。

许可证

MIT © 2026 Huanqi Cao。这是一个为 DeepSeek Harness 开发的社区扩展,该项目由 DeepSeek AI 维护。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群