dsh-open-with

by ChuanTianML

通知与集成github 检测到 manifest dsh.plugin.json 社区精选 收录于 08-16

从 Web UI 使用检测到或配置的本机编辑器、终端或文件管理器打开已登记 Workspace,并在浏览器中记住首选项。

Open registered workspaces from the Web UI in a detected or configured local editor, terminal, or file manager, with a remembered per-browser preference.

安装

dsh plugin --profile web add github:ChuanTianML/dsh-open-with

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

从 DeepSeek Harness Web 界面用本机编辑器打开已经登记的 Workspace。Workspace 的 … 菜单可以直接启动首选编辑器;检测到多个启动目标时,还会提供编辑器选择菜单。

English | 中文

演示

为 DeepSeek Harness Workspace 选择本机编辑器

把鼠标移到 Workspace,打开 … 菜单,点击首选编辑器右侧的箭头,然后选择任一已检测目标。上面的录制使用真实 Harness Web 界面,并实际用 Cursor 打开了这个仓库。

功能

  • Host 会检测已安装的 VS Code、Cursor、Windsurf、Zed、常见 JetBrains IDE、系统终端和文件管理器;管理员配置可以新增启动目标,也可以覆盖内置项。
  • 主菜单行使用 Host 默认值或当前浏览器记住的编辑器打开 Workspace。点击右侧箭头可以选择其他编辑器;选中的编辑器会启动并成为当前浏览器的首选项。
  • 配置过但找不到的编辑器会保留为禁用菜单项,并显示修复提示;未安装的自动检测候选不会占用菜单。
  • 客户端在 Host 声明 sidebar.workspaces.row-menu 时使用原生插槽;客户端尚未提供该插槽时,使用受限兼容适配器。
  • 编辑器进程启动后与 DSH Web 服务器分离,可以独立存活。

自动检测目标

平台 自动检测的目标
macOS VS Code、Cursor、Windsurf、Zed、IntelliJ IDEA、WebStorm、PyCharm、终端、Finder
Windows VS Code、Cursor、Windsurf、Zed、IntelliJ IDEA、WebStorm、PyCharm、Windows Terminal、文件资源管理器
Linux VS Code、Cursor、Windsurf、Zed、IntelliJ IDEA、WebStorm、PyCharm、x-terminal-emulator、xdg-open

所有平台都会查询 PATH;macOS 和 Windows 还会检查各内置配置中列出的标准应用目录。Host 插件加载时完成检测;安装新编辑器或修改配置后需要重启 DSH。

前置条件

  • 至少存在一个可用的内置编辑器或已配置的编辑器可执行文件。
  • DSH 0.1.0-rc.5 或更高版本。较新的运行时可以提供原生 Workspace 行菜单插槽;较早的兼容客户端使用受限适配器。

安装

把插件加入 Web profile:

dsh plugin --profile web add https://github.com/ChuanTianML/dsh-open-with/archive/refs/tags/v0.1.1.tar.gz

使用 SIGTERM 重启 Web 服务器,等待它退出后刷新页面。切勿使用 kill -9,否则可能中断 Session zstd 写入。使用以下命令确认安装版本:

dsh plugin --profile web list dsh-open-with --depth 0

配置

所有部署选项都是经过校验的 Cordis 配置字段:

键 默认值 含义
autoDetect true 加入当前平台上可用的内置编辑器。
editors [] 新增或覆盖内置项的白名单 { id, label, command, args } 编辑器配置。
defaultEditor vscode 当前浏览器尚未保存选择时使用的首选编辑器 id。

示例:

- id: dsh-open-with
  name: dsh-open-with
  config:
    defaultEditor: cursor
    editors:
      - id: fleet
        label: Fleet
        command: fleet
        args: []

编辑器 id 只能包含小写字母、数字、点、下划线和连字符。重复的自定义 id、空名称和非法 id 会导致插件加载失败。自定义配置与内置项使用相同 id 时会覆盖该内置启动方案,例如可以把 vscode 指向 VS Code Insiders,同时命令仍不会发送到浏览器。

能力边界

浏览器只能获得编辑器 id、名称、可用状态和修复提示,命令和参数不会经过线协议。打开请求只携带 Workspace id 和编辑器 id;Host 通过 ctx.workspaceRegistry 解析 Workspace,并通过已经校验的编辑器白名单解析命令,然后才会启动进程。

插件只能打开仍然存在目录的已登记 Workspace。它不会读取、写入、克隆、同步或上传 Workspace 文件,也不注册模型工具、技能、提示词或模型可见事件。启动操作来自用户在 Workspace 菜单中的明确点击,因此不需要 Agent 审批。

首选编辑器保存在当前浏览器中。不同浏览器可以选择不同的默认值,而不改变 Host 配置。

只有 Host 接受启动后才会更新首选项。启动失败不会改变原选择,并会通过浏览器临时提示明确告知用户。在兼容客户端中,键盘导航会临时显示原本只有悬浮时可见的 Workspace 操作按钮。

开发

仓库使用相邻的 ../dsh DeepSeek Harness 源码作为开发期链接依赖。

pnpm install
pnpm run check

pnpm run check 会执行类型检查、lint、测试和生产构建。file profile 安装不会自动构建包,因此需要提交 lib/。

src/contract.ts 中的严格 Typert 描述符由 Host manifest 和客户端 Remote 贡献共用。Host 编辑器注册表负责可执行文件发现和命令隐私,Workspace 注册表负责从 id 解析路径。行菜单插槽声明由 Harness 持有;该声明进入公开客户端包之前,插件使用一个窄类型适配器。

交互约定、安全边界、兼容方案和验证策略详见 DESIGN.md。

License

MIT

原始 README: https://github.com/ChuanTianML/dsh-open-with/blob/main/README.zh.md ↗

同类插件

查看全部 →
通知与集成alvinunreal

dsh

将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。

查看详情
1081github+08-21
通知与集成tencent-connect

dsh-qqbot

让 QQ Bot 接入 DeepSeek Harness(dsh)的官方插件

查看详情
55github+08-17
通知与集成omdsh-dev

dsh-open-in-vscode

从 Web GUI 一键在 VS Code 中打开工作区目录。

查看详情
39github+08-13
通知与集成omdsh-dev

dsh-notification

回合完成桌面通知,按结果分控 + 关键词过滤。

查看详情
38github+08-13
通知与集成THEWOLFWALKER

dsh-notifier

DSH 统一通知推送与远程控制:一个 `notify()` API 打通 25+ 渠道(Telegram / 钉钉 / 飞书 / 企业微信 / QQ 机器人 / WxPusher / PushPlus / Server 酱 / Bark / Discord / Slack / ntfy / webhook 等),timeSensitive / active / passive 分级路由并重试;五通道反向审批(Telegram 按钮 / 飞书卡片 / QQ / WxPusher / 微信 iLink);QQ/钉钉/飞书官方扫码登录;本地 Web 管理台;多 agent 路由;系统桌面通知——以及**手机指挥中心**:在手机上发 `!status` / `!stop` / `!retry` 遥控 agent,通知带可操作按钮(查看结果 / 重试 / 日志,点击回调 agent)。密钥脱敏、工具限流、零运行时依赖。

查看详情
27github+08-16
通知与集成wzj998

chatccc

飞书(Lark)或微信(WeChat)聊天控制 DeepSeek Harness / Claude Code / Cursor / Codex / CCC Agent

查看详情
22github+08-23