前言¶
用 DeepSeek Harness(DSH)写智能体时,常见状态是浏览器里的 DSH Web UI 和 VS Code 各开一窗:工具要权限时得切回页面点批准,想让智能体知道你正在看哪份文件、哪段选中,又得自己复制路径或片段。社区里已有选区插入、文件跳转、ACP 桥接等零散能力,但 README 里点名的两个高频动作——在你当前所在的编辑器里回答审批,以及把编辑器上下文交给智能体——往往仍要来回切换。
dsh-editor-link 由维护者 ferrisching 发布,在 DSH 社区目录中归类为客户端插件。它把 DSH 插件与 VS Code 扩展连成一体,经本机回环、带 token 认证的 JSON-RPC 通道通信;简介表述为:在编辑器中处理 approvals、questions 与 editor context,走同一条已认证 loopback bridge。
这是什么¶
dsh-editor-link 是一个产品、两半实现:DSH 侧 host 插件(npm 包名 dsh-editor-link)与 VS Code 扩展(Marketplace 标识 ferrisching.dsh-link)。浏览器里的 DSH 与 VS Code 可同时在线;审批与提问在任一侧先答即生效,晚到的回答会被明确拒绝(错误码 -32002),不会静默成功。
许可证为 MIT;GitHub 仓库 ferrisching/dsh-editor-link 当前星标为 1。npm 包版本在 package.json 中为 0.1.1。
核心功能¶
下列能力均来自项目 README,按使用场景归纳。
审批与提问留在编辑器¶
- 工具调用需要权限时,VS Code 弹出原生通知,可选 Allow once / Reject,无需为审批单独切窗。
ask_user_question在侧栏以卡片展示:单选用点击,多选勾选后提交,也可输入自定义答案;不在侧栏外弹出 QuickPick。- Web UI 侧仍会出现对应卡片;两侧竞态,先答者获胜。
编辑器上下文与选区¶
ide_context工具可读当前活动文件、诊断信息(file:line:col)以及当前选区。- 命令
DSH Link: Send Selection to Composer将选区以path:lines加 fenced 代码块形式送入 DSH composer。 - 可说「@ 我正在看的文件」,由
ide_context提供上下文;或选中代码后执行上述命令只交片段。
跳转、侧栏与会话¶
- 状态栏项可打开智能体最近一次读写的文件及行号;Web UI 中文件工具卡片带
↗按钮,行为一致(host 路由POST /editor-link/open,体为{ filePath, line })。 - 活动栏 DSH 视图:实时 transcript、内联审批、可发送/引导/停止一轮的 composer。
- 会话按 DSH workspace 分组,并限定到当前 VS Code 文件夹;归档与空白会话隐藏,切换文件夹会重新限定列表。
- 侧栏可切换会话的 model、reasoning effort、permission preset;composer 在一轮结束后可预测下一条消息(输入取消、
Tab接受、↻重 roll、Esc关闭)。 - 可在 VS Code 内用已认证 URL 打开完整 DSH Web UI 标签页。
桥接机制(便于排查)¶
- Host 插件在回环地址监听端口 7410–7419,并写入发现文件
~/.dsh/editor-link/<pid>.json(权限 0600),内含端口与 token。 - 扩展读取发现文件,对每个 DSH 进程维持一条 JSON-RPC 2.0 连接,并处理
approval/request、user-questions/request。 - 浏览器半部通过
GET /editor-link/events(SSE)订阅事件(如composer.insert、editor/reveal),与扩展协同。
环境与依赖¶
| 组件 | 要求 |
|---|---|
| DSH | 已验证 0.2.0-rc.2、0.2.1-rc.1、0.2.1-rc.2 |
| VS Code | 1.85 及以上 |
| Node | 20 及以上(插件侧) |
安装与启用¶
安装分 DSH 插件与 VS Code 扩展两步;仅装 npm 包不会自动加载 profile bundle。
1. 安装 DSH 插件¶
GUI:打开 Plugins → Add plugin → 粘贴 dsh-editor-link → 安装。
CLI(资料原文命令):
dsh plugin --profile desktop add dsh-editor-link
说明:CLI 只安装包,不会注册 profile bundle;需手动把 dsh-editor-link 追加到 ~/.dsh/profiles/<profile>/package.json 的 dsh.profile.bundles。GUI 安装会替你完成注册。
2. 安装 VS Code 扩展¶
从 Marketplace 安装:
code --install-extension ferrisching.dsh-link
离线可从 Releases 下载 dsh-editor-link-extension-<version>.vsix,再执行:
code --install-extension <file>.vsix --force
重载 VS Code 窗口后,活动栏会出现 DSH 视图。
典型用法¶
README 给出的最短路径如下。
- 启动 DSH。桥接会自动连接;智能体第一次触及文件后,状态栏相关项会出现。
- 打开活动栏 DSH 视图。会话会加载「包含当前 VS Code 文件夹」的 DSH workspace。
- 在 composer 里提问。工具需要权限时,在 VS Code 通知里回答——Web UI 上对应卡片会同步消失。
- 需要文件上下文时提及当前打开的文件(经
ide_context);或选中代码运行 DSH Link: Send Selection to Composer。
常用命令:
| 命令 | 作用 |
|---|---|
DSH Link: Send Selection to Composer |
将选区推入 composer |
DSH Link: Open Last File Touched by the Agent |
跳转到智能体最近读写的文件 |
DSH Link: Open Active Session in Browser |
在系统浏览器打开当前会话的 DSH Web UI |
侧栏工具栏还提供 model、effort、permission 选择,以及 + 菜单(/goal、/plan、/feedback、/compact、/export 等)和发送/停止控制。
适用场景与注意¶
适合已经在用 DSH desktop profile、日常在 VS Code 写代码、又希望减少「浏览器批权限、手贴文件上下文」切换的开发者。
安全与成本(README Security and cost):桥接仅监听 loopback,每次请求需发现文件中的 token,DSH 重启后 token 会轮换;项目声明无遥测、无出站网络调用。使用前仍建议自行阅读源码与 MIT 许可证。
已知限制以仓库 README 的 Known limitations 为准;截断资料未完整收录该节,安装前可在 GitHub 阅读全文。
插件在 DSH 进程权限下运行;社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系,不宜当作官方应用商店。
结尾¶
dsh-editor-link 把 DSH 与 VS Code 收成一条本机认证通道:审批、提问、IDE 上下文、选区进 composer 与文件跳转,可在编辑器侧完成,并与 Web UI 保持同一套会话状态。