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

VS Code 集成 ContinueYN/dsh-vscode

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

在编辑器侧边栏调用 DSH 读写代码并执行命令

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

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

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

状态速览

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

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

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

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

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 18 处,展示前 16 条)
  • 写入剪贴板
    extension.js:216
    await vscode.env.clipboard.writeText(prompt);
  • 读取本地文件
    extension.js:296
    const html = fs.readFileSync(path.join(this.extensionUri.fsPath, 'media', 'panel.html'), 'utf8');
  • 执行外部命令来自配置/变量
    lib/vscode-backend.js:286
    exec(command, {
  • 执行外部命令固定命令
    lib/dsh-manager.js:64
    execFile('where.exe', [name], { windowsHide: true }, (err, stdout) => {
  • 执行外部命令来自配置/变量
    lib/dsh-manager.js:98
    child = spawn(target.node, [target.script, ...args], {
  • 执行外部命令来自配置/变量
    lib/dsh-manager.js:102
    child = spawn(target.cmd, args, { windowsHide: true, env: opts.env || process.env, cwd: opts.cwd });
  • 执行外部命令来自配置/变量
    lib/dsh-manager.js:154
    return spawner(spawn(nodeExe, [script, ...args], {
  • 执行外部命令来自配置/变量
    lib/dsh-manager.js:158
    return spawner(spawn(process.execPath, [script, ...args], {
  • 执行外部命令来自配置/变量
    lib/dsh-manager.js:166
    return spawner(spawn(exePath, args, {
  • 读取本地文件
    lib/dsh-manager.js:193
    const content = fs.readFileSync(shimPath, 'utf8');
  • 发起网络请求
    lib/dsh-manager.js:205
    const req = http.get(url, (res) => {
  • 写入本地文件
    lib/dsh-manager.js:268
    fs.mkdirSync(path.dirname(p), { recursive: true });
  • 写入本地文件
    lib/dsh-manager.js:269
    fs.writeFileSync(p, this.buildPatch(mcpUrl), 'utf8');
  • 读取本地文件
    lib/fs-backend.js:64
    if (overwrite === false && fs.existsSync(abs)) {
  • 读取本地文件
    lib/fs-backend.js:94
    if (fs.existsSync(abs)) throw new Error(`file already exists: ${abs}`);
  • 执行外部命令来自配置/变量
    lib/fs-backend.js:169
    exec(command, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

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

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

功能亮点

  • 侧边栏读写代码
  • 执行命令

README

由 DeepSeek 最新模型翻译生成
DSH for VS Code 在 VS Code 侧边栏直接打开 DeepSeek Harness(DSH),让 DSH 像 Claude Code 一样直接操作你编辑器里的代码——读取当前文件与选区、读写工作区文件、全工作区搜索、运行终端命令、在编辑器内预览并应用修改。 图标使用 DeepSeek Harness 官方 logo(dsh-web-frontend 的 favicon.svg 白/蓝版)。 功能 - 侧边栏 DSH 面板:活动栏点击 DSH 图标,DSH Web 界面以内嵌 iframe 形式出现在侧边栏,会话、设置、模型选择、权限确认都与浏览器版完全一致。 - 编辑器深度集成(MCP 桥):扩展在本地启动一个 MCP 服务器,DSH 通过 @deepseek-ai/dsh-mcp-client 连接后获得 mcp__vscode__ 工具: - get_context / get_workspace —— 当前打开的文件、语言、光标位置、文本选区、打开的文件列表 - read_file / write_file / edit_file / create_file / delete_file —— 通过编辑器读写文件(未保存的缓冲内容可见、Ctrl+Z 可撤销)
展开完整文档(README 剩余 1 节)
DSH for VS Code

在 VS Code 侧边栏直接打开 DeepSeek Harness(DSH),让 DSH 像 Claude Code 一样直接操作你编辑器里的代码——读取当前文件与选区、读写工作区文件、全工作区搜索、运行终端命令、在编辑器内预览并应用修改。

图标使用 DeepSeek Harness 官方 logo(dsh-web-frontend 的 favicon.svg 白/蓝版)。

功能

- 侧边栏 DSH 面板:活动栏点击 DSH 图标,DSH Web 界面以内嵌 iframe 形式出现在侧边栏,会话、设置、模型选择、权限确认都与浏览器版完全一致。
- 编辑器深度集成(MCP 桥):扩展在本地启动一个 MCP 服务器,DSH 通过 @deepseek-ai/dsh-mcp-client 连接后获得 mcp__vscode__ 工具:
- get_context / get_workspace —— 当前打开的文件、语言、光标位置、文本选区、打开的文件列表
- read_file / write_file / edit_file / create_file / delete_file —— 通过编辑器读写文件(未保存的缓冲内容可见、Ctrl+Z 可撤销)
- search_files —— ripgrep 全文搜索(VS Code 的 findTextInFiles)
- list_dir —— 目录列举
- run_command —— 在工作区运行终端命令,并回显到可见的集成终端
- reveal_file —— 在编辑器中打开/定位文件
- propose_diff —— 把大改动以 diff 视图呈现,由你确认后再应用(命令面板:DSH: Accept Proposed Changes)
- 零侵入:扩展启动的是独立的 dsh web 实例(默认端口 3478),通过 --patch 叠加层附加 MCP 桥;不会修改你的 ~/.dsh 配置文件,也不会干扰已运行的 DSH 实例。会话、凭据、设置与你的其他 DSH 实例共享(同一 $DSH_HOME)。
- 右键快捷入口:在编辑器内选中代码,右键 → "DSH: Ask DSH about Current Selection",上下文自动复制到剪贴板。

安装与运行

前置要求

- VS Code ≥ 1.85
- Node.js ≥ 18(扩展宿主要用它定位并启动 dsh)
- 已安装 @deepseek-ai/dsh(npm i -g @deepseek-ai/dsh 或 npx 可用均可;扩展会自动在 PATH / npx 缓存中查找,找不到也能从正在运行的 dsh web 进程推断)

方式一:开发模式(推荐先试)

1. 获取源码
git clone https://github.com/ContinueYN/dsh-vscode.git
cd dsh-vscode

2. 用 VS Code 打开本目录,按 F5(运行 "Extension Development Host") code .

按 F5 后会自动打开一个新的 VS Code 窗口(扩展开发宿主),活动栏出现 DSH 图标。点击后:
- 扩展自动启动受管的 dsh web 实例(默认 http://127.0.0.1:3478)并附加 MCP 桥;
- 侧边栏加载 DSH 界面;
- 在 DSH 对话框里输入例如:"读取当前文件,找出 bug 并修复"* 或 "用 mcp__vscode__ 工具列出工作区结构",DSH 会直接操作你的代码。

首次启动时如果 dsh web 绑定端口被占用,把 dsh.port 设为 0 让系统分配空闲端口即可。

方式二:打包安装(.vsix)

npm install -g @vscode/vsce
cd dsh-vscode
vsce package
生成的 dsh-vscode-<version>.vsix 在 VS Code 扩展面板 "Install from VSIX..." 安装

配置项(设置 → 扩展 → DSH)

| 设置 | 默认 | 说明 |
| dsh.url | 空 | 覆盖侧边栏显示的 DSH 地址。留空 = 使用扩展自管的实例;填 http://127.0.0.1:3080 = 直接嵌入你已运行的 DSH |
| dsh.port | 3478 | 扩展自管 dsh web 实例的端口,0 = 由系统分配 |
| dsh.autoStart | true | VS Code 启动时自动拉起受管 DSH 实例 |
| dsh.mcpPort | 0 | MCP 桥服务器端口,0 = 由系统分配 |
| dsh.profile | web | 受管实例使用的 DSH profile($DSH_HOME/profiles/<name>) |
| dsh.showTerminalCommands | true | 把 DSH 执行的命令回显到集成终端 |
| dsh.trustCommands | true | 允许 DSH 直接执行 shell 命令(关闭后仍可在 DSH 会话中手动确认) |

常用命令

- DSH: Open DSH Panel —— 打开侧边栏面板
- DSH: Start / Stop DSH Instance —— 启停受管 DSH 实例
- DSH: Open DSH in Browser —— 在系统浏览器打开 DSH
- DSH: Show Status —— 查看实例 / MCP 桥状态
- DSH: Accept / Discard Proposed Changes —— 应用 / 丢弃 DSH 提议的 diff
- DSH: Ask DSH about Current Selection —— 把当前文件 + 选区复制到剪贴板并打开面板

工作原理

┌──────────────────────────── VS Code ────────────────────────────┐
│ Sidebar webview (iframe → http://127.0.0.1:3478) │
│ │
│ Extension host │
│ ├─ MCP server (streamable-http, 127.0.0.1:随机端口) │ │ │ └─ tools: mcp__vscode__* (VscodeBackend, 真实编辑器) │ │ └─ DshManager │ │ └─ spawn: dsh --profile web --patch <bridge.yml> --port N │ │ └─ dsh web 内加载 @deepseek-ai/dsh-mcp-client │ │ └─ 连接 MCP server → 工具注册为 mcp__vscode__* │ └──────────────────────────────────────────────────────────────────┘

- 为什么是独立实例:web profile 的 HMR 默认关闭,且 --patch 覆盖层只支持 insert: 语法新增条目;扩展在自己的 globalStorage 里生成 bridge patch(insert: [mcp-vscode 行]),以 --patch 参数启动专属实例,用户配置文件零改动。
- 会话共享:受管实例与你的其他 DSH 实例共用 $DSH_HOME(会话、凭据、设置),无需重复登录。
- 工作区:受管实例的工作目录 = VS Code 当前工作区文件夹,因此 DSH 自带的文件/终端工具也直接落在你的项目上;mcp__vscode__ 工具则始终通过编辑器 API 操作,与 DSH 自身的沙箱策略无关。

开发与测试

协议冒烟测试(模拟官方 MCP SDK 客户端的完整握手)
node scripts/protocol-smoke.js

端到端验证 MCP 桥(无需 VS Code,使用文件系统后端)
node scripts/standalone.js --root <临时目录> --dsh-port 3489
node scripts/verify-bridge.js --url http://127.0.0.1:3489 --cwd <临时目录>

scripts/verify-bridge.js 会通过真实 DSH HTTP API 建会话、发提示词,并打印模型调用 mcp__vscode__ 工具的记录与最终回复。

安全说明

- run_command 会执行 DSH 提出的任意 shell 命令(这是 Claude Code 式工作流的预期能力)。命令会显示在 DSH 会话与集成终端中;如需额外确认,将 dsh.trustCommands 设为 false(DSH 自身的权限/批准机制仍然生效)。
- MCP 服务器只绑定 127.0.0.1,不会对外暴露。

开源与贡献

这是一个开源项目(MIT)。欢迎:

- 提交 Issue 报告 bug 或建议功能;
- 提交 PR(代码风格:CommonJS、无外部运行时依赖、中文/英文双语注释皆可);
- 完善 scripts/ 下的测试工具,或补充单元测试。

开发调试:code . 打开本仓库后按 F5 启动 Extension Development Host;改完 media/panel.html、extension.js 或 lib/* 后重载窗口即可看到效果。

许可

MIT — 详见 LICENSE。图标来自 deepseek-ai/deepseek-harness 的 dsh-web-frontend(MIT)。
预览分享卡片长什么样 ↓ContinueYN/dsh-vscode
分享 · DeepSeek Harness Hub
ContinueYN/dsh-vscode

在编辑器侧边栏调用 DSH 读写代码并执行命令

这是你的仓库?认领条目

回到顶部