一键访问 —— 从状态栏或命令面板启动并打开 Harness。
31.7/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/14 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add joygqz/vscode-dsh该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · vision
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 25 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包vscode-dsh(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/13 15:40:47
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 32 处,展示前 30 条)
- 写入剪贴板src/controller.ts:482
await vscode.env.clipboard.writeText(externalUrl); - 写入本地文件src/homeLease.ts:141
await rename(this.lockDirectory, releaseDirectory); - 删除本地文件递归src/homeLease.ts:153
await rm(releaseDirectory, { recursive: true, force: true }); - 写入本地文件src/homeLease.ts:199
await mkdir(homeDirectory, { recursive: true, mode: 0o700 }); - 写入本地文件src/homeLease.ts:216
await rename(lockDirectory, staleDirectory); - 删除本地文件递归src/homeLease.ts:232
await rm(staleDirectory, { recursive: true, force: true }).catch(() => undefined); - 删除本地文件递归src/homeLease.ts:235
await rm(staleDirectory, { recursive: true, force: true }).catch(() => undefined); - 写入本地文件src/homeLease.ts:267
await mkdir(candidateDirectory, { mode: 0o700 }); - 写入本地文件src/homeLease.ts:270
await rename(candidateDirectory, lockDirectory); - 删除本地文件递归src/homeLease.ts:280
await rm(candidateDirectory, { recursive: true, force: true }).catch(() => undefined); - 读取本地文件src/homeLease.ts:323
const before = await lstat(lockDirectory); - 读取本地文件src/homeLease.ts:327
raw = await readFile(join(lockDirectory, METADATA_FILE_NAME), 'utf8'); - 读取本地文件src/homeLease.ts:336
const after = await lstat(lockDirectory); - 写入本地文件src/homeLease.ts:369
await writeFile(temporaryFile, `${JSON.stringify(metadata, null, 2)}\n`, { - 读取本地文件src/homeLease.ts:375
const current = await lstat(lockDirectory).catch(() => undefined); - 删除本地文件src/homeLease.ts:383
await rm(temporaryFile, { force: true }).catch(() => undefined); - 读取本地文件src/homeLease.ts:503
await lstat(path); - 发起网络请求src/http.ts:33
const response = await fetch(url, { - 读取本地文件src/runtime.ts:46
await access(npxPath, process.platform === 'win32' ? constants.F_OK : constants.X_OK); - 读取本地文件src/runtime.ts:47
if (!(await stat(npxPath)).isFile()) throw new Error('not a file'); - 读取本地文件src/runtime.ts:76
await access(candidate, windows ? constants.F_OK : constants.X_OK); - 读取本地文件src/runtime.ts:77
if ((await stat(candidate)).isFile()) return candidate; - 执行外部命令来自配置/变量src/runtime.ts:92
execFile(executable, args, { timeout: 5000, windowsHide: true, env: environment }, (error, stdout) => { - 执行外部命令来自配置/变量src/serverManager.ts:132
this.spawnImpl = deps.spawnImpl ?? ((command, args, options) => spawn(command, args, options)); - 写入本地文件src/storage.ts:22
await mkdir(dirname(targetDirectory), { recursive: true }); - 写入本地文件src/storage.ts:24
await mkdir(stagingDirectory, { mode: 0o700 }); - 写入本地文件src/storage.ts:34
await rename(stagingDirectory, targetDirectory); - 删除本地文件递归src/storage.ts:42
await rm(stagingDirectory, { recursive: true, force: true }).catch(() => undefined); - 读取本地文件src/storage.ts:48
return await readdir(directory); - 读取本地文件src/workspace.ts:65
const info = await stat(path);
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 启动DSH网页界面
- 打开并管理WebUI
从 VS Code 启动、打开并管理 DeepSeek Harness Web UI。
README
由 DeepSeek 最新模型翻译生成DeepSeek Harness Launcher
在 VS Code 里一键启动、打开并管理 DeepSeek Harness Web UI。插件会检查环境、通过 npm 拉取 DSH、挑一个安全端口、等待就绪,停止时清理进程。
功能
- 一键访问 —— 从状态栏或命令面板启动并打开 Harness。
- 环境检查 —— 校验 Node.js、npx、工作目录和启动设置。
- 服务生命周期 —— 启动、停止、重启、取消,或连接已有服务。
- 共享配置档 —— 同一环境下跨项目复用模型设置和会话。
- 远程访问 —— 支持本地、SSH、WSL、Dev Container 和 Codespaces 工作区。
- 浏览器或编辑器 —— 在系统浏览器或 VS Code webview 中打开 Harness。
前置条件
- VS Code 1.125 或更新版本。
- Node.js 22.19+(仅限 22.x)或 24+,且 node 与 npx 位于同一安装目录。
- 一个受信任的本地、SSH、WSL、Dev Container 或 Codespaces 工作区。
- 你有权限使用的模型的 API key(在 Harness 页面内配置;本插件不读取也不存储它)。
展开完整文档(README 剩余 1 节)
DeepSeek Harness Launcher
在 VS Code 里一键启动、打开并管理 DeepSeek Harness Web UI。插件会检查环境、通过 npm 拉取 DSH、挑一个安全端口、等待就绪,停止时清理进程。
功能
- 一键访问 —— 从状态栏或命令面板启动并打开 Harness。
- 环境检查 —— 校验 Node.js、npx、工作目录和启动设置。
- 服务生命周期 —— 启动、停止、重启、取消,或连接已有服务。
- 共享配置档 —— 同一环境下跨项目复用模型设置和会话。
- 远程访问 —— 支持本地、SSH、WSL、Dev Container 和 Codespaces 工作区。
- 浏览器或编辑器 —— 在系统浏览器或 VS Code webview 中打开 Harness。
前置条件
- VS Code 1.125 或更新版本。
- Node.js 22.19+(仅限 22.x)或 24+,且 node 与 npx 位于同一安装目录。
- 一个受信任的本地、SSH、WSL、Dev Container 或 Codespaces 工作区。
- 你有权限使用的模型的 API key(在 Harness 页面内配置;本插件不读取也不存储它)。
Harness 可以读写文件、运行命令:受限模式下插件不会启动或连接服务;从空窗口选择目录时,它会再次请求确认。
安装
在扩展视图(Ctrl/Cmd+Shift+X)中搜索 DeepSeek Harness Launcher,或访问 Visual Studio Marketplace 或 Open VSX。你也可以从 GitHub Releases 下载 .vsix,用 Extensions: Install from VSIX… 安装。
快速开始
1. 打开并信任一个项目文件夹,然后点击状态栏里的 DSH,或运行 DeepSeek Harness Launcher: Open。
2. 首次运行会通过 npm 拉取 DSH。状态栏显示 DSH Working…;点击它可以取消或查看输出。
3. 页面打开后,在 Harness 的 Settings → Models 下添加你的 API key,然后在 Choose workspace 中确认目录并启动会话。
workingDirectory 是 DSH 的启动目录和默认工作区上下文,会影响 AGENTS.md、CLAUDE.md、cwd .env 等文件。
命令
| 命令 | 说明 |
| DeepSeek Harness Launcher: Open | 需要时启动,或打开正在运行的 UI |
| DeepSeek Harness Launcher: Start Server | 启动服务器,不打开页面 |
| DeepSeek Harness Launcher: Open in Browser / DeepSeek Harness Launcher: Open in VS Code | 需要时先启动,再在选定的位置打开 |
| DeepSeek Harness Launcher: Stop Server | 停止托管的服务器;如果清理失败,再运行一次 |
| DeepSeek Harness Launcher: Restart Server | 应用新设置;workingDirectory 未变时复用已选目录 |
| DeepSeek Harness Launcher: Cancel Current Operation | 取消进行中的环境检查、启动、重启或连接 |
| DeepSeek Harness Launcher: Connect to Running Server… | 连接当前环境中已有的 DSH |
| DeepSeek Harness Launcher: Disconnect External Server | 停止跟踪外部 DSH,但不结束它的进程 |
| DeepSeek Harness Launcher: Copy Access URL | 复制客户端可用的完整地址 |
| DeepSeek Harness Launcher: Show Output / DeepSeek Harness Launcher: Open Settings | 打开输出面板或扩展设置 |
设置
| 设置项 | 说明 | 默认值 |
| vscode-dsh.startupBehavior | manual 按需启动;start 打开 VS Code 时静默启动;startAndOpen 启动并打开 | manual |
| vscode-dsh.openLocation | 主命令使用系统 browser 还是 VS Code 的 editor | browser |
| vscode-dsh.port | 自动挑选空闲端口。固定端口被占用时,扩展不会挂到其他实例上 | 0 |
| vscode-dsh.startupTimeout | 等待 DSH 就绪的最长秒数 | 120 |
| vscode-dsh.workingDirectory | 启动目录和默认工作区上下文;支持绝对路径、相对路径、~ 和 ${workspaceFolder}。相对路径要求已打开工作区文件夹 | "" |
| vscode-dsh.webArgs | 额外的 DSH Web 参数(不能包含 --host、--port 或 --patch) | [] |
| vscode-dsh.environment | 进程环境变量;可以覆盖 PATH,不能覆盖 DSH_HOME | {} |
用法
DeepSeek Harness Launcher: Open 是主命令:服务器没运行时启动它,已在运行时直接打开。
状态栏
状态栏会显示:盾牌 + DSH(不受信任)、DSH(未运行)、DSH Working…(点击可取消或查看输出)、DSH Stopping…(点击查看输出)、DSH: port(由当前窗口托管)、链接图标 + DSH: port(外部服务器)、DSH: port*(设置已更改;点击重启并应用),或错误图标 + DSH(悬停查看详情,点击执行恢复操作)。
托管服务器与外部服务器
- 扩展会启动一个托管服务器。它的数据存放在扩展的全局存储里,因此模型凭据、设置和会话在各个项目之间共享。单写入者租约保证配置档安全;另一个 VS Code 窗口会自动连接到正在运行的共享实例,而不是启动一个竞争进程。「Stop Server」会等待会话清理完毕,然后强制结束它,并确认端口已释放。
- 在这个环境里,外部服务器只能通过 HTTP 回环地址显式连接(例如 http://127.0.0.1:3080)。它只支持打开、复制、刷新和断开连接;扩展从不停止它,它保留自己的数据目录。
- 同一个本地或远程 VS Code 环境中的所有项目共用一个 DSH 应用配置档,并复用其正在运行的实例。本地、SSH、WSL 和容器环境各自保留独立的全局存储,因为它们运行在不同的机器/文件系统上。
远程、WSL 和容器
Node/npx、workingDirectory、相对路径、环境变量和连接地址都在工作区所在的环境中解析。系统浏览器通过 openExternal 打开,它会解析 localhost 转发;内置页面和「Copy Access URL」使用 asExternalUri。使用自动端口时,VS Code 返回的确切非回环 authority 会被加入 DSH Host 允许列表;如果无法确定转发的 authority,扩展会安全失败。
DSH 只监听 127.0.0.1,但转发的可见性由 VS Code、Codespaces 或 Dev Tunnels 控制。把转发的端口保持为 Private,不要分享转发的 URL。
安全与隐私
- 只在你完全信任的项目中使用 Harness。workingDirectory 以及任何添加的目录都可能被智能体读取、写入和执行。工作区信任不是文件系统沙箱。
- 扩展始终传入 --host 127.0.0.1,拒绝让用户覆盖监听地址,也不支持会改写这条边界的补丁。
- 上游 Web 服务没有适合公网的身份验证或 TLS。首次启动会从 npm 下载固定版本的顶层 DSH;传递依赖仍可能变化。
- API 密钥、模型配置和会话由 DSH 写入扩展的全局应用配置档,并在同一环境中的各个项目之间共享。本扩展不读取 API 密钥,也不包含任何遥测。
故障排查
| 问题 | 检查什么 |
| 找不到 Node.js / npx,或版本不受支持 | 在扩展的运行时环境中运行 node --version;Remote 使用远程 Node。集成终端可能由 nvm 初始化,而 Extension Host 的 PATH 没有同步;在 vscode-dsh.environment 中提供绝对 PATH。 |
| 首次启动很慢 | npx 会下载 DSH 及其依赖。点击状态栏中的「Show Output」,或调大 startupTimeout。 |
| 固定端口已被占用 | 改回 port: 0。如果占用该端口的是你自己启动的 DSH 实例,请用「Connect to Running Server…」。 |
| 页面能打开,但会话不工作 | 在 Settings → Models 下配置模型,然后在 Choose workspace 下添加并选择一个目录;参见官方 Web UI 指南。 |
| 内置页面空白或功能受限 | 改用 Open in Browser,并检查输出面板和 Remote port forwarding 的 Private 设置。 |
| 服务器意外退出 | 把鼠标悬停在错误状态上查看原因,然后选择恢复操作。托管进程必须先确认清理完成,才允许重启。 |
开发
使用 Node.js 24,以及 package.json 中声明的 pnpm 版本。
pnpm install --frozen-lockfile
pnpm compile
pnpm verify
pnpm ext:package
compile 生成开发包;verify 运行可用的静态检查和单元测试;build 先验证再生成生产包。ext:package 通过与 CI 相同的验证关卡构建 VSIX。开发过程中使用 watch。
模块边界与生命周期规则见架构,验证与发布约定见贡献指南。
反馈
- 报告 bug 或提功能需求:GitHub Issues
- Harness 使用问题:DeepSeek Harness Discussions
许可证
MIT
由 Quincy Zhang 维护。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
joygqz/vscode-dsh
一键访问 —— 从状态栏或命令面板启动并打开 Harness。
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,359已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,514已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,289已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,675已汉化DSH
71.2
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,522已汉化DSH
71
这是你的仓库?认领条目