🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话文件附件 xzyonline/dsh-chat-files

DeepSeek Harness
xzyonline79 天前有提交已提供中文文档扫描:含敏感能力

拖入文件让模型按会话授权读取并自动脱敏

27.8/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xzyonline/dsh-chat-files
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/26·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 79 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 30 处,展示前 28 条)
  • 读取本地文件
    src/archive.ts:18
    if (existsSync('/usr/bin/tar')) return '/usr/bin/tar'
  • 读取本地文件
    src/archive.ts:110
    bytes = await readFile(path)
  • 执行外部命令来自配置/变量
    src/archive.ts:172
    const child = spawn(file, [...args], { shell: false, detached: true })
  • 读取本地文件
    src/detect.ts:132
    const info = await stat(path)
  • 读取本地文件
    src/detect.ts:134
    return await readFile(path)
  • 读取本地文件
    src/detect.ts:436
    const fileInfo = await stat(path)
  • 读取本地文件
    src/detect.ts:624
    const stream = createReadStream(path, { start: 0, end: HEAD_BYTES - 1, signal })
  • 读取本地文件
    src/parsers/legacy-office.ts:75
    const bytes = await readFile(path)
  • 读取本地文件
    src/parsers/legacy-office.ts:171
    const bytes = await readFile(path)
  • 读取本地文件
    src/parsers/ooxml.ts:16
    const bytes = await readFile(path)
  • 读取本地文件
    src/parsers/pdf.ts:13
    const data = await readFile(path)
  • 读取本地文件
    src/parsers/text.ts:20
    const fileInfo = await stat(path)
  • 写入本地文件
    src/store.ts:55
    await mkdir(join(this.root, 'blobs', 'sha256', sha256.slice(0, 2)), { recursive: true, mode: 0o700 })
  • 读取本地文件
    src/store.ts:57
    await stat(blobPath)
  • 删除本地文件
    src/store.ts:58
    await rm(tempPath, { force: true })
  • 写入本地文件
    src/store.ts:60
    await rename(tempPath, blobPath)
  • 删除本地文件
    src/store.ts:80
    await rm(tempPath, { force: true })
  • 读取本地文件
    src/store.ts:89
    raw = await readFile(join(this.root, 'refs', `${id}.json`), 'utf8')
  • 读取本地文件
    src/store.ts:113
    await stat(path)
  • 删除本地文件
    src/store.ts:124
    await rm(join(this.root, 'refs', `${id}.json`), { force: true })
  • 读取本地文件
    src/store.ts:132
    index = JSON.parse(await readFile(this.batchPath(sessionId, batchId), 'utf8')) as BatchIndex
  • 读取本地文件
    src/store.ts:148
    entries = await readdir(join(this.root, 'refs'))
  • 读取本地文件
    src/store.ts:165
    entries = await readdir(join(this.root, 'refs'))
  • 写入本地文件
    src/store.ts:192
    mkdir(join(this.root, 'blobs', 'sha256'), { recursive: true, mode: 0o700 }),
  • 写入本地文件
    src/store.ts:193
    mkdir(join(this.root, 'refs'), { recursive: true, mode: 0o700 }),
  • 写入本地文件
    src/store.ts:194
    mkdir(join(this.root, 'batches'), { recursive: true, mode: 0o700 }),
  • 写入本地文件
    src/store.ts:195
    mkdir(join(this.root, 'tmp'), { recursive: true, mode: 0o700 }),
  • 删除本地文件
    src/store.ts:215
    await rm(temp, { force: true })
扫描于 2026/11/5(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-session-query@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 拖入粘贴选择文件
  • 会话授权受限读取
  • 自动脱敏

DeepSeek Harness 会话文件附件插件:把文件拖入、粘贴或选进对话,智能体通过会话授权的工具受限读取。支持 GB18030/GBK 中文编码、敏感信息脱敏、压缩炸弹防护。一键安装。

README

由 DeepSeek 最新模型翻译生成
dsh-chat-files DeepSeek Harness 会话文件附件插件。文件拖入、粘贴或选择进对话后,模型在下一步经会话授权的受限工具读取。支持 PDF、Office 文档、压缩包与纯文本;含 GB18030/GBK 中文编码、敏感信息自动脱敏与压缩炸弹防护。macOS 与 Windows 一键安装。 English · 中文 CI License: MIT Release 功能 | 能力 | 摘要 | | 文件接入 | 窗口任意位置拖入、粘贴、或「添加文件」按钮 | | 自动告知 | 每次步骤前向模型公告尚未告知的文件及其类型 | | 类型卡片 | 输入框卡片按检测类别显示图标与颜色 | | 送达回执 | 用户气泡下 Agent received → Agent reading… → Agent read | | 读取器 | PDF、DOCX、XLSX、PPTX、旧版 .doc/.xls、RTF、ODF、EPUB、ZIP/7z/RAR、HTML/XML/SVG、Markdown、纯文本 | | 模型工具 | attachment_info / read_attachment / list_archive,有界分页 | | 脱敏 | 凭据键、PEM 块、YAML 标量在到达模型前逐行脱敏 | 文件接入 将文件拖到窗口任意位置、粘贴、或使用「添加文件」按钮。
展开完整文档(README 剩余 1 节)
dsh-chat-files

DeepSeek Harness 会话文件附件插件。文件拖入、粘贴或选择进对话后,模型在下一步经会话授权的受限工具读取。支持 PDF、Office 文档、压缩包与纯文本;含 GB18030/GBK 中文编码、敏感信息自动脱敏与压缩炸弹防护。macOS 与 Windows 一键安装。

English · 中文

CI
License: MIT
Release

功能

| 能力 | 摘要 |
| 文件接入 | 窗口任意位置拖入、粘贴、或「添加文件」按钮 |
| 自动告知 | 每次步骤前向模型公告尚未告知的文件及其类型 |
| 类型卡片 | 输入框卡片按检测类别显示图标与颜色 |
| 送达回执 | 用户气泡下 Agent received → Agent reading… → Agent read |
| 读取器 | PDF、DOCX、XLSX、PPTX、旧版 .doc/.xls、RTF、ODF、EPUB、ZIP/7z/RAR、HTML/XML/SVG、Markdown、纯文本 |
| 模型工具 | attachment_info / read_attachment / list_archive,有界分页 |
| 脱敏 | 凭据键、PEM 块、YAML 标量在到达模型前逐行脱敏 |

文件接入

将文件拖到窗口任意位置、粘贴、或使用「添加文件」按钮。位图图片继续走 DSH 原生图片通道,其余文件进入本插件;「释放以附加」浮层替代原生「仅支持图片」拦截提示。

自动告知

消息线缆不携带可见的文件标记,纯文本模型可能忽略上传。每次进入步骤前,插件以 plugin 来源追加一行公告,列出所有尚未告知的文件及其检测类型,模型据此调用 attachment_info → read_attachment / list_archive,并把文件内容与用户的话结合。公告经官方 agent/pre-step 瀑布注入(请求推导前的串行链),由官方 UI 渲染为注入行。

类型卡片

输入框卡片按检测类别(文本 / 文档 / 表格 / 演示 / 压缩包 / …)显示不同图标与颜色。

送达回执

用户气泡下方一行状态如实报告事件:Agent received → Agent reading… → Agent read;最终阶段仅在模型真正调用读取工具后出现。

读取器

文本/配置/源码、Markdown、HTML/XML/SVG(识别为文本读取)、PDF、DOCX、XLSX(sheet 级与 A1 区域读取)、PPTX、旧版 .doc/.xls、RTF、ODF、EPUB,以及 ZIP/7z/RAR/EPUB 列表与单条目安全提取(支持中文条目名)。

模型工具

attachment_info、read_attachment、list_archive — 分页/区域/游标/段落有界读取,压缩包先列目录后提取。

脱敏

凭据键、私钥 PEM 块、YAML 块标量在字节进入模型前逐行脱敏(aws_secret_access_key、apiKey、set-cookie 均覆盖;public_key、monkey 不误伤)。

架构

输入框 拖入 / 粘贴 / 按钮(客户端) │ 全窗口接管,仅普通文件——图片保持原生通道 ▼ POST /api/dsh-file-attachments/v1/files (Origin + 会话存在性校验,失败即拒) ▼ 内容寻址存储(sha256 blob,原子 rename 发布,不可变) ├─ 类型检测(魔数 + ZIP 元数据,worker 隔离) ├─ refs + 批次索引(持久元数据,路径注入校验) └─ 读取路径:会话归属校验 → worker 有界解析 → 脱敏 ▼ 模型侧视图: ├─ agent/pre-step 公告行(plugin 来源,带类型标记) └─ attachment_info / read_attachment / list_archive 工具

安装

一键安装

macOS / Linux(仓库根目录)
node scripts/install.mjs
或双击 install.command(Windows:install.bat)

安装器构建 host 与 client 产物,将包符号链接进共享 profile 目录($DSH_HOME/profiles/node_modules,web、CLI、headless 各 profile 均可解析),并向 $DSH_HOME/cordis.patch.yml 追加一行(先写备份)。安装幂等,可安全重跑。卸载:node scripts/install.mjs --uninstall,或 uninstall.bat / uninstall.command。

预构建包:从 Releases 下载 dsh-file-attachments-.zip,对照 SHA256SUMS.txt 校验后解压双击安装器。无需 git、构建步骤或包管理器。

Windows 用户:完整教程见 docs/WINDOWS-INSTALL.zh.md(前置条件、install.ps1、手动步骤、macOS 对照表、FAQ)。要求 Node.js ≥ 20、PowerShell 5.1+;压缩包能力依赖系统自带 tar.exe(Windows 10 1803+,bsdtar)或 Git for Windows;依赖经 npm 或 pnpm 安装。

按端部署

| 端 | 步骤 | 效果 |
| Web(dsh web) | 运行安装器 → 重启 dsh web → 硬刷新(Cmd+Shift+R / Ctrl+Shift+R) | 添加文件按钮、全窗口拖入、类型卡片、送达回执、自动告知 |
| CLI / headless | 无需额外操作——host 半经共享 profile 挂载 | attachment_info / read_attachment / list_archive 工具;API 上传的附件可读,公告在相同官方事件上触发 |

配置:存储根默认 $DSH_HOME/file-attachments;可在 cordis.patch.yml 插件行的 config.root 覆盖。

安全模型

- 会话归属 — 每次读取校验 ownerSessionId 与会话存续(sessionQuery.readSession,失败即拒,10 s TTL 缓存)。
- 来源校验 — 上传要求可信 Origin(完全一致,或同端口回环等价 127.0.0.1/localhost/[::1]);跨站读取与删除被拒,无 Origin 的本地客户端放行。
- 解析隔离 — 每次解析在 worker 线程运行,maxOldGenerationSizeMb: 512 内存上限 + 硬超时终止挂死解析器(word-extractor/xlsx 无法以其他方式中止)。
- 压缩包安全 — 路径归一化与白名单;提取仅写 stdout(无 zip-slip 面);列表时跳过恶意条目、提取时拒绝;解压输出上限 256 MB。

引用

- DeepSeek Harness
- Node.js · pnpm
- PowerShell · libarchive bsdtar
- pdfjs-dist · fflate · file-type

安全策略:SECURITY.md。第三方声明:THIRD_PARTY_NOTICES.md。
预览分享卡片长什么样 ↓xzyonline/dsh-chat-files
分享 · DeepSeek Harness Hub
xzyonline/dsh-chat-files

拖入文件让模型按会话授权读取并自动脱敏

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部