← 返回列表
未验证
VS Code 上的 DSH
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/15 · 已提供中文文档
综合分
29.9
GitHub 分
29.9
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add rainfishs/dsh-vscode该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
VS Code 上的 DSH 为 VS Code 提供无缝、低开销的 DeepSeek Harness (DSH) 集成 Visual Studio Marketplace Version License: MIT VS Code Engine Built for DSH VS Code 上的 DSH 将 DeepSeek Harness (DSH) 网页界面直接带入你的编辑器聊天面板。 它采用轻量、解耦的架构构建,避免了进程锁定和脆弱的 stdout 抓取,在 DSH 与你的 VS Code 工作区之间提供干净的双向桥接。 ⚡ 架构概览 VS Code 上的 DSH 没有采用僵硬的子进程绑定或脆弱的 stdout 抓取,而是使用会合文件模式(Rendezvous File Pattern)搭配高性能的两跳 IPC 桥接: ┌─────────────────────────────────────────────────────────────┐ │ VS Code Host │ │ ┌───────────────────────┐ ┌───────────────────────┐ │ │ │ Secondary Sidebar │ │ Loopback Proxy Core │ │ │ │ (Webview Container) │ │ (Per-Window Isolation)│ │ │ └───────────▲───────────┘ └───────────▲───────────┘ │ │ │ (postMessage IPC) │ │ └──────────────┼───────────────────────────────┼──────────────┘ │ │ [ Two-Hop Bridge ] [ HTTP / WebSocket ] • System Clipboard Sync │ • Native File Jump (Range) │ │ ▼ ┌──────────────▼──────────────────────────────────────────────┐ │ DSH Runtime & Web GUI │ │ (Atomic Rendezvous URL File + SameSite Cookie Widening) │ └─────────────────────────────────────────────────────────────┘ ✨ 核心特性 * 🚀 零延迟原生工作区:直接挂载到辅助侧边栏或聊天面板旁边,不会打乱你的布局。 * 📁 原生编辑器交接:点击 DSH 内的文件或堆栈跟踪,即可立即在你的活动 VS Code 编辑器中打开对应的文件和行。 * 📋 双跳剪贴板桥接:绕过 Chromium iframe 权限沙箱,为 DSH 提供完整、可靠的 OS 剪贴板访问能力。 * 🛡️ 按窗口存储隔离:专用的按窗口回环代理源,防止多根工作区之间发生 localStorage 和会话冲突。 * 🔄 会合自动重载:监视经过认证的 URL 握手文件;无需手动配置即可自动启动并重新连接。 * 🔍 实时缩放:硬件加速的 CSS 视口缩放(0.25x – 4.0x),无需重新加载 iframe 状态或断开活动 WebSocket。 📦 前置条件 | 组件 | 所需版本 | 作用 | | :--- | :--- | :--- | | VS Code | ^1.104.0 | 宿主编辑器 | | DeepSeek Harness | latest (@deepseek-ai/dsh) | AI Harness 核心 | | dsh-vscode-bridge | 0.2.4+ | DSH Cordis 运行时包 | 🚀 快速开始 1. 安装 DSH 运行时包 将桥接包添加到你的 DSH web 配置文件中: dsh plugin --profile web add github:rainfishs/dsh-vscode-bridge 2. 安装 VS Code 扩展 直接从 VS Code Marketplace 安装,或通过命令行安装: code --install-extension rainfishs.dsh-on-vscode 3. 启动并连接 1. 启动 DeepSeek Harness: dsh web (桥接会自动将经过认证的会话 URL 写入 %USERPROFILE%\.dsh\profiles\web\web-url.txt) 2. 打开面板——以下任一方式均可: - UI: Ctrl+Alt+B(macOS:Cmd+Option+B)→ 点击辅助侧边栏中的 DSH 图标 - 命令面板: Ctrl+Shift+P(macOS:Cmd+Shift+P)→ 运行 DSH: Open URL Tab ⚙️ 配置 通过 Settings(Ctrl+,)在 dsh 命名空间下自定义集成: | 设置 | 类型 | 默认值 | 描述 | | :--- | :---: | :---: | :--- | | dsh.urlFile | string | "" | 会合 URL 文件的路径。支持绝对路径、工作区相对路径以及 ~ 主目录展开。为空表示使用 DSH 自身写入的文件:%DSH_HOME%\profiles\web\web-url.txt,当未设置 DSH_HOME 时为 %USERPROFILE%\.dsh\profiles\web\web-url.txt。 | | dsh.zoom | number | 1.0 | 实时视口缩放因子(0.25 到 4.0)。应用时无需重新加载。 | | dsh.isolateStorage | boolean | true | 启用按窗口回环代理,以在多个 VS Code 窗口之间隔离 localStorage。 | 🔧 底层原理 1. 双跳双向 IPC VS Code Webview 施加了严格的跨源 iframe 安全边界。 * 剪贴板中继:dsh-vscode-bridge 在 iframe 内挂钩 navigator.clipboard.writeText,并通过 postMessage 将负载向上冒泡。扩展宿主进行中继,并使用原生 vscode.env.clipboard.writeText 写入它们。 * 文件导航:文件链接(dsh-resource://file/...)会被拦截并直接发送到扩展宿主,通过 vscode.window.showTextDocument 打开目标文件,并精确聚焦到指定行。 2. 确定性端口代理与存储隔离 Chromium 会在所有访问同一源(http://127.0.0.1:3080)的窗口之间共享 localStorage。VS Code 上的 DSH 为每个窗口运行一个轻量级的内存反向代理。端口根据活动工作区路径进行确定性哈希,从而确保独立的存储作用域,同时保留跨重新加载的会话持久性。 🛠️ 诊断与故障排除 所有运行时决策、代理生命周期事件和 IPC 中继都会记录到 DSH 输出通道: 1. 打开 查看 ▸ 输出(Ctrl+K Ctrl+H)。 2. 从下拉菜单中选择 DSH。 | 症状 | 原因 | 解决方案 | | :--- | :--- | :--- | | No URL configured | 默认的 DSH URL 文件尚不存在 | 使用桥接包启动 dsh web,或在设置中设置 dsh.urlFile | | Cannot read that file | 文件路径无效或权限被拒绝 | 验证文件权限和路径语法 | | 复制按钮无效果 | DSH 中缺少 dsh-vscode-bridge | 运行 dsh plugin --profile web add github:rainfishs/dsh-vscode-bridge | | 多个窗口共享会话 | dsh.isolateStorage 已禁用 | 确保设置中 dsh.isolateStorage: true | 🔒 安全与隐私 * 100% 绑定本地主机:反向代理和所有会合机制严格绑定到 127.0.0.1。 * 零遥测:无跟踪、指标或第三方网络请求。 * 源防御:上游 Origin、Host 和 Referer 头会被清理,以遵守 DSH 的内部安全防护。 📄 许可证 在 MIT 许可证 下分发。详情请参见 LICENSE。 由 rainfishs 精心构建。与 DeepSeek 无官方关联。
扫码进群