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

编辑器内嵌控制台 yauntyour/DSH-for-VSC

DeepSeek Harness
yauntyour83 天前有提交已提供中文文档扫描:高危

在 VS Code 内嵌面板中打开 DSH 界面并管理服务

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

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

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add yauntyour/DSH-for-VSC
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 83 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

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

✗npm 包dsh-for-vsc(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 21:38:39

🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0
🔴 扫描:高危尚无人工评估

静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。

命令参数由运行时变量拼接读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
  • 读取本地文件
    src/extension.ts:206
    const raw = fs.readFileSync(pidFile, 'utf8').trim();
  • 写入本地文件
    src/extension.ts:224
    fs.mkdirSync(path.dirname(pidFile), { recursive: true });
  • 写入本地文件
    src/extension.ts:225
    fs.writeFileSync(pidFile, String(pid), 'utf8');
  • 删除本地文件
    src/extension.ts:236
    fs.rmSync(pidFile, { force: true });
  • 执行外部命令运行时拼接
    src/extension.ts:251
    childProcess.execSync(`taskkill /pid ${pid} /T /F`, { windowsHide: true, stdio: 'ignore' });
  • 执行外部命令来自配置/变量
    src/extension.ts:612
    const res = childProcess.spawnSync(isWin ? 'where' : 'which', [name], {
  • 执行外部命令来自配置/变量
    src/extension.ts:644
    const proc = childProcess.spawn(cmdLine, {
  • 发起网络请求
    src/extension.ts:843
    const req = http.get(url, { timeout: REQUEST_TIMEOUT_MS }, (res) => {
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 内嵌面板打开DSH界面
  • 侧边栏控制台
  • 服务离线自动拉起

把 DeepSeek Harness(DSH)的 WebUI 搬进 VS Code:编辑器内嵌面板 + 侧边栏控制台,服务离线自动拉起,日志随时可查。

README

由 DeepSeek 最新模型翻译生成
面向 VSC 的 DSH 把 DeepSeek Harness(DSH)的 WebUI 搬进 VS Code:编辑器内嵌面板 + 侧边栏控制台,服务离线自动拉起,日志随时可查。 DSH for VSC 是一个 VS Code 扩展,将 DSH 的 Web 界面(默认 http://127.0.0.1:3080/)映射为 VS Code 的扩展页面,让你在 IDE 内完成“看状态 → 开面板 → 用 WebUI → 看日志”的完整闭环,无需在浏览器和编辑器之间切换。 功能特性 - 侧边栏快捷入口:Activity Bar 新增 DSH 鲸鱼图标,一键打开「DSH 控制台」。 - 侧边栏控制台:实时显示服务在线/离线状态与服务地址;内置「打开 WebUI / 刷新页面 / 浏览器 / 启动服务 / 停止服务」按钮。 - 侧边栏配置:自动启动开关、启动命令均可直接在控制台内修改并即时生效(写入 VS Code 全局设置)。 - 侧边栏运行日志:滚动记录扩展运行事件(状态切换、面板操作、进程启停、配置变更),同时写入输出通道。 - 编辑器内嵌面板:Webview 全屏加载 DSH WebUI,保留完整页面交互;切换后台不重载,重启 VS Code 自动恢复。 - 状态栏指示:左下角常驻 DSH 图标,在线/离线一目了然(离线红色高亮),点击即开面板。
展开完整文档(README 剩余 1 节)
面向 VSC 的 DSH

把 DeepSeek Harness(DSH)的 WebUI 搬进 VS Code:编辑器内嵌面板 + 侧边栏控制台,服务离线自动拉起,日志随时可查。

DSH for VSC 是一个 VS Code 扩展,将 DSH 的 Web 界面(默认 http://127.0.0.1:3080/)映射为 VS Code 的扩展页面,让你在 IDE 内完成“看状态 → 开面板 → 用 WebUI → 看日志”的完整闭环,无需在浏览器和编辑器之间切换。

功能特性

- 侧边栏快捷入口:Activity Bar 新增 DSH 鲸鱼图标,一键打开「DSH 控制台」。
- 侧边栏控制台:实时显示服务在线/离线状态与服务地址;内置「打开 WebUI / 刷新页面 / 浏览器 / 启动服务 / 停止服务」按钮。
- 侧边栏配置:自动启动开关、启动命令均可直接在控制台内修改并即时生效(写入 VS Code 全局设置)。
- 侧边栏运行日志:滚动记录扩展运行事件(状态切换、面板操作、进程启停、配置变更),同时写入输出通道。
- 编辑器内嵌面板:Webview 全屏加载 DSH WebUI,保留完整页面交互;切换后台不重载,重启 VS Code 自动恢复。
- 状态栏指示:左下角常驻 DSH 图标,在线/离线一目了然(离线红色高亮),点击即开面板。
- 服务自动启动:检测到服务离线约 6 秒后,自动以隐藏后台子进程方式拉起 DSH(不占用终端);60 秒冷却防止反复拉起。
- 服务日志:服务进程的 stdout/stderr 经管道实时输出到「输出 → DSH Server」,不占终端、随时可查。
- 可配置地址:通过 dsh.webuiUrl 可指向任意 DSH 服务(含远程主机)。

环境要求

- VS Code ^1.85.0(Windows / macOS / Linux)
- Node.js(扩展宿主自带;启动 DSH 服务时需要)
- DSH CLI:dsh 在 PATH 中,或可通过 npx @deepseek-ai/dsh 运行(二选一,见自动检测)

安装

方式一:安装 .vsix(推荐)

npm install
npm run compile
npm run package # 生成 dsh-for-vsc-0.1.0.vsix
code --install-extension dsh-for-vsc-0.1.0.vsix

安装后重载窗口,左侧 Activity Bar 即出现 DSH 鲸鱼图标。

方式二:F5 调试运行

1. 用 VS Code 打开本仓库目录;
2. 按 F5(.vscode/launch.json 已配置,自动编译并启动扩展开发宿主窗口);
3. 在开发宿主窗口中点击鲸鱼图标或执行命令 DSH: Open WebUI。

快速开始

1. 安装扩展并重载窗口;
2. 若 DSH 服务未启动,等待约 6 秒——扩展会自动在后台拉起服务(也可点控制台「启动服务」立即拉起);
3. 点击 Activity Bar 的鲸鱼图标打开「DSH 控制台」,确认状态为绿色「在线」;
4. 点击「打开 WebUI」,DSH 界面即在编辑区呈现。

使用指南

命令

| 命令 | 说明 |
| DSH: Open WebUI | 打开(或聚焦)WebUI 内嵌面板 |
| DSH: Reload WebUI | 关闭并重新打开面板(强制刷新页面) |
| DSH: Open in Browser | 在系统浏览器中打开 DSH 页面 |
| DSH: Start Server | 手动启动 DSH 服务(后台子进程) |
| DSH: Stop Server | 停止由本扩展启动的服务进程 |

侧边栏「DSH 控制台」

| 区域 | 内容 |
| 状态区 | 在线/离线圆点、服务地址 |
| 操作区 | 打开 WebUI / 刷新页面 / 浏览器 / 启动服务 / 停止服务 |
| 设置区 | 「离线时自动启动服务」开关、启动命令输入框(留空自动检测,回车或点「保存」生效) |
| 运行日志 | 扩展运行事件滚动列表(最新在前,最多保留 150 条) |

服务管理

- 启动:服务离线约 6 秒后自动拉起;或点击「启动服务」/ 执行 DSH: Start Server。
- 停止:点击「停止服务」/ 执行 DSH: Stop Server;VS Code 关闭时扩展会自动终止其拉起的服务进程,不留孤儿进程。
- 日志:服务进程输出实时写入「输出 → DSH Server」通道;扩展自身事件写入「输出 → DSH for VSC」通道。

配置

| 设置项 | 默认值 | 说明 |
| dsh.webuiUrl | http://127.0.0.1:3080/ | DSH WebUI 服务地址(Webview 面板与控制台状态均基于此) |
| dsh.autoStart | true | 服务离线时是否自动启动 |
| dsh.startCommand | 空(自动检测) | 启动 DSH 服务的完整命令;留空自动检测(见下) |

自动检测

dsh.startCommand 留空时,扩展按以下顺序选择启动命令:

1. 检测扩展宿主 PATH 中是否存在 dsh → 使用 dsh web;
2. 否则回退为 npx @deepseek-ai/dsh web。

自定义示例:dsh --profile web --port 3080、node C:/path/to/dsh/lib/bin.js web 等。

工作原理

┌──────────────────────────── VS Code ────────────────────────────┐
│ Activity Bar(鲸鱼) ──> DSH 控制台 (WebviewView) │ │ │ 状态推送/日志推送/配置读写 (postMessage) │ │ ▼ │ │ 扩展宿主 (extension host) │ │ ├─ 状态机:每 2s http.get 探测服务连通性 │ │ │ └─ 离线连续 3 次(≈6s) 且 autoStart=on ──> spawn 启动 │ │ ├─ 服务进程:childProcess.spawn(隐藏, 管道 stdio) │ │ │ └─ stdout/stderr ──> 输出通道 DSH Server │ │ ├─ WebUI 面板:Webview + iframe(frame-src 仅指向 WebUI 地址) │ │ └─ 状态栏:DSH 图标(离线红色高亮) │ └─────────────────────────────────────────────────────────────────┘ │ ▲ ▼ │ 连通性探测 / 页面加载 ┌─────────────────────────────────────────────────────────────────┐ │ DSH 服务 (dsh web, 默认 127.0.0.1:3080) │ └─────────────────────────────────────────────────────────────────┘

- 连通性探测:扩展激活后常驻轮询(2 秒间隔,1.5 秒超时),状态变化时同步刷新状态栏、侧边栏与面板,并写入日志。
- 自动启动:连续离线 3 次探测后触发;启动采用 spawn(command, { shell: true, windowsHide: true, stdio: ['ignore','pipe','pipe'] }),stdin 关闭、输出经管道持续消费(避免子进程因管道缓冲写满而阻塞),转存到「DSH Server」输出通道。
- 进程生命周期:exit / error 事件驱动状态重置与日志记录;deactivate 时终止服务进程。
- 安全嵌入:面板与控制台 HTML 使用严格 CSP(default-src 'none'),iframe 的 frame-src 仅允许 DSH 服务地址;已验证 DSH 服务响应头不含 X-Frame-Options / frame-ancestors,可安全内嵌。
- 会话恢复:retainContextWhenHidden 保留面板状态;registerWebviewPanelSerializer 在窗口重启后恢复面板。

目录结构

DSH for VSC/
├── src/extension.ts # 扩展唯一入口:面板/控制台/状态机/进程管理 ├── media/deepseek-whale.svg # Activity Bar 鲸鱼图标(单色,自适应主题) ├── out/ # 编译产物(extension.js) ├── package.json # 清单:命令/视图/配置/激活事件 ├── tsconfig.json # TypeScript 编译配置 ├── .vscode/ # launch.json / tasks.json(F5 调试) ├── .vscodeignore # vsix 打包排除规则 ├── README.md └── LICENSE # MIT

开发

npm install # 安装依赖(typescript / @types/vscode / vsce)
npm run compile # 编译 TypeScript → out/
npm run watch # 增量编译(开发时配合 F5 使用)
npm run package # 打包 .vsix(vsce --no-dependencies)

常见问题

服务启动失败,日志提示找不到可用命令

扩展会在侧边栏与输出通道打印实际尝试的命令。若 dsh 与 npx 均不可用,请在设置 dsh.startCommand 中填入实际启动命令(例如用 Node 直接指向 DSH 的 lib/bin.js)。

自动启动没有生效

检查控制台设置区「离线时自动启动服务」开关是否打开(对应 dsh.autoStart);另外自动启动有 60 秒冷却期,手动停止后需等待冷却结束。

服务日志在哪里看

「查看 → 输出」→ 下拉选择 DSH Server(服务进程输出)或 DSH for VSC(扩展事件日志)。

VS Code 关闭后服务会怎样

由扩展拉起的服务进程会随 VS Code 关闭被终止(deactivate 时 kill)。如需常驻服务,请在外部终端自行启动 dsh web,扩展会自动探测并接入。

端口冲突

若 3080 端口被其他进程占用,请通过 dsh.webuiUrl 与 dsh.startCommand 分别配置实际地址与端口(如 dsh --profile web --port 3090)。

License

MIT
预览分享卡片长什么样 ↓yauntyour/DSH-for-VSC
分享 · DeepSeek Harness Hub
yauntyour/DSH-for-VSC

在 VS Code 内嵌面板中打开 DSH 界面并管理服务

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部