中文EN

dsh-file-context-menu

ui已测通过npmMIT

在 DSH 对话区和侧边栏右键文件、文件夹、网页链接和工作区:引用、复制、预览、用默认或选择的应用/浏览器打开、定位或另存为。

下载量 / Downloads
2,280
依赖体积 / node_modules
0.07 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-file-context-menu

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

右键选项 · DSH 文件右键菜单

在 DeepSeek Harness(DSH)里右键文件、目录、网页链接和工作区,弹出统一的操作菜单。

![npm](https://www.npmjs.com/package/dsh-file-context-menu)

截图

文件菜单 · 工作区菜单 · 网页链接菜单

!文件右键菜单 · !工作区右键菜单 · !网页链接右键菜单

支持的右键位置

位置 · 右键对象 · 菜单

对话区 · 文件链接 / 交付卡片 / 行内代码路径 · 完整文件菜单

对话区 · 目录路径(如 证据库/全文/) · 目录菜单

对话区 · 无扩展名路径(如 工作底稿/说明) · 自动判断文件/目录

对话区 · http(s) 网页链接 · 链接菜单

对话区(自己发送的消息) · 纯文本 http(s) 链接 · 链接菜单

对话区(自己发送的消息) · 文件附件卡片 · 复制名称

对话区 · 任意文字 / 选中的文字 · 文字菜单

右侧 Sidebar「文件」树 · 文件夹 · 文件夹菜单

左侧工作区列表 · 工作区分组行 · 工作区菜单

菜单

文件

菜单项 · 作用

引用该文件 · 把 @路径 文件引用插入输入框

复制名称 · 复制文件名(含扩展名)

复制路径 · 复制绝对路径(解析不到时退回显示路径)

打开(内部) · 在右侧 Sidebar 预览文件

打开(默认应用) · 交给系统默认程序打开

选择应用打开… · Windows 系统「打开方式」;macOS 系统应用选择器;其他系统退回应用列表

打开所在文件夹 · 打开父文件夹并选中该文件

另存为… · 复制一份到自选位置(showSaveFilePicker,不可用时回退下载)

目录 / 文件夹

  • 复制名称
  • 复制路径
  • 打开文件夹

「打开文件夹」直接打开目录本身;「打开所在文件夹」是打开父目录并选中它。

网页链接

菜单项 · 作用

引用链接 · 把 URL 文本插入输入框

复制名称 · 复制链接文字(没有文字时用域名)

复制链接 · 复制 URL

打开(内部) · 在右侧 Sidebar 的浏览器页签中打开

打开(默认浏览器) · 用系统默认浏览器打开

选择浏览器打开… · 列出本机浏览器(Edge、Chrome、Firefox、Brave、Vivaldi)

左侧工作区

  • 复制名称(工作区标题)
  • 复制路径
  • 打开所在文件夹(在父目录中定位工作区文件夹)

文字

对话里的任意文字(或选中的一段文字):

  • 复制文字
  • 引用到对话框(以 Markdown 引用块 > ... 插入输入框)

安装

在 DSH 的插件页安装,或:

dsh plugin --profile desktop add dsh-file-context-menu

安装后完全退出并重新启动 DSH(客户端模块在启动时加载)。

更新:

dsh plugin --profile desktop add dsh-file-context-menu@latest

卸载:

dsh plugin --profile desktop remove dsh-file-context-menu

要求:DSH 0.2.1-rc.1 及以上(engines.dsh 已声明)。当前适配 DSH 0.2.1-rc.5。

识别范围

  • 文件链接(dsh-resource://file/...)、交付卡片(title 路径)、路径式 href
  • 对话里的行内代码路径(如 ` 工作底稿/设计.md `)
  • 约 230 种扩展名,含大写扩展名、UNC 路径、中文/全角符号、含空格文件名、@"带 空格.docx" 引用写法
  • 带路径分隔符的目录与无扩展名路径

不识别:普通正文里的路径、不带斜杠的裸目录名(写成 工作底稿/ 即可)、代码表达式。

工作原理

  • 客户端 client.js 捕获对话区、Sidebar 文件树和左侧工作区列表的 contextmenu
  • 路径解析复用 DSH 的 remote.session、remote.workspaceFiles 和 workspaces 服务
  • 宿主 index.js 提供四个本机路由:/file-actions/browsers、/file-actions/open-url、

/file-actions/kind、/file-actions/open-with

  • 文件引用通过 conversation.input.shell(sessionId).addFiles() 插入 @路径
  • 链接引用通过 shell.requestDraftInitialization() 插入 URL 文本

隐私

  • 插件不上传数据;「另存为」只通过本机会话路由读取文件。
  • 诊断上报默认关闭;只有主动执行

localStorage.setItem('dsh-file-context-menu.diag', '1') 后,才会把右键命中信息写入

本机内存的诊断接口(/file-actions/diag),不会发送到任何服务器。

已知限制

  • 链接的「打开(内部)」依赖 Sidebar Browser 页签;Web profile 默认禁用时会提示无法打开。
  • 链接引用插入的是 URL 文本(输入框 @ 引用只支持工作区文件)。
  • 「另存为」受 /api/file 的字节上限约束(当前约 10 MB)。
  • 相对路径无法解析出绝对路径时,只提供「打开(内部)」和「引用」。
  • Sidebar 文件树目前只接管文件夹行,文件行右键未接管。
  • 用户消息里的文件附件卡片只有文件名、没有真实路径,所以只提供「复制名称」。
  • 依赖 DSH 0.2.x 的客户端服务名(remote.session、remote.workspaceFiles、sidebarRight、

shell.overlay、workspaces);大版本升级后需复核。

反馈与更新

License

MIT

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:13,最后更新 2026-11-02

链接

GitHub · Homepage · npm

同类插件