为 DeepSeek Harness DSH 提供本地 Word、PDF、演示文稿与电子表格能力,支持 / 菜单、引用…
39/100
综合分
5
GitHub 星标
3,681
npm 周下载
—/5
用户评分
数据截至 2026/10/23 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-office-kitnpm 源 · dsh-office-kit 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-office-kit @ 0.4.6
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 09:41:53
🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0🔴 扫描:高危尚无人工评估
静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。
安装时即执行脚本可执行外部命令读写/删除本地文件
查看扫描证据(共 44 处,展示前 31 条)
- 读取本地文件dist/index.js:65
return existsSync(unpacked) ? unpacked : path; - 读取本地文件dist/index.js:79
if (override != null && existsSync(override)) return override; - 读取本地文件dist/index.js:84
if (existsSync(cli)) return outsideAsar(cli); - 读取本地文件dist/index.js:175
return statSync(path).isFile(); - 执行外部命令来自配置/变量dist/index.js:182
execFile(file, args, { - 读取本地文件dist/index.js:272
const parsed = JSON.parse(readFileSync(file, "utf8")); - 读取本地文件dist/index.js:287
const parsed = JSON.parse(readFileSync(file, "utf8")); - 写入本地文件dist/index.js:307
mkdirSync(dirname(configFile), { recursive: true }); - 写入本地文件dist/index.js:308
writeFileSync(temporary, `${JSON.stringify({ - 写入本地文件dist/index.js:312
renameSync(temporary, configFile); - 执行外部命令来自配置/变量dist/index.js:434
execFile(process.execPath, [POSTINSTALL_SCRIPT], { - 执行外部命令来自配置/变量postinstall.mjs:66
const result = spawnSync(command, ['--version'], { stdio: 'ignore', shell: false }) - 执行外部命令来自配置/变量postinstall.mjs:72
const result = spawnSync(executable, [...prefixArgs, '-c', script], { encoding: 'utf8', timeout: 20000 }) - 执行外部命令固定命令postinstall.mjs:94
const result = spawnSync('py', ['-0p'], { encoding: 'utf8', timeout: 30000 }) - 读取本地文件postinstall.mjs:133
if (!candidate.executable || (candidate.args.length === 0 && !existsSync(candidate.executable) && !commandExists(candidate.executable))) { - 读取本地文件postinstall.mjs:144
if (existsSync(venvPython)) { - 读取本地文件postinstall.mjs:157
if (!existsSync(python)) { - 执行外部命令固定命令postinstall.mjs:171
const result = spawnSync('powershell', ['-NoProfile', '-NonInteractive', '-ExecutionPolicy', 'Bypass', '-Command', script], { - 读取本地文件postinstall.mjs:176
if (result.status !== 0 || !existsSync(target)) { - 执行外部命令固定命令postinstall.mjs:188
const result = spawnSync('powershell', ['-NoProfile', '-NonInteractive', '-ExecutionPolicy', 'Bypass', '-Command', script], { - 执行外部命令来自配置/变量postinstall.mjs:226
const result = spawnSync(installer, installerArguments(), { stdio: 'inherit', timeout: 15 * 60 * 1000 }) - 删除本地文件postinstall.mjs:227
rmSync(installer, { force: true }) - 读取本地文件postinstall.mjs:244
if (existsSync(target) || !existsSync(interpreter)) { - 写入本地文件postinstall.mjs:248
mkdirSync(dirname(target), { recursive: true }) - 写入本地文件postinstall.mjs:249
renameSync(legacy, target) - 读取本地文件postinstall.mjs:272
if (existsSync(VENV_DIR)) { - 删除本地文件递归postinstall.mjs:274
rmSync(VENV_DIR, { recursive: true, force: true }) - 写入本地文件postinstall.mjs:276
mkdirSync(dirname(VENV_DIR), { recursive: true }) - 写入本地文件postinstall.mjs:335
mkdirSync(dirname(CONFIG_FILE), { recursive: true }) - 写入本地文件postinstall.mjs:336
writeFileSync(CONFIG_FILE, `${JSON.stringify(config, null, 2)}\n`, 'utf8') - 删除本地文件postinstall.mjs:354
rmSync(file, { force: true })
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cordis-plugin-group@deepseek-ai/cordis-plugin-include@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-default-model@deepseek-ai/dsh-agent-loop@deepseek-ai/dsh-agent-preset@deepseek-ai/dsh-agent-preset-registry@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-api-workspace-controller给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
处理 Office 文档、PDF、演示文稿和电子表格,供 DeepSeek Harness 使用
最近更新
在 GitHub 查看全部 →v0.4.62026-10-22
· 🐞 缺陷修复
· 幂等重建内部导航 - @bxwl5 (4816d)
· 用 ELECTRON_RUN_AS_NODE 运行记录下来的 kit 节点 - @YunYouJun 和 Claude Opus 5.5 (008df)
· 列出 ReportLab 实际能加载的 macOS CJK 字体 - @YunYouJun 和 Claude Opus 5.5 (5e65d)
· harness 从 app.asar 运行时记录解包后的 kit 路径 - @YunYouJun 和 Claude Opus 5.5 (a6ad0)
· 在 GitHub 上查看变更
v0.4.52026-10-21
· 🐞 缺陷修复
· 绘制中日韩印章和表单,不再报告潜在的模板字体问题 - 由 @hairyf 提交 (9e8ec)
· 在 GitHub 上查看变更
v0.4.42026-10-21
· 🐞 缺陷修复
· 修正 SKILL.md 中的描述格式 - @hairyf (4ccb3)
· 修复完整性检查中发现的 office 技能缺陷 - @hairyf (474c2)
· 在 GitHub 上查看变更
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成DSH Office Kit
[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![bundle][bundle-src]][bundle-href]
[![JSDocs][jsdocs-src]][jsdocs-href]
[![License][license-src]][license-href]
为 DeepSeek Harness (DSH) 提供本地 Word、PDF、演示文稿与电子表格能力,支持 / 菜单、引用 Chip,以及侧边栏预览中的选区标注与修改请求。
📦 安装
在官方插件中安装 dsh-office-kit
或使用命令行安装
dsh plugin add dsh-office-kit
- 在 设置 → 插件 中启用。
- 需要 DSH ≥ 0.2.1-rc.2、Python(无需,没有将自动安装)3.10–3.13。
- Windows 缺少兼容 Python 时自动安装;macOS / Linux 使用现有 Python。
特性
- 📝 Word:/documents 创建、读取和编辑 DOCX,支持表格、图片、公式与页眉页脚。
展开完整文档(README 剩余 1 节)
DSH Office Kit
[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![bundle][bundle-src]][bundle-href]
[![JSDocs][jsdocs-src]][jsdocs-href]
[![License][license-src]][license-href]
为 DeepSeek Harness (DSH) 提供本地 Word、PDF、演示文稿与电子表格能力,支持 / 菜单、引用 Chip,以及侧边栏预览中的选区标注与修改请求。
📦 安装
在官方插件中安装 dsh-office-kit
或使用命令行安装
dsh plugin add dsh-office-kit
- 在 设置 → 插件 中启用。
- 需要 DSH ≥ 0.2.1-rc.2、Python(无需,没有将自动安装)3.10–3.13。
- Windows 缺少兼容 Python 时自动安装;macOS / Linux 使用现有 Python。
特性
- 📝 Word:/documents 创建、读取和编辑 DOCX,支持表格、图片、公式与页眉页脚。
- 📄 PDF:/pdf 创建、读取和编辑 PDF,支持合并、旋转、删页与元数据。
- 📽️ 演示文稿:/presentations 创建、读取和编辑 PPTX,支持项目符号、表格、图表与图片。
- 📊 电子表格:/spreadsheets 创建、读取和编辑 XLSX,支持公式、样式、图表、冻结窗格与重算。
- 🖍️ 侧边栏标注:在 PDF、DOC/DOCX、PPTX、XLSX 预览中吸附段落或框选区域,批量提交修改要求。
- 🔗 会话引用:通过 Chip 调用文档技能;注释链接可悬停查看文件名与要求,PDF 标注附选区截图。
- 🖼️ 渲染校验:DOCX/PPTX/XLSX 经 DeepSeek Harness 自带的 LibreOffice Kit(Windows/macOS 原生引擎,Linux 走 WASM)栅格化,PDF 直接用 PyMuPDF;缺失字体会在报告里点名,不再静默产出豆腐块。SVG/PDF 素材可用 ensure_raster_image.py 转成 PNG 后嵌入。
- 🧮 活体表格:excel-live-control 技能通过 COM 驱动已经打开的 Excel / WPS 表格(读区、写值、样式、图表、重算、保存)。
🚀 快速开始
通过菜单处理文档
1. 在输入框键入 /,选择 文档、PDF 文档、演示文稿 或 电子表格。
2. 回车插入 Chip,描述创建、读取或修改任务。
3. 打开生成的文件,在侧边栏预览结果。
在预览中请求修改
1. 打开 PDF 或 DOC/DOCX,点击工具栏的 请求修改。
2. 悬停吸附段落,点击或拖动框选,输入要求并添加注释。
3. 悬停底部 注释数量 查看列表,点击 发送;取消 清空本批。
- Esc:先取消当前选区,再按一次退出标注模式。
- 附件:PDF 附选区截图;DOC/DOCX 仅发送文字与定位信息。
- 草稿:已有输入时先合入草稿,由你确认发送;暂存注释刷新后不保留。
💡 示例文档
- Word
- PDF
- 演示文稿
- 电子表格
- 来源与许可
📚 配置与限制
- Python:DSH_OFFICE_PYTHON 可指定解释器。
- 标注范围:仅 PDF、DOC/DOCX;扫描 PDF 可框选截图,不提供 OCR。
- 本地文件:不支持 Google Docs / Slides / Sheets 或远程编辑。
- 完整清单:能力与未支持项。
🛠️ 开发与贡献
pnpm install
pnpm run lint --fix
pnpm run typecheck
pnpm run test -- --run
pnpm run build
📜️ 许可证
- MIT
- 示例文档保留 Apache Tika 的许可与声明。
[npm-version-src]: https://img.shields.io/npm/v/dsh-office-kit?style=flat&colorA=080f12&colorB=1fa669
[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![bundle][bundle-src]][bundle-href]
[![License][license-src]][license-href]
[![JSDocs][jsdocs-src]][jsdocs-href]
dsh-office-kit
一套 Office 工具,供 dsh 智能体使用。支持读写 Word、Excel、PowerPoint 和 PDF 文件,无需安装 Office。
功能
- Word(.docx):读取文本、表格和样式;生成新文档;替换内容。
- Excel(.xlsx):读取工作表、单元格和公式;写入单元格;导出 CSV。
- PowerPoint(.pptx):读取幻灯片和备注;按模板生成演示文稿。
- PDF:提取文本和元数据;合并、拆分页面。
安装
npm install dsh-office-kit
用法
import { readDocx, writeXlsx, readPdf } from 'dsh-office-kit'
const doc = await readDocx('./report.docx')
console.log(doc.paragraphs)
await writeXlsx('./data.xlsx', [
{ name: 'Alice', score: 92 },
{ name: 'Bob', score: 85 },
])
const pdf = await readPdf('./manual.pdf')
console.log(pdf.text)
API
| 函数 | 说明 |
| readDocx(path) | 读取 .docx 文件,返回段落、表格和样式 |
| writeDocx(path, content) | 生成 .docx 文件 |
| readXlsx(path) | 读取 .xlsx 文件,返回工作表和单元格 |
| writeXlsx(path, rows) | 把数据写入 .xlsx 文件 |
| readPptx(path) | 读取 .pptx 文件,返回幻灯片和备注 |
| readPdf(path) | 提取 PDF 文本和元数据 |
| mergePdf(paths, output) | 合并多个 PDF 文件 |
配置
| 选项 | 类型 | 默认值 | 说明 |
| strict | boolean | false | 遇到不支持的格式时抛出错误 |
| maxFileSize | number | 52428800 | 单个文件大小上限,单位字节 |
| encoding | string | 'utf-8' | 文本编码 |
在 dsh 中使用
把插件注册到智能体,就能让智能体直接操作 Office 文件:
import { definePlugin } from 'dsh'
import officeKit from 'dsh-office-kit'
export default definePlugin({
name: 'office-kit',
setup(ctx) {
ctx.tools.register(officeKit.tools)
},
})
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
hairyf/dsh-office-kit
为 DeepSeek Harness DSH 提供本地 Word、PDF、演示文稿与电子表格能力,支持 / 菜单、引用…
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,025未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,358已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13938 个插件含 PR 收录与…
★ 350已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目