← 返回列表
未验证
拖入本地文件,以绝对路径卡片传给 Agent
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/1 · 已提供中文文档
将本地文件拖入 deepseek Hermes,作为绝对路径附件卡片,而无需将其复制到工作区中
综合分
28.5
GitHub 分
28.5
用户评分
—
★ Stars
0
周下载量
—
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/WangZetian-IVERSON/dsh-local-path-attachments.git数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
DSH 本地路径附件
把资源管理器或 Finder 中的文件变成可移除的附件卡片,向 Agent 传递真实绝对路径,同时不上传、不复制文件内容。
快速开始
·
English
·
版本发布
·
反馈问题
一次拖入一个或多个文件,它们就会在 DSH 输入框上方变成简洁的附件卡片,显示文件名、完整路径和移除按钮。发送消息时,Agent 收到的是未经包装的原始路径:
C:\Users\you\Desktop\研究报告.pdf
源文件始终留在原目录。插件不会读取文件、上传文件,也不会在项目工作区创建副本。
为什么需要这个插件?
📎 原生风格附件卡片文件显示为可移除卡片,而不是把冗长的绝对路径直接堆在输入框里。
📍 真实绝对路径通过 Electron 安全获取磁盘真实路径,支持空格、中文名、UNC 路径及工作区外文件。
🛡️ 零复制设计草稿中只保存路径引用;文件字节留在原目录,并继续受到 DSH 沙箱策略约束。
功能
拖放与卡片管理
- 在 DSH Desktop 窗口任意位置拖入一个或多个文件。
- 卡片显示文件名、完整绝对路径及一键移除按钮。
- Windows 路径按不区分大小写方式去重。
- 支持空格、中文文件名、盘符路径、UNC 路径和 POSIX 路径。
- 每个草稿最多保留 50 张本地路径卡片。
可靠的输入状态生命周期
- 每张卡片都由原生 Composer 引用节点承载。
- 自动沿用正常发送、发送失败恢复、清空草稿和会话隔离行为。
- Client UI 重载后,可将草稿中的持久标记重新恢复为卡片。
- 发送时只输出原样绝对路径,不附加说明性前缀,也不转义包装。
与原有能力安全共存
- 以新增项注册到 conversation.input.dock,不会替换系统自带的图片附件 Slot。
- 只有检测到 DSH Desktop preload 桥接时才接管磁盘文件拖放。
- 普通浏览器无法安全获取绝对路径时,原有拖放逻辑完全不受影响。
快速开始
1. 下载
从 v0.1.1 发布页面下载可直接安装的 dsh-local-path-attachments-0.1.1.tgz。
2. 安装到 Desktop Profile
cd "$env:USERPROFILE\.dsh\profiles\desktop"
pnpm add "D:\path\to\dsh-local-path-attachments-0.1.1.tgz"
3. 启用 Bundle
在 Desktop Profile 的 package.json 中,把 dsh-local-path-attachments 追加到现有 dsh.profile.bundles 数组:
{
"dsh": {
"profile": {
"bundles": [
"dsh-local-path-attachments"
]
}
}
}
请保留原有所有 bundle,只追加这一项。安装后重启一次 DSH Desktop。
4. 使用
1. 打开一个 DSH 会话。
2. 从资源管理器或 Finder 把文件拖入 Desktop 窗口。
3. 检查或移除生成的附件卡片。
4. 发送消息,让 Agent 读取或处理对应路径的文件。
工作原理
flowchart LR
A[资源管理器 / Finder] -->|拖入 File 对象| B[Electron preload 桥接]
B -->|webUtils.getPathForFile| C[真实绝对路径]
C --> D[Composer 引用节点]
D --> E[可见附件卡片]
D -->|发送原样路径| F[Agent]
A -. 文件字节留在原目录 .-> A
隐藏的引用节点负责草稿和发送生命周期;可见卡片只是该引用在 Dock 中的 UI 投影。剪贴板安全标记让卡片能在 Client 重载后恢复,同时完全不保存文件内容。
兼容性
| 环境 | 状态 | 行为 |
| --- | --- | --- |
| Windows DSH Desktop | ✅ 已验证 | 已端到端测试绝对路径、多文件拖放、移除、草稿恢复及发送。 |
| macOS / Linux DSH Desktop | 🧪 路径已支持 | Codec 支持 POSIX 路径,但维护者尚未在这些平台完成真实设备验证。 |
| 纯浏览器 Web GUI | ➖ 主动降级 | 浏览器 File 不暴露绝对路径;插件不会拦截系统原有拖放行为。 |
权限与隐私
- 绝对路径会成为用户消息的一部分,其中可能包含用户名或敏感目录名称。
- 文件字节不会经过本插件。
- Agent 读取工作区外文件时,仍受当前 DSH 沙箱和审批策略限制。
- 路径卡片不能绕过操作系统权限或 DSH 安全边界。
- 源文件被移动或删除后,已有卡片不会自动更新。
开发与打包
git clone https://github.com/WangZetian-IVERSON/dsh-local-path-attachments.git
cd dsh-local-path-attachments
pnpm install
pnpm check
pnpm pack
pnpm check 会构建 Host/Client Bundle、完成全部 TypeScript 类型检查、运行 11 项单元及 jsdom 集成测试,并检查 DSH 懒加载模块包装和外部依赖。
| 层级 | 技术 |
| --- | --- |
| 插件组合 | Cordis / dsh.bundle.patch |
| Client UI | React 18 + DSH Slots |
| 输入集成 | DSH input-trigger 引用节点 |
| 桌面路径桥接 | Electron webUtils.getPathForFile |
| 语言与构建 | TypeScript 6 + tsdown |
| 测试 | Vitest + jsdom |
发布包校验
v0.1.1 安装包 SHA-256:
e41e542365470558a0d4fe30434727a007c70dd7cb2c967112bac44b9720c372
完整版本记录见 CHANGELOG.md。
参与贡献
欢迎提交可复现的错误报告、聚焦的功能建议、文档改进和 Pull Request。反馈时请附上 DSH Desktop 版本、操作系统、复现步骤以及相关 Client 诊断信息。
如果这个插件对你有帮助,也欢迎为仓库点一个 Star,让更多 DSH 用户发现它。
许可证
MIT © WangZetian-IVERSON扫码进群