← 返回列表
未验证
DSH Bridge · DeepSeek Harness for VS Code
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/15 · 已提供中文文档
在 VS Code 中运行 DeepSeek Harness(DSH),一个本地 AI 代理——原生侧边栏面板 + 编辑器桥接。纯协议客户端:不重写 DSH,不搭建第二个服务器
综合分
29.6
GitHub 分
29.6
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add zhibailu/dsh-vsc该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
DSH Bridge · DeepSeek Harness for VS Code 把 DeepSeek Harness —— 本地的 AI 智能体 —— 直接放进 VS Code。 一个原生侧边栏面板 + 编辑器桥,以协议客户端的方式连接 DSH,不重写它、也不另起第二个服务端。 语言:简体中文 · English version license vs code platform node 一句话 —— DeepSeek Harness(DSH)是一个住在你电脑里的 AI「工人」(默认 http://127.0.0.1:3080)。DSH 自带一个网页,但那个网页只是它「协议」的一个客户端。dsh-vsc 是另一个客户端——一张真正属于 VS Code 的侧边栏。它不重写 DSH、不模仿它的 UI,而是读懂协议、把干活的过程用原生面板画给你,并接上针对你的代码的原生编辑器桥。 目录 - 为什么用它 - 功能 - 截图 - 安装 - 快速上手 - 它怎么工作 - 设计哲学——「纯桥接」 - 命令 - 配置 - 刻意不做的事 - 开发 - 文档 - 参与贡献 - 许可证 为什么用它 多数「AI 进 IDE」的工具是在重造一个 AI。这个项目正好相反: - 不 fork、不重写 DSH:DSH 保持字节级一致(npm 原版)。它能做的事,这个扩展都能呈现。 - 不把网页 iframe 当主力体验:侧边栏是一张原生 VS Code 面板 + 原生编辑器桥——选中代码、右键、提问;看着工具干活、审批操作、审阅 diff。 - DSH 升级也不怕:它消费 DSH 的协议契约(wire contract),而不是 UI。DSH 界面随便改版,这个扩展都不必跟着改。 如果你已经在用 DSH(网页或命令行)、又在 VS Code 里写代码,dsh-vsc 把你的编辑器变成 DSH 的一等表面——一份历史、一套契约、绝无第二个服务端。 功能 原生侧边栏面板 - 流式回复、可折叠的思考(reasoning)栏与每轮实时计时。 - 相邻工具调用合并成「⚙ 动作」折叠块;每轮 +N-M 改动统计。 - 审批卡片:agent 请求执行需审批的操作时弹出——允许一次 / 拒绝。 - 选择题卡片:单选用数字键、多选勾选、推荐徽章、自定义回答(↑↓ 找回)、跳过——经 /api/respond 回传。 - 会话模式(标准 / PTC / 极简 / 创造)、推理等级切换、权限预设切换(只读 / workspace-write / full-access)。 - 输入栏接管:agent 提问时主输入栏整体隐藏,防止误发消息。 原生编辑器桥 - Ask DSH(选区):选中代码 → 右键 → DSH: Ask about selection,弹结构化上下文卡片(文件 / 选区 / 工作区 / 分支)送入最新会话;解释 / 审查 / 修复 / 自定义。 - Review Agent Changes:监控 write / edit / str_replace_editor 工具调用,每轮提示改动数,一键打开 VS Code 原生 git diff。 harness 生命周期 - 复用正在运行的 DSH(共享客户端,不另起服务端);只有确实没有才自拉一个;自愈(死了按退避重启);引用计数关闭(绝不杀掉还被别的客户端用着的 harness)。详见它怎么工作。 截图 侧边栏与对话——原生 DSH 面板:会话列表、流式回复、可折叠的「⚙ 动作」、每轮实时计时、+N-M 统计 右键提问——在编辑器里选中代码,右键 → DSH: Ask about selection Ask 卡片——面板里弹出的结构化上下文卡片(文件 / 选区 / 工作区 / 分支) 审批卡片——agent 请求执行需审批的操作时,允许一次 / 拒绝 选择题卡片——单选 / 多选、推荐徽章、自定义回答 Review Agent Changes——每轮改动的文件 → 一键打开原生 git diff 会话模式——标准 / PTC / 极简 / 创造 安装 需要 Windows / macOS / Linux + VS Code ^1.90.0。DSH 本体不用单独装——没有 harness 在跑时扩展会自动拉起一个。 方式 A —— Release 安装包(推荐) 1. 从 Releases 下载最新的 dsh-vsc-.vsix。 2. 安装(VS Code Ctrl+Shift+P → Install from VSIX,或命令行): code --install-extension dsh-vsc-.vsix --force 3. 重载窗口(Ctrl+Shift+P → Reload Window),左侧活动栏点 DSH 图标即可。 会自动复用正在运行的 harness(npm i -g @deepseek-ai/dsh 或 npx @deepseek-ai/dsh web),默认 http://127.0.0.1:3080,可用 DSH_WEB_URL 或 dshVsc.url 覆盖。 方式 B —— 源码构建 git clone https://github.com/zhibailu/dsh-vsc.git cd dsh-vsc npm install npm run package # esbuild 构建 + vsce 打包 → dsh-vsc-.vsix code --install-extension dsh-vsc-.vsix --force 快速上手 1. 重载窗口——装完必须重载才生效。 2. 左侧活动栏点 DSH 图标打开侧边栏。 3. 没有 harness 在跑时,扩展会自动静默拉起一个(不弹窗);有则直接复用。 4. 发消息,看 agent 干活。 扩展里不用配 API key:key 在 DSH 侧配置(第一次 dsh web 时按提示设置)。扩展只是它的共享客户端,不碰你的 key。 它怎么工作 DSH 对外暴露两样东西:RPC 接口(POST /api/)和实时事件流(/api/events.mux)。网页只是这份契约的一个消费方。 dsh-vsc 是第二个消费方: - src/harness/client.ts —— 约 200 行的最小协议客户端:在 Node(≥ 18,全局 fetch)里重实现 DSH 的 wire contract,不 import 任何 DSH 内部包,刻意做得很薄——实现协议,而不是插件框架。 - 无损事件:面板拿到的是事件流的原始帧,不做二次建模;渲染交给面板自己。桥接层越透明,越不会跟官方语义脱节。 - 协议优先、UI 无关:官方 README 写明"没有协议版本字段,因为客户端与服务端一起发布——直到出现独立发布的客户端"。这个扩展正是那个独立发布的客户端,站的是稳定契约那一层,不是易变 UI那一层。 - 唯一的例外 —— overlay:协议没暴露的 4 个能力(clientCount、隐藏工具控制台)由内存运行时补丁提供,并上了三把锁——只改内存、磁盘官方文件一行不碰;启动时校验官方文件 SHA-256,对不上整体放弃;patch 前查金丝雀锚点,找不到就降级。且有明确退役路线(等官方补上对应字段,如 hostInstanceId,就删对应 delta)。 - 第二个客户端,绝不做第二个服务端:真实事故证明,两个 DSH 进程共用 ~/.dsh 会互相写坏历史(corrupt session log: seq gap)。所以扩展绝不另起一个服务端去写同一份历史:能复用就复用,只有确实没有才自拉,关闭时用引用计数(问 host.describe 的 clientCount)决定停不停,绝不错杀正在被别人用着的 harness。 给想理解这套设计的人写的完整架构说明,见 docs/design.md。 设计哲学——「纯桥接」 我不抢 DSH 的活,我只当它最好的那个客户。 - 不重写 DSH → 它保持字节级一致;它的稳定就是你的稳定,它升级你不必跟着重写。 - 不模仿 DSH 的 UI 框架 → 替官方重写一套插件系统,既不讨好官方、也累死自己。 - 不另起第二个 DSH → 两个进程共用一份历史会互相写坏。 - 实在要改(overlay)就可验证、可降级:校验、金丝雀护栏、失败就放弃、上游补上就退役。 命令 | 命令 | 作用 | |---|---| | DSH: Open Sidebar | 聚焦 DSH 侧边栏 | | DSH: Start Web Harness | 显式启动/连接 harness(清除"不再重启"闩) | | DSH: Stop Auto-started Harness | 只停本扩展自拉的那个;共享的绝不杀 | | DSH: Refresh Connection Status | 重新探测 harness | | DSH: Open Web GUI (advanced) | 把完整 DSH 网页作为标签页打开 | | DSH: Ask about selection | 询问选中的代码(右键菜单里也有) | | DSH: Review Agent Changes | 打开 agent 改动文件的原生 git diff | 配置 | 设置 | 默认 | 说明 | |---|---|---| | dshVsc.url | http://127.0.0.1:3080 | DSH harness 的地址;也认 DSH_WEB_URL | | dshVsc.autoStart | true | 配置地址无人应答时自动启动 dsh web | 刻意不做的事 - 不重写聊天 UI、不截断/白名单事件、不要求重输 API key。 - 不另起第二个 harness——能复用就复用,只有没有才自拉;关 VS Code 时若还有别的客户端连着,自拉实例会保留。 - 改动追踪只识别 write / edit / str_replace_editor 工具事件;shell 里改的文件不计入(git diff 审查仍可手工用)。 - +N-M 统计只覆盖上述文件工具;计时器是桥接侧纯展示(挂最新进行中的一轮,任务结束即固化为历史用时)。 - Ask DSH 发送到"最近更新的会话"(不一定是 webview 当前打开的那个)。 - 审批/选择题只在当前选中会话弹出。 开发 npm install npm run typecheck # tsc --noEmit(两套配置) npm run build # esbuild → dist/extension.js + dist/media npm run package # 构建 + 打包 vsix F5 调试(.vscode/launch.json)→ Extension Development Host。 自动回归测试(jsdom 模拟 webview,喂真实事件流验证面板渲染): node scratch/auto-test.mjs 文档 - 设计与架构说明——为什么采用「纯桥接」、如何应对 DSH 升级保持稳定、各模块如何配合。 - 源码地图——src/ 里各目录管什么。 - 截图——本 README 用到的图片素材。 - llms.txt——给 LLM / AI 抓取器用的机器可读文档索引。 - AGENTS.md——给 AI 编码代理的仓库上手说明。 - 更新日志——版本历史。 - 维护者可见:GITHUB-SETUP.md——在 GitHub 上设置仓库元数据与 topics 以提升可发现性。 参与贡献 见 CONTRIBUTING.md。欢迎 issue、PR、文档改进——尤其是帮新人讲清架构的。 许可证 MIT © 2026 zhibailu — 详见 LICENSE。
扫码进群