@huiliyi37/dsh-office
面向 DeepSeek Harness(dsh)的 Office 文档工具插件:生成、读取、编辑电子表格(.xlsx)、PDF、演示文稿(.pptx)和 Word 文档(.docx)。
移植自 天枢 终端编程智能体的 office 插件(上游同为 Apache-2.0 许可),适配 dsh 的 cordis 工具模型。
工具列表
| 工具 | 功能 |
|---|---|
xlsx_read | 列出 .xlsx 工作表,或将指定工作表读取为 markdown 表格(大文件支持 range 分页;公式单元格保留公式文本) |
xlsx_write | 将二维数组写入新的 .xlsx(支持公式单元格、表头加粗、列宽、数字格式) |
xlsx_edit | 编辑已有 .xlsx:新增工作表、更新单元格(值或公式)、追加行 |
xlsx_recalc | 用轻量纯 TS 引擎重算全部公式,报告错误值(#REF!/#DIV/0!/#VALUE!/#N/A/#NAME?/#NUM!)及位置 |
xlsx_audit | 静态审计公式结构:数组公式陷阱、聚合范围漏行、公式被硬编码覆盖、同列公式不一致、自引用、字面除零 |
pdf_create | 生成真实 PDF:标题、段落、表格、列表、代码块、页脚页码;中文内容通过自动探测的系统字体渲染 |
pdf_read | 提取 PDF 文本供上下文阅读 |
pdf_merge | 按给定顺序将多个 PDF 合并为一个 |
pdf_split | 将 PDF 拆分为单页文件,或按 "1,3,5-7" 抽取指定页 |
pptx_create | 按幻灯片定义生成 .pptx(标题 / 章节 / 内容 / 双栏 / 图片 / 表格 / 图表),支持主题配色与演讲者备注 |
pptx_read | 将幻灯片文本提取为 markdown,可选包含演讲者备注;include 可附加结构(summary/layouts/images/tables:形状名与 cm 坐标、图片目标、表格行列) |
pptx_edit | 在现有 .pptx 内查找替换文本(<a:t> 手术式替换),保留全部版式与样式,适合改错字、更新数字 |
docx_create | 按内容块生成 .docx(标题 / 段落 / 表格 / 列表 / 代码块),支持条纹表格、页面背景色、对角文字水印 |
docx_read | 提取 .docx 文本供上下文阅读 |
安装与装载
> 兼容性:要求 dsh ≥ 0.1.0-rc.5(即 @deepseek-ai/dsh-tools ≥ 0.1.0-rc.5)。安装在 dsh-tools 为 0.0.1 系列的旧核心上会重复安装一份 dsh-tools,导致所有工具调用崩溃(Cannot read properties of undefined (reading 'prepare'))。
全量装载(14 个工具)
dsh plugin --profile <名称> add @huiliyi37/dsh-office
dsh --profile <名称>首次执行 dsh plugin 会初始化 profile(@deepseek-ai/dsh-base 作为首个 bundle)并把本包追加到 profile 的 bundles 列表。之后启动该 profile 即自动注册全部工具。
按需装载(只装需要的工具族)
在 profile 的 cordis.patch.yml 中传入 config 行按族开关。未列出的族保持启用;设为 false 即排除(适合控制工具面大小):
# cordis.patch.yml
- insert:
- id: dsh-office
name: '@huiliyi37/dsh-office'
config:
enable:
xlsx: false # 不用电子表格工具
pdf: true # 保留 PDF 工具
ppt: false # 不用演示文稿
docx: true # 保留 Word 工具工具族:xlsx(read/write/edit/recalc/audit)、pdf(create/read/merge/split)、ppt(create/read/edit)、docx(create/read)。
卸载
dsh plugin --profile <名称> remove @huiliyi37/dsh-office手动安装备选
把包装到 Node 可解析的位置,并在自己的 cordis.patch.yml 中引用(同样支持 config.enable 开关):
npm install @huiliyi37/dsh-office# cordis.patch.yml
- insert:
- id: dsh-office
name: '@huiliyi37/dsh-office'使用示例
// xlsx_write — 创建工作簿
{ "file_path": "report.xlsx", "data": [["Name", "Score"], ["Alice", 92]], "header_bold": true }
// pdf_create — 带标题、表格和列表的文档
{
"destination_path": "doc.pdf",
"title": "Quarterly Report",
"content": [
{ "type": "heading", "text": "Summary" },
{ "type": "table", "headers": ["Region", "Revenue"], "rows": [["APAC", "120"]] },
{ "type": "list", "items": ["Alpha", "Beta"] }
],
"page_numbers": true
}
// pptx_create — 标题页 + 要点页的演示文稿
{
"destination_path": "deck.pptx",
"slides": [
{ "type": "title", "title": "Roadmap 2026" },
{ "type": "content", "title": "Highlights", "items": ["Plugin runtime", "Office tools"] }
]
}Skill(使用指导)
本包附带使用指导 skill(skills/SKILL.md,anthropics 兼容格式),教会模型大文件分页读取与生成纪律。安装到 skill 发现根目录:
mkdir -p ~/.dsh/skills && cp -r node_modules/@huiliyi37/dsh-office/skills/dsh-office ~/.dsh/skills/开发
npm install
npm run build # tsc → lib/
npm test # vitest:经工具执行路径的往返测试许可
Apache License 2.0。工具逻辑移植自天枢 office 插件(同为 Apache-2.0 许可,版权归 Tianshu contributors);各文件头保留来源说明。