一键用 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
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 77 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(repo_missing · 2026/10/10) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
potterlee369-prog/dsh-vscode-opener
一键用 VS Code 或资源管理器打开会话目录
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目