dsh4vscode
VS Code 内的 DeepSeek Harness (DSH):在编辑器窗口中与正在运行的 DSH 实例聊天,镜像 DSH Web UI 的模型选择器和会话行为。
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗DSH Chat for VS Code
在 VS Code 里直接用 DeepSeek Harness(DSH) 的智能体。这不是一个聊天玩具——聊天面板背后是完整的 DSH agent:它可以读取、创建、修改工作区文件,运行命令,搜索网页,并行委派子任务,然后把每一步工具调用实时展示在聊天流里。
参考了 OpenCode / Claude Code / Cline 的 VS Code 插件形态,但调用的是 DSH 本身:插件通过 DSH 的 HTTP RPC(
/api/*)和 WebSocket 事件流(/api/events.mux、/api/events.host)连接正在运行的 DSH 实例,复用它的全部 agent 能力。
特性
- 🪟 纯编辑器窗口形态(OpenCode 式):DSH Chat 是编辑器区里的独立窗口,与代码窗口平级——每个窗口 = 一个完整的会话工作区:自带会话 tab 栏、+新建、🪟再开新窗口、📜历史、模型选择器、问题卡片。窗口想开几个开几个,拖到任意编辑器组分屏并行。
- 🔒 窗口之间完全独立:新窗口永远创建全新的独立会话(全新上下文),各窗口各聊各的、互不同步;同一窗口内可切换会话 tab。
- 🖥 入口:编辑器右上角 💬 按钮 /
Ctrl+Alt+D/ 状态栏 🐳 / 命令DSH: New Chat Window——全部是"开一个独立窗口"。 - 📑 会话历史:窗口内 📜 按钮列出当前工作区的全部历史会话,一键切换/继续旧对话。
- ❓ Agent 提问卡片:agent 调用
ask_user_question时弹出问题卡片(单选/多选/自定义输入),回答后 agent 继续,不再卡死。 - 🤖 真正的 agent:会话绑定当前工作区(
cwd),DSH 的standardpreset 自带文件读写、终端、搜索、子代理等全套工具——让它"直接改文件",它就真的改。 - 🎛 模型选择器 = DSH Web UI 的原样镜像(插件零自有模型逻辑):
- 列表直接索引
session.models:按 provider 分组、显示名、每个模型声明的 effort 档位——DSH 加模型/加 provider 插件自动出现,无需升级插件 - 选中即调
session.selectModel(DSH 自己校验),effort 下拉按所选模型声明的档位重建 - 继承跟着 DSH 走:选一次成为 DSH 部署默认值,新建对话自动继承(插件重启也不丢)
- 发送时直接 prompt——DSH 用自己的 current 组装本轮,与 Web UI 同一条路径
- 列表直接索引
- 🎯 选中内容自动附带(Claude Code 同款):在编辑器里选中一行/一段文字,直接在聊天里说"把这行替换成 12345"——发送时自动附带选中内容(文件路径、行号、代码块),agent 直接就能看到并改文件,不用再手动粘贴。
- 🛡 权限模式:点击底部徽章弹出选择器,或
Shift+Tab循环切换 read-only / workspace-write / full access,与 DSH 会话投影实时同步。 - 💾 会话持久化:按工作区复用 DSH 会话,重启 VS Code 后历史自动恢复。
- ⌨ VS Code 联动:
- 编辑器右上角 💬 按钮一键开窗口;选中代码时出现 ❓(解释)和 🐛(修复)按钮
- 右键选中代码 → 「DSH: Ask About Selection」/「DSH: Debug / Fix Selection」(自动附带文件路径、行号、代码块,并打开新窗口)
- 输入
@快速引用工作区文件、/提示斜杠命令(compact / plan / goal / permission / echo)
- 🛑 可取消:运行中点「停止」,回合状态正确显示「已停止」。
前置条件
- 正在运行的 DSH 实例(默认
http://127.0.0.1:3080)。插件直接连它的 HTTP/WS API——不需要浏览器 GUI 打开,DSH 进程活着即可。