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

编辑器快捷打开 potterlee369-prog/dsh-vscode-opener

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

一键用 VS Code 或资源管理器打开会话目录

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

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

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

状态速览

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

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(repo_missing · 2026/10/10) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 8 处,展示前 8 条)
  • 读取本地文件
    client-smoke.mjs:11
    ;(0, eval)(readFileSync(new URL('./lib/client.js', import.meta.url), 'utf8'))
  • 读取本地文件
    src/index.ts:118
    if (!existsSync(target)) return new Error(`目录不存在: ${target}`)
  • 读取本地文件
    src/index.ts:119
    if (!statSync(target).isDirectory()) return new Error(`不是目录: ${target}`)
  • 执行外部命令来自配置/变量
    src/index.ts:129
    const result = spawnSync(command, ['--version'], {
  • 读取本地文件
    src/index.ts:156
    if (candidate && existsSync(candidate)) return candidate
  • 执行外部命令来自配置/变量
    src/index.ts:178
    const child = spawn(file, args, {
  • 执行外部命令固定命令
    src/index.ts:283
    const child = spawn(
  • 读取本地文件
    src/index.ts:337
    pending = executable !== null && existsSync(executable) ? extractIcon(executable) : Promise.resolve(null)
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/dsh-client-ui-primitives
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 一键打开会话目录
  • VSCode按钮
  • 文件管理器按钮

在deepseek harness聊天框加入VS code和文件管理器按钮

README

由 DeepSeek 最新模型翻译生成
dsh-vscode-opener DSH Web 插件:在对话界面一键用 VS Code 或资源管理器打开当前会话的工作目录,同时注册 /vscode 斜杠命令。 - 输入栏按钮:composer 左侧扩展槽里并排放置 VS Code 和资源管理器两个按钮。VS Code 按钮使用 VS Code 官方应用图标(Microsoft 品牌素材 stable 版,与安装的 VS Code 图标一致;原 SVG 存于 assets/vscode-stable-official.svg),另一个使用文件夹图标;点击即把当前会话目录交给宿主进程打开;静默执行,不会在对话中产生任何命令行;成功后图标短暂变绿,失败变红并在 tooltip 中显示原因。 - /vscode 命令:注册到宿主命令注册表(全局),在输入框输入 /vscode 或从 / 菜单选择,同样生效;可带可选路径参数 /vscode path/to/dir(相对路径基于会话 cwd 解析)。与按钮不同,命令执行的结果作为持久的 command/run / command/done 流程节点显示在对话中。
展开完整文档(README 剩余 1 节)
dsh-vscode-opener

DSH Web 插件:在对话界面一键用 VS Code 或资源管理器打开当前会话的工作目录,同时注册 /vscode 斜杠命令。

- 输入栏按钮:composer 左侧扩展槽里并排放置 VS Code 和资源管理器两个按钮。VS Code 按钮使用 VS Code 官方应用图标(Microsoft 品牌素材 stable 版,与安装的 VS Code 图标一致;原 SVG 存于 assets/vscode-stable-official.svg),另一个使用文件夹图标;点击即把当前会话目录交给宿主进程打开;静默执行,不会在对话中产生任何命令行;成功后图标短暂变绿,失败变红并在 tooltip 中显示原因。
- /vscode 命令:注册到宿主命令注册表(全局),在输入框输入 /vscode 或从 / 菜单选择,同样生效;可带可选路径参数 /vscode path/to/dir(相对路径基于会话 cwd 解析)。与按钮不同,命令执行的结果作为持久的 command/run / command/done 流程节点显示在对话中。

安装

1. 安装到 web profile(link: 方式,源码改动即时生效,无需重新 add)
dsh plugin --profile web add "<path-to-repo>"

2. 在 <user-profile>\.dsh\profiles\web\cordis.patch.yml 中挂载该行:
- insert:
- id: vscode-opener
name: dsh-vscode-opener
config:
codeCommand: code
reuseWindow: false

3. 重启 dsh web

配置

| 键 | 默认值 | 说明 |
| codeCommand | code | 启动命令。裸名称(如 code)会先在 PATH 上探测,Windows 下再依次探测 %LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe、%ProgramFiles%\Microsoft VS Code\Code.exe、%ProgramFiles(x86)%\Microsoft VS Code\Code.exe;也可配置为完整路径,如 C:\Program Files\Microsoft VS Code\Code.exe |
| reuseWindow | false | 为 true 时传 -r,在最近使用的窗口打开而非新开窗口 |

工作原理

- 宿主半侧(src/index.ts):通过 ctx.commands.register() 注册 /vscode 命令,处理器从 invocation.agent.session.header.cwd 取会话工作目录,用 child_process.spawn(detached + stdio: 'ignore' + unref())脱离式启动 VS Code;同时注册 /plugin/dsh-vscode-opener/launch、/plugin/dsh-vscode-opener/open-explorer 两个静默路由和 /plugin/dsh-vscode-opener/icon 图标路由。
- 客户端半侧(src/client/index.tsx):在 conversation.input.left 槽位注册两个并排按钮,点击后直接 fetch 对应的静默启动路由。因为绕开了命令运行时(CommandRuntime.execute 会无条件记录 command/run / command/done 生命周期事件),按钮点击不会在对话里留下任何命令行;只有手动输入的 /vscode 才走命令通道并显示结果行。
- 构建产物必须符合 Web 模块系统的 lazy-CJS 契约:lib/client.js 是 window.__ModuleLoader__.load({ id, factory }) 包装的经典脚本,工厂函数返回 { apply, inject },CSS 在工厂物化时注入 。

开发循环

cd "<path-to-repo>"
npm install # 首次安装依赖并生成 lib
npm test # build + 客户端 bundle 冒烟测试

可选:显式开启会真正启动 VS Code 的冒烟测试 $env:RUN_VSCODE_SMOKE = '1' $env:SMOKE_CWD = (Get-Location).Path
node smoke-test.mjs

改完代码后 node build.mjs,然后重启 dsh web(宿主行与客户端 bundle 都在启动时扫描/哈希)。link: 安装意味着无需重新 pnpm add。

注意事项

- 重启才生效:客户端插件清单在 dsh web 启动时扫描,/plugins/dsh-vscode-opener/client.js 的 hash 也取启动时快照。
- /vscode <路径> 的参数会原样解析后交给 code;局域网可信客户端本就有完整 API 权限,本插件不额外收紧,亦不额外放宽。
- 仅 web profile 验证过(按钮需要 Web 界面);headless 下 /vscode 命令本身可用,但没有按钮。

兼容性与安全边界

- 需要宿主提供 DSH 的命令、Web Server、会话和 Web 插件槽位接口;当前仅验证过 web profile。
- 按钮使用的静默启动路由仅接受 POST,但仍会在宿主机器上启动本地程序。请确保 dsh web 的鉴权和网络暴露范围适合你的使用场景,不要把它暴露给不可信客户端。
- /vscode <路径> 支持相对路径和绝对路径;这是为打开会话目录之外的目录保留的能力,只应在可信会话中使用。
- assets/vscode-stable-official.svg 的品牌说明见 NOTICE.md。
预览分享卡片长什么样 ↓potterlee369-prog/dsh-vscode-opener
分享 · DeepSeek Harness Hub
potterlee369-prog/dsh-vscode-opener

一键用 VS Code 或资源管理器打开会话目录

这是你的仓库?认领条目

回到顶部