Overview Version History Q & A Rating & Review
DSH Launcher(启动 + 内嵌面板)
DeepSeek Harness 的 VS Code 集成:侧边栏一键下载、检查更新并启动 DSH,把完整 Web GUI 内嵌进 VS Code ,支持文件双向联动。提供完整性检查与自动修复 、保留会话记录的安全卸载 与彻底卸载(连数据一起删) 。不修改 DSH 的 profile(package.json / cordis.patch.yml),卸载即无痕。
功能
🚀 启动器面板(活动栏 ▶ 图标)
显示 DSH 最新版本 / 本地缓存版本 / 运行状态
▶ 启动 DSH(当前版本) :只用本地缓存的版本启动,不联网、不检查、不下载 (秒开);完全没有缓存(首次安装)时自动回退到 npx 现下载并启动 ,等待时间自动延长到 10 分钟
⬇️ 下载 / 🔄 检查更新 :智能两段式逻辑——本地没有 DSH 时自动下载安装(首次安装);本地已有 DSH 时检查 npm 最新版,有新版才下载,已是最新则提示。下载后不会自动重启 ,提示"先 ⏹ 终止,再 ▶ 启动"才生效
🩺 检查完整性 :检查每个缓存版本的结构 (package.json、入口 lib/bin.js、config 目录、node_modules/.bin/dsh 链接)、依赖完整性 (对照 package.json 的 dependencies 逐一核对)与入口可运行性 (真实执行 dsh --version)。发现问题时询问是否自动修复 :删除损坏的缓存并重新下载同版本(会话记录不受影响)
🗑 卸载 DSH(保留会话记录) :删除 npx 缓存中的 DSH 程序文件(运行中会先终止服务),完整保留 ~/.dsh 下的全部会话记录、配置与凭据 (sessions / profiles / storages / settings.yaml / .credentials.yaml),重新安装后一键恢复
🔥 彻底卸载(删全部数据) :在卸载弹窗中选择「彻底卸载」并二次确认,除程序文件外连 ~/.dsh 全部数据(会话/配置/凭据)一起删除,不可恢复 ,适合完全清除 DSH 痕迹
点击 ⏹ 终止 DSH 服务 :终止监听 3080 端口的 DSH 服务(带确认弹窗;已持久化的会话重启后可恢复)
端口守卫:3080 已有实例时不重复启动
后台进程独立运行(nohup),关闭 VS Code 不影响 DSH
🖥 内嵌 DSH 面板(完整 Web GUI)
在编辑器标签页打开 (像打开文件一样),不是侧边栏
iframe 嵌入真实 dsh web 前端:聊天、会话、设置、模型、agent preset、全部 DSH 插件原样可用
与浏览器 WebUI 共享同一个运行中的实例 (默认 127.0.0.1:3080)
未运行时打开面板会自动启动(可关)
通过本地反向代理加载:代理在 HTML 中注入桥接脚本,实现文件联动(见下)
加载失败 15 秒内自动切换直连模式 (GUI 正常、文件联动桥禁用),也可手动点"🔗 直连模式"
面板底部显示当前宿主平台与代理端口,便于排查
状态栏显示 DSH:3080,点击直接在编辑器打开面板
📂 文件双向联动
行为
说明
点击交付文件 chip / 工具文件链接
直接在 VS Code 编辑器打开(Windows 宿主自动经 wslpath 转换路径)
agent 新建文件
按策略自动在编辑器打开(autoOpenCreated)
agent 修改文件
已打开且无未保存修改 的文档自动同步;有未保存修改的绝不覆盖 (syncChangedOpen)
agent 删除文件
自动关闭对应标签,有未保存修改的保留(closeOnDeleted)
监听目录
可配置(watchDirs,默认跟随 workspace 设置),自动忽略 node_modules/.git/.dsh/.npm
安装
命令面板(Ctrl+Shift+P)→ Extensions: Install from VSIX...
选择 dsh-launcher-1.1.2.vsix
活动栏出现 ▶ DSH 图标(DSH 启动器视图);内嵌面板通过状态栏或启动器里的按钮打开
使用
下载 / 更新 :DSH 启动器 → "⬇️ 下载 / 🔄 检查更新"(首次会自动下载安装)
启动 :DSH 启动器 → "▶ 启动 DSH(当前版本)"
完整性检查 :DSH 启动器 → "🩺 检查完整性";发现问题时确认后自动修复
卸载 :DSH 启动器 → "🗑 卸载 DSH(保留会话记录)"→ 弹窗选「卸载(保留会话)」或「彻底卸载(删全部数据)」(后者需二次确认,点右上角 × 取消)
内嵌 :状态栏 DSH:3080 或启动器里"🖥 打开内嵌 DSH 面板"→ 在编辑器标签页 打开完整 Web GUI
浏览器 :启动器面板 → "🌐 在浏览器打开"
日志:WSL 内 /tmp/dsh-launcher.log
配置(设置 → 搜索 dshLauncher)
设置
默认值
说明
dshLauncher.port
3080
DSH Web GUI 端口
dshLauncher.workspace
/home/young1839/test
启动时工作目录(新会话默认工作区)
dshLauncher.wslDistro
Ubuntu
WSL 发行版(仅 Windows 扩展宿主)
dshLauncher.autoStartOnOpen
true
打开面板时自动启动
dshLauncher.watchDirs
[]
文件联动监听目录(留空=workspace)
dshLauncher.autoOpenCreated
true
新建文件自动打开
dshLauncher.syncChangedOpen
true
无未保存修改的文档自动同步
dshLauncher.closeOnDeleted
true
删除文件关闭标签
工作原理
启动 :npx --yes @deepseek-ai/dsh@latest web(端口守卫 + nohup)
下载/更新 :本地无缓存 → npx 直接下载;有缓存 → 先查 npm 最新版,有新版才下载到新的 npx 缓存目录(多版本并存,启动始终取最新)
完整性检查 :逐个检查 npx 缓存版本——① 结构:package.json / lib/bin.js / config/agent-presets / .bin/dsh 链接;② 依赖:对照 dependencies 逐一核对平铺 node_modules;③ 运行:真实执行 dsh --version。修复 :删除损坏的 npx 缓存根并重新下载同版本
卸载 :删除 ~/.npm/_npx/* 中含 DSH 的缓存目录(先终止运行中的服务);~/.dsh(会话/配置/凭据)原样保留 ,重装后立即可恢复历史会话;彻底卸载 则额外删除 ~/.dsh 全部数据(不可恢复)
内嵌 :本地反向代理(动态端口)转发到 DSH 实例,HTML 响应注入桥接脚本;HTTP 与 WebSocket 升级(/api/events.mux、/api/events.host 实时事件通道)均透明转发 ;chip 点击 → postMessage → VS Code 打开文件
文件联动 :监听 DSH 工作区目录的创建/修改/删除事件
扩展宿主在 Windows 时经 wsl.exe 进入 WSL 操作;在 Remote-WSL 时直接执行
数据安全
数据
位置
卸载(保留会话)
彻底卸载
会话记录
~/.dsh/sessions/
✅ 保留
🗑 删除
配置(settings.yaml)
~/.dsh/
✅ 保留
🗑 删除
凭据(.credentials.yaml)
~/.dsh/
✅ 保留
🗑 删除
存储(storages/)
~/.dsh/
✅ 保留
🗑 删除
程序文件(可再生的缓存)
~/.npm/_npx/*/
🗑 删除
🗑 删除
默认卸载 只动 npx 缓存(程序文件),~/.dsh 数据完整保留;只有「彻底卸载」才会删除 ~/.dsh (有二次确认,且不可恢复)。完整性修复也只动缓存,任何情况下不删数据。
环境要求
VS Code >= 1.90
WSL Ubuntu 内 Node.js >= 20 与 npm
Windows 宿主需要 WSL(wsl.exe)
已知限制
聊天正文里以纯文本形式出现的文件路径(非 chip)暂不自动联动
需要 DSH 实例允许 iframe 嵌入(当前版本服务器无 X-Frame-Options 拦截,已实测)
完整性修复需要能访问 npm 仓库(重新下载同版本)
卸载扩展(插件本身)
扩展管理 → DSH Launcher → 卸载。已启动的 DSH 实例与 profile 均不受影响。
变更记录
v1.1.2
🎨 更换活动栏按钮图标与市场图标为定制角色图(深/浅主题自适应)
v1.1.1
🆕 卸载弹窗新增彻底卸载(删全部数据) :连 ~/.dsh 会话/配置/凭据一起删除(二次确认,不可恢复);弹窗右上角 × 为取消
🎨 内嵌面板底部代理信息栏改为右下角悬浮标签 ,不再占整行
🔧 内嵌 iframe 权限增强(modals / popups / downloads)+ 新窗口桥接:插件设置确认弹窗、插件市场、外部链接可正常打开
v1.1.0
➕ 新增完整性检查 :结构 / 依赖 / 入口运行三层检查,发现问题可一键自动修复(删损坏缓存 + 重下同版本)
➕ 新增安全卸载 :删除 DSH 程序文件但保留全部会话记录与配置 (~/.dsh)
🔄 改进下载/更新 :本地无 DSH 时自动下载安装;已有缓存时才检查更新,已是最新则提示
v1.0.1
首个发布版本:启动 / 停止 / 更新 / 内嵌面板 / 文件双向联动