liangwythu/deepseek-harness-vscode
Native VS Code client for DeepSeek Harness. Same workspace, same session, same agent runtime — VS Code and the browser share one Harness session.
이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.
DeepSeek Harness Connector for VS Code (v0.0.2)
DeepSeek Harness 的原生 VS Code 客户端。
连接你已在本地运行的 Harness 实例,直接在 VS Code 中继续相同的工作区和会话。
同一个 Harness。同一个工作区。同一个会话。VS Code 客户端。
这不是 Cursor 的替代品,不是 Claude Code 的替代品,也不是完整的编码 Agent。它将 VS Code 连接到你已在运行的本地 dsh web 实例:
浏览器 ─────┐
│
▼
DeepSeek Harness
▲
│
VS Code ─────┘
VS Code 读取浏览器中已有的工作区和会话,并继续同一个会话——所以浏览器刷新该会话时能看到 VS Code 发送的内容。
v0.0.2 新特性
对话 UX & 架构基线版 —— 进入 PR-only 模式前的最后一次直推版本。
- Assistant Markdown 渲染 ——
markdown-it(html: false)在 webview 侧运行。代码块、列表、表格、链接均可渲染。不安全 HTML 被丢弃;链接以target=_blank rel=noopener打开。 - Tool 卡片合并 ——
tool/call+tool/result以callId合并为单个可折叠的ToolItem。不再有粉色整块 result。点击展开 Arguments + Result。 - System 消息折叠 ——
SystemItem是独立类型(不再是带标记的UserItem)。默认 UI 为一行折叠▸ Runtime context · @deepseek-ai/dsh-system-prompt。 - 惰性创建 workspace + session —— 打开 repo,输入提示,按 Send。workspace 和 session 在首次发送时自动创建。无确认弹窗。
- 流式渲染修复 ——
renderVersion单调递增计数器确保每次模型变更都触发 webview 重渲染。修复了"流式文本变了但 UI 不更新"的 bug。 - 架构加固 ——
AppController接管编排;extension.ts纯接线;provider.ts拆分为styles/html/client/toolPresentation。为后续 feature PR 提供稳定边界。
v0.0.2 做什么
- 连接到本地
dsh web(仅限回环地址——127.0.0.1/localhost)。 - 将当前 VS Code 文件夹匹配到 Harness 工作区。若无匹配,工作区在首次发送时惰性创建——无弹窗。
- 列出该工作区已有的会话。
- 打开会话并渲染其历史记录。
- 向该会话发送纯文本提示。若无会话,自动创建。
- 实时流式传输助手回复,支持 Markdown 渲染(代码块、列表、表格、链接)。
- 将工具调用显示为折叠卡片,带语义化标题(
Read src/foo.ts、Search "pattern"、Run npm test)。 - 默认隐藏插件注入的系统消息;通过
SYS按钮切换。 - 停止当前回合。
- 断线时重新打开流并重新获取历史记录。
- "在 Harness Web UI 中打开"命令。
- 通过 ⇲ 按钮将视图停靠在右侧边栏(像聊天面板一样)。
v0.0.2 刻意不做的事
为安全起见,v0.0.2 拒绝触碰读取 + 提示 + 取消之外的任何操作:
- 不调用
/api/respond,不批准/拒绝审批,不修改权限。 - 不调用
commands/execute,不访问credentials或settingsAPI。 - 不切换模型。
- 不做差异审查、文件编辑、内联补全、终端/LSP 集成。
- 不建立第二份会话数据库——Harness Session 是唯一的真相源。
- 不自动安装/启动/升级
dsh。 - 不 fork 或修改 Harness 源码。
如果某个操作需要审批,VS Code 只显示:
该操作需要在 DeepSeek Harness Web UI 中审批
绝不代你响应。
环境要求
- VS Code ≥ 1.85
- 正在运行的本地
dsh web(默认端口3080)。本扩展不会为你启动它。
快速开始
-
在本地启动 Harness:
dsh web # → http://127.0.0.1:3080 -
从 VS Code Marketplace 安装,或通过命令行:
code --install-extension lucasliang.harness-connector-deepseek或从 GitHub Releases 安装 VSIX:
code --install-extension harness-connector-deepseek-0.0.2.vsix -
在 VS Code 中打开一个你想绑定到 Harness 工作区的文件夹。
-
DeepSeek Harness 活动栏图标出现;扩展自动连接。如果你的文件夹匹配到一个已有的 Harness 工作区,其会话会出现在下拉列表中。选择一个,继续对话。
-
没有匹配的工作区? 直接输入提示按 Send——工作区和会话会自动创建。
-
在浏览器中打开
http://127.0.0.1:3080/的同一会话——两端看到的是同一轮对话。
配置
| 设置项 | 默认值 | 说明 |
|---|---|---|
deepseekHarness.host | 127.0.0.1 | v0.0.x 仅允许 127.0.0.1 或 localhost。 其他值会被拒绝。 |
deepseekHarness.port | 3080 | 默认 dsh web 端口。如果你用 dsh web --port <n> 启动则需修改。 |
deepseekHarness.showSystemMessages | false | 显示插件注入的系统消息(运行时上下文、审批通知)。默认隐藏;可通过 webview 头部的 SYS 按钮实时切换。 |
命令
DeepSeek Harness: Connect/Disconnect(连接 / 断开)DeepSeek Harness: New Session(在当前工作区新建会话)DeepSeek Harness: Refresh Sessions(刷新会话列表)DeepSeek Harness: Move to Right Side Bar(移至右侧边栏)——将视图停靠在辅助侧边栏(像聊天面板一样),不再与文件浏览器争抢左侧空间。也可通过 webview 头部的 ⇲ 按钮触发。DeepSeek Harness: Open Web UI(打开 Web UI)DeepSeek Harness: Show Logs(显示日志,即DeepSeek Harness输出通道)
架构
见 ARCHITECTURE.zh-CN.md 了解一页式设计和协议契约。
协议固件
test/fixtures/ 存放了线缆格式的脱敏快照,用于检测上游 Harness 协议漂移:
host-describe.json、workspace-list.json、session-list.json、session-history.json、session-prompt.json、session-event.json
不存储任何凭据、API 密钥或真实提示内容——仅保留 JSON 结构(文本字段已脱敏)。
协议探测
一个独立的 Node 脚本可在你运行的 dsh web 上验证完整闭环:
npm run spike # 只读验证(连接 / 列表 / 历史 / 打开 mux)
npm run spike -- --prompt # 同时测试提示 + 实时事件 + 取消
开发
npm install
npm run build # esbuild → dist/extension.js
npm run watch # 变更时自动重建
npm run typecheck
npm run package # → harness-connector-deepseek-0.0.2.vsix
在 VS Code 中按 F5 启动带有该扩展的扩展开发宿主。
已验证版本
- DeepSeek Harness host
v0.0.1(@deepseek-ai/dsh-root),默认dsh web端口3080。 - 线缆契约:
packages/host/apiproxy/src/api/(权威来源)。
限制
- 仅限回环——不支持远程 / 局域网 / WSL 桥接的主机。
- 仅支持文本提示(不支持图片附件)。
- 历史记录加载最近约 50 条消息;"加载更早"是未来版本的计划。
- "Open Web UI" 中的会话深链接不做猜测——只打开 Harness 首页。
- 未知的 harness 事件类型会被忽略(协议是可合并扩展的);它们不会导致客户端崩溃,但也不会渲染。
路线图(v0.0.3+,通过 feature PR)
- 差异审查(Diff Review)
- 审批集成(Approval integration)
- 内联补全(Inline Completion)
- VS Code 文件系统提供器
- 上下文注入(Context injection)
许可证
MIT
보안 및 설치 증거
이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.
공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.
저장소가 MIT 라이선스를 선언했습니다.
최근 180일 내 코드 업데이트가 있습니다.
재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.
검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.