# @copylee/dsh-office 中文文档

规范地址：https://npmcn.com/package/%40copylee/dsh-office/

版本：1\.2\.0
npm 元数据更新时间：2026-10-23T12:42:29.441Z
中文译文更新时间：2026-11-10T18:39:20.004Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40copylee/dsh-office
原文对照：https://npmcn.com/package/%40copylee/dsh-office/?lang=original
项目主页：https://github.com/copylee711/dsh-office#readme
源码仓库：https://github.com/copylee711/dsh-office

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.3 MB，17 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：^22\.19\.0 \|\| \>=24\.0\.0
- 运行依赖：0 个
- peer 依赖：react \>=18\.2\.0 \<19，@deepseek-ai/cordis \>=4\.0\.0 \<5，@deepseek-ai/schemastery \>=3\.18\.0 \<4
- 首次发布：2026-10-04T11:35:50.209Z
- 最新版本发布：2026-10-23T12:42:29.082Z
- 近 30 天下载量：6445（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：44（近 12 个月 44 个）

## 中文简介

DeepSeek Harness Office 插件（Windows）：AI 直接在你打开的 Word / Excel / PowerPoint 里改文档，改动实时出现在窗口中，你可以同时编辑；读结构、批量编辑、渲染成图核对、保存。

## 安装

```sh
npm install @copylee/dsh-office
```

也可以使用：`pnpm add @copylee/dsh-office`、`yarn add @copylee/dsh-office`、`bun add @copylee/dsh-office`

## README

# dsh-office

[![Awesome DSH Plugin](https://awesome-dsh-plugin.com/badge.svg)](https://awesome-dsh-plugin.com/) [![npm](https://img.shields.io/npm/v/@copylee/dsh-office)](https://www.npmjs.com/package/@copylee/dsh-office)

让 DeepSeek Harness 直接在你电脑上打开的 Word、Excel、PowerPoint 里改文档。AI 不改写文件，而是通过 Office 的自动化接口（COM）让应用自己执行修改，所以改动会实时出现在窗口里，你可以边看边一起编辑，格式不会因为换工具保存而走样。

仅支持 Windows，需要本机装有微软 Office 或 WPS Office。

![AI 在 Word 窗口里写一份通知：标题、导语、表格逐步出现](https://npmcn.com/package/%40copylee/dsh-office/assets/demo-word.gif)

上图是一次真实操作的录屏（只录了 Word 窗口）：AI 按要求写出标题、导语和表格，随后检查排版并修正。下图是对话里的交付结果，以及设置页。

| 对话与交付的文件 | 设置页 |
| --- | --- |
| ![对话：AI 说明文档结构并交付 读书会通知.docx](https://npmcn.com/package/%40copylee/dsh-office/assets/chat.png) | ![设置 → Office：应用状态、办公套件、行为开关](https://npmcn.com/package/%40copylee/dsh-office/assets/settings.png) |

## 功能

| 功能 | 说明 |
| --- | --- |
| 在打开的文档里改 | 文件正开着也能改（直接改文件的做法这时会因为文件被占用而失败）；文件已经打开就直接接着用，不会再开一份 |
| 实时可见，可以一起改 | 每一步修改即时出现在 Word / Excel / PowerPoint 窗口里。你可以同时在里面打字、调格式，AI 每次动手前读到的都是文档当下的样子 |
| 不需要窗口在前台 | 修改不靠鼠标键盘，Office 窗口被挡住或在后台也照常进行，你可以同时用电脑做别的事 |
| 静默模式 | 在设置里开启后，AI 在后台完成工作：不弹出 Word、Excel、PowerPoint 的窗口，不显示迷你卡片，文字一次写入。Word 和 Excel 用一个单独的、不可见的实例（不碰你正开着的窗口），PowerPoint 以无窗口方式打开文稿；渲染检查照常进行。回合结束时，后台打开的文档自动保存并关闭，后台实例随之退出。你自己已经打开着的文档仍在原处修改，只是不滚动、不弹卡片。Excel 的纯数据处理此时允许 AI 借助 Python（在工作簿未打开时），图表与格式仍由 Excel 自己完成；Word 和 PowerPoint 始终由 Office 排版。确需操作窗口时，AI 可以用 `office_open {show: true}` 把文档调出来。后台文档打开期间你在资源管理器里双击同一个文件：Word 和 Excel 会提示文件正在使用（可以只读打开，不影响 AI 的工作）；PowerPoint 只有一个进程，文稿会直接显示出来，AI 继续写，回合结束时保存但不再替你关闭 |
| 跟随与静默 | 默认“跟随”：AI 改到哪里，窗口自动滚动到哪里（Word 滚到那一段，Excel 滚到那片单元格，PowerPoint 切到那一页），不动你的光标和选区。关闭即静默执行，不动你的视图 |
| 逐字写入 | 文字分小段写出，像打字一样出现，表格逐行填入，而不是整块贴上去。每段约多花 0.3 秒，可关闭 |
| 迷你卡片 | AI 每次动手修改文档时，屏幕右下角出现一张小卡片：正在改哪个文档、改到第几项，带“查看”“快速”两个开关（“快速”亮起时文字一次写入，熄灭时逐字写入），点一下立即生效（正在进行的这一批也跟着变）。点“查看”会把文档窗口带到前台并跟随修改位置，按钮变成“查看中”；你切到别的窗口后它自动熄灭，再点一次回来。可拖动，不抢焦点；AI 读取、检查、保存期间卡片也留着，这一轮回答结束时消失 |
| 原生公式 | AI 在文字里用 `$...$`（行内）和 `$$...$$`（单独一行）写 LaTeX，由 Word 自己的 LaTeX 解析器读成原生公式，所以常规 LaTeX 写法都能用（`\mathfrak`、`\bigoplus`、矩阵、分段函数等），不需要逐个符号适配；Word 不认识的写法退回插件自带的转换，仍失败的保留原文并在结果里提示。单独一行的公式末尾加 `\tag{1}` 即在右侧对齐编号。Word 的正文、表格单元格、题注、查找替换内容，以及 PowerPoint 的标题、正文、文本框里都可以写 |
| 引用与参考文献 | 正文里写 `\cite{1}`、`\cite{2,5}`、`\cite{3-6}`，变成上标 \[1\]、\[2,5\]、\[3-6\]；`insert_references` 生成参考文献列表。引用是 Word 的交叉引用域，按住 Ctrl 点击跳到对应文献 |
| 原生脚注 | Word / WPS 文字中插入、读取、编辑、删除真正的页底脚注，编号随增删自动重排，支持连续、每节或每页重编号。正文可内联写 `[fn:完整引注]` 或 `\footnote{完整引注}`；脚注支持加粗、局部斜体、字体字号和 `$...$` 原生公式，与 `\cite{}` 文末参考文献共存 |
| 样式与版式 | 直接修改样式本身（标题用什么字体字号、是否自动编号，正文的字体、行距、首行缩进），所有用到它的段落一起变；设置纸张和页边距、页码、页眉、目录（保存时自动刷新）、某段另起一页。这些都不需要再去点 Word 的对话框 |
| 填模板 | 报告模板常把正文放在大单元格里。这类表格会按段落展开给模型看，正文、公式、表格都写进单元格里面，而不是堆到文档末尾；新写的正文沿用旁边正文的字体、字号和行距 |
| 规范的图表题注 | 插入表格或图片时给出题注，插件按规范排：自动编号（“表 1”“图 1”，是 Word 题注域，增删后自动重排）、居中、表题在上、图题在下；图表前后留出段间距，图片居中 |
| 不被自带技能带偏 | DSH 桌面版自带的 Office 技能会让模型写脚本生成文件，这样你看不到过程，文件开着时还会写入失败。插件在模型第一次加载这些技能时把它引回来，确有需要（批量转换、应用打不开的文件）再次请求即放行 |
| 交付前整体视觉检查 | 保存时如果 AI 改完之后还没看过成品，保存结果会自动附上整份文档的总览图让它过一遍，有问题先修再保存。总览图把各页（或各张幻灯片）带页码拼在一张图里，一张最多 6 页，最多 18 页；模型也可以随时主动调出总览，再放大某一页细看 |
| 不拆词、不重复编号 | 插件写入的段落、表格、题注一律按整词换行（有些模板的样式带着“允许西文在单词中间换行”，会把 37000 拆成 37 和 000）；标题文字自带编号而样式又自动编号时，去掉自动的那个 |
| 提醒纯文本公式 | 正文里出现 d\_k、10^18 这类没写成公式的下标和幂时，结果里会提醒模型改用公式 |
| 三线表与表格格式 | `insert_table` 的 `borders` 可选 `grid`（全框线）、`three-line`（论文三线表：上下粗线、表头下细线）、`none`；`format_table` 修改已有表格的框线、字号、行高、是否保持在同一页 |
| 图片尺寸 | `set_image` 调整已有图片的宽高（磅或 `"12cm"`）；插图所在段落不受固定行距裁切。插入的图（Word 与 PowerPoint，支持 PNG、JPG、SVG 矢量图）如果被缩到远小于绘制时的尺寸，结果里会告诉 AI 图中文字实际只有几磅，让它按版面重画 |
| 消除图表前的留白 | `fill_gaps`：图或表在上一页放不下而整块移到下一页时，上一页底部会空出一截；这条指令像排版软件那样把图表后面的正文段落提到图表前面，把空白填上（不会让正文越过标题） |
| 图表与正文连续写 | `insert_paragraphs` 的条目里可以直接放图片或表格，按顺序落在前后段落之间，不必再数段落号 |
| 成型版式的幻灯片 | PowerPoint 里 AI 不再自己摆文本框：先选一套主题（ink、paper、ocean、forest、graphite 五套浅色，night、chalk、plum 三套深色，可改单个颜色和字体），再用一条 `slide` 指令生成一整页——封面、目录、章节页、要点、卡片、数据、图表（柱状、条形、折线，由形状绘制）、表格、公式卡片、时间线、流程、对比、满版配图、引言、结束页。版面、配色、字号、页码、切换和入场动画由插件按主题排好；标题里的 `**词**` 以强调色加粗，`$...$` 是公式，卡片可带线性图标。要点页配图时按图的形状排版：宽图横跨整页、要点排在图下，其他图放在文字旁边；图表、示意图用“配图页”时整张完整显示。整份演示文稿通常一两次调用完成 |
| 更多版式与自由画布 | 定理 / 定义页（陈述卡片 + 证明思路）、图组页（2–6 张图带题注）、总结页（大号编号的要点）、对开页（半页满版图）、封面与结束页的满版样式；图表页新增由形状绘制的散点图（可带最小二乘拟合线、方程和 R²）、函数曲线图、饼图和圆环图；表格单元格里的公式是真正的公式。没有合适版式时用“画布”：AI 在 960×540 的画布上自己摆放文字、卡片、色块、箭头、图片、公式、数据、图表，颜色和字体仍跟随主题；摆好的页可以用 `reuse_slide` 复用 |
| 章节页样式、代码页与框图 | 章节页有四种样式（整页色底、左侧色块配编号、横向色带、淡色大编号），一份演示文稿统一用一种，未指定时随机取一种，不同文稿不再千篇一律。新增代码页（深色面板、行号、关键字和注释着色）。画布上的方框可以起名并用连接线相连（直线、折线、曲线，带箭头，自动找最近的边），用来画网络结构、流程管线这类框图。曲线图在线的末端直接标名称（相近的自动错开），可加参考线和标注 |
| 主题与背景 | 新增三套主题：sepia（旧纸张底、暗红配金、衬线标题，适合历史与人文）、crimson（暖白底、红配金，适合党政与纪念）、slate（冷灰底带细网格，适合工程技术）。背景不再只有纯色：旧纸张（颗粒与暗角）、渐变、网格、圆点，或把一张图片淡淡地铺在每一页后面 |
| 图片裁切 | 照片铺满版位时，竖长的图保留上部（人像的头部所在），可用 `focus` 指定保留哪一部分，图组里可用 `fit: "contain"` 完整显示；被裁掉较多的图会在结果里点名，提醒 AI 去看。图组页遇到竖图（人物肖像）排成一行竖格，最后一行不满时居中 |
| 幻灯片图示与表格 | PowerPoint 里可以直接生成原生 SmartArt（流程、循环、层次结构、组织结构图、棱锥、维恩图等 20 种常用版式，条目可带下级）、原生表格、常用形状和连线，正文可写多级要点 |
| 操作说明按需提供 | 每次请求只带一段简短说明；某个应用的全部操作清单在 AI 第一次打开或读取该应用的文档时随结果给出一次，之后可用 `office_help` 再取。用不到的应用不占上下文 |
| 表格跨页 | 表头行在下一页重复，单行不被拆到两页，表题不会单独留在页尾 |
| Excel 数据处理 | 长表格不必逐行读：`office_read` 对超过 60 行的表自动给出每一列的概况（数值、文本、日期、空白各多少，最小值、中位数、最大值，各取值及次数，以及值得注意的地方：多余空格、写成文本的数字和日期、类型混杂、离群值、空行、重复行）。清洗：`clean`（去空格、删指定字样、统一大小写、取值改名、把“¥1,299”“89元”“10%”读成数字、把“2025/3/1”“20250301”“3月1日”读成日期）、`replace`、`fill_blanks`、`remove_duplicates`、按条件 `delete_rows`、`sort`、`filter`、`copy_range`（保留原表、在副本上清洗）。每一步都报告改了多少格、删了哪些行 |
| Excel 分析与图表 | `add_column` / `fill_formula` 把一个公式填满一列并报告出错的单元格；`pivot` 建数据透视表（行、列、值、筛选，日期按月、季、年分组，结果直接返回）；`add_chart` 支持柱状、条形、堆积、折线、饼图、圆环、散点、面积、雷达和组合图（次坐标轴），可设标题、坐标轴标题、数据标签、图例，结果里给出图表占用的单元格并提示与其他图表重叠；`set_chart`、`delete_chart`；`table`、`conditional_format`、`freeze`、`validation`。`office_render` 可以看带图表的区域，也可以单独看一张图表 |
| 批量编辑 | `office_edit` 一次调用按顺序执行一批修改（写一整篇文档、填一张表加公式加图表、做几页幻灯片），中途某一项失败就停下并报告已完成哪些 |
| 改错位置的防护 | Word 按“段落编号 + 这段开头的文字”定位。你刚改过导致编号对不上时，这一步会被拒绝并要求重新读取；改写和删除段落必须带开头文字 |
| Word 一次撤销 | AI 的一批修改在 Word 里是一个撤销步骤，按一次 Ctrl+Z 整批撤回 |
| 读结构 | Word：带编号的段落、标题级别、表格；Excel：工作表、单元格的值和公式；PowerPoint：每页的形状（名称、类型、位置、文字） |
| 看排版 | `office_render` 把 Word 的一页、PowerPoint 的一页或 Excel 的一个区域渲染成图片给模型核对，不依赖截图，窗口在后台也能出图 |
| 写错参数会被指出 | 操作里出现它不认识的字段时，结果里会点名哪个字段被忽略，而不是悄悄不生效 |
| 零安装依赖 | 首次使用时用 Windows 自带的 .NET Framework `csc.exe` 编译一个小 helper（约 1 秒，之后缓存），不需要 Python、LibreOffice 或 node-gyp |

## 安装

DSH 桌面版：**插件 → 添加插件**，输入 `@copylee/dsh-office`，安装后启用。

命令行（web 等其他 profile）：

```bash
dsh plugin --profile web add @copylee/dsh-office@latest
```

要求：Windows 10 / 11（自带 .NET Framework 4.8），微软 Office（Word、Excel、PowerPoint，装了哪个就能用哪个）或 WPS Office（文字、表格、演示），DSH 0.2.0-rc.2 或更高。

## 使用

直接说要做什么，例如：

-   用 Word 写一份季度工作总结，保存到桌面
-   打开 D:\\数据\\销售.xlsx，加一列金额并在最后一行求和，再画一个柱状图
-   把我现在开着的 PPT 第 3 页的标题改短一点，正文改成三条要点

AI 干活的同时你可以直接在窗口里改。你正在单元格里输入、或者开着对话框时，Office 不接受外部修改，AI 会等几秒再试。

AI 只有在调用保存时才写入文件，不会替你关闭文档。

## Agent 工具

| 工具 | 作用 |
| --- | --- |
| `office_open` | 在 Word / Excel / PowerPoint 里打开文件；路径不存在则新建；已打开则直接使用 |
| `office_status` | 列出三个应用里现在打开了什么、哪些有未保存的修改 |
| `office_read` | 把打开的文档读成文本（段落 / 单元格 / 形状） |
| `office_edit` | 按顺序执行一批修改，不保存 |
| `office_render` | 把一页 / 一张幻灯片 / 一个单元格区域渲染成图片；Word 和 PowerPoint 一次最多看 4 页，或用总览把全部页面拼成一张图 |
| `office_save` | 保存；给出路径时另存为，扩展名为 `.pdf` 时导出 PDF；改完没看过成品时附带各页图片 |
| `office_close` | 关闭 AI 自己打开或新建的文档；你原本开着的文档会被拒绝，有未保存修改时必须明确说保存还是丢弃 |
| `office_help` | 列出某个应用（Word / Excel / PowerPoint）下 `office_edit` 的全部操作和字段 |

`office_edit` 支持的操作：

-   Word：`insert_diagram`（流程图、结构图：用 Word 自己的形状画在文档里，节点按行列摆放，连线自动走直角，画完仍可逐个编辑）、`insert_paragraphs`、`set_text`、`replace_text`、`format_text`、`delete_range`、`insert_table`、`set_cell`、`insert_image`、`set_image`、`format_table`、`insert_references`、`insert_footnote`、`edit_footnote`、`delete_footnote`、`footnote_settings`、`style_format`、`page_setup`、`page_numbers`、`header`、`page_break`、`insert_toc`、`update_fields`
-   Excel：`write_range`（值或公式）、`format_range`、`autofit`、`insert_rows`、`delete_rows`、`add_sheet`、`rename_sheet`、`delete_sheet`、`add_chart`
-   PowerPoint：`theme`（配色之外还可定卡片、圆角、项目符号的样式，以及 LaTeX Beamer 风格的外框）、`slide`（成品版式；其中 `grid` 由 AI 按行列自由组合图表、数字、表格、步骤、引语等部件，不用给坐标）、`add_slide`、`set_text`、`format_text`、`add_textbox`、`add_image`、`add_smartart`、`add_table`、`add_shape`、`set_shape`、`delete_shape`、`delete_slide`、`move_slide`、`duplicate_slide`、`set_layout`、`set_background`、`set_notes`

## 原生脚注

法学、历史等使用脚注体例的文稿，可以直接要求 AI 使用原生脚注、每条写完整出处。它与 `\cite{}` 加文末参考文献是两种不同功能。

```json
{"op":"insert_paragraphs","items":[{"text":"有关这一观点的论证[fn:张三：《示例论文》，《示例期刊》2026年第1期，第12—15页。]，还可比较其他资料\\footnote{Author. Full citation, 2026, pp. 20–23.}。"}]}
```

修改已有文稿，先 `office_read {"footnotes":true,"full":true}` 读取全部脚注；新增时用 `insert_footnote {para, expect, find?, occurrence?, where?, text}`，不传 `find` 插在段末，传入时默认位于第一次匹配文字之后。编辑、删除用 `edit_footnote` / `delete_footnote`，必填 `footnote`（读取结果的集合序号）和 `expect`（脚注原文开头）。`edit_footnote` 可以更新 `text` 及格式；局部格式用 `format_text {footnote, expect, find, italic: true}` 等。

正文中的 `[footnote:7]` 表示脚注集合第 7 条；每页或每节重编号时，页面显示的编号可能是 1，不能用它代替集合序号。增删后重新读取再操作。读取结果同时给出正文段落、段内位置、页与节；非常规编号样式无法可靠表示时，显示编号标为不可用，不会拿集合序号冒充。

`footnote_settings {numbering: "continuous" | "section" | "page", section?}` 调整全篇或指定节的编号规则。普通插入保留文档原有规则和样式。脚注中可以写 `**加粗**` 和 `$E=mc^2$`；内联语法支持配对花括号/方括号及转义分隔符，不支持脚注嵌套，未闭合或空脚注会被拒绝。给脚注起始符加一个反斜杠可保留字面文本。

含已有脚注的段落禁止整段 `set_text`，请用不跨过脚注引用标记的局部 `replace_text`；明确删除正文范围的 `delete_range` 会连同其中的脚注一起删除，并报告数量。

## 设置

设置 → Office。每项改动自动保存。

| 设置 | 默认 | 说明 |
| --- | --- | --- |
| 办公套件 | 自动 | 新打开的文件用哪个软件：自动（装了微软 Office 就用它，否则用 WPS）、微软 Office、WPS Office。已经打开着的文档始终在它所在的软件里修改 |
| 跟随 AI 的修改位置 | 开 | 窗口自动滚动到 AI 正在修改的位置；关闭为静默执行 |
| 逐字写入 | 开 | 文字像打字一样逐步出现；关闭后写得最快 |
| 静默模式 | 关 | 在后台完成，不弹窗口、不显示卡片、一次写入；回合结束时自动保存并关闭后台打开的文档。开启后“跟随”“逐字写入”“迷你卡片”不再起作用 |
| 迷你卡片 | 开 | AI 修改文档期间在右下角显示带“查看”“快速”开关的小卡片。在卡片上切换过的开关（包括你离开文档窗口后自动熄灭的“查看”），到 DSH 重启前以卡片为准 |
| 交付前整体视觉检查 | 开 | 保存时自动把整份文档的总览图交给 AI 检查；会多用一些 token |
| 优先在真实 Office 里操作 | 开 | DSH 桌面版自带 office-docx / office-xlsx / office-pptx 技能，用脚本生成文件。开启后，AI 第一次想加载这些技能时会被引回本插件（对应的 Office 应用已安装时才拦）；它再次请求时放行 |
| 打开文档时显示到前台 | 开 | 关闭后文档仍会打开，只是不抢当前窗口 |
| 核对排版的图片宽度 | 1100 像素 | `office_render` 给模型的图片宽度；越大越清晰，也越费 token |

设置页还会显示三个应用是否安装、是否在运行、打开了哪些文档。

## 限制

-   Excel 和 PowerPoint 里 AI 的修改无法用 Ctrl+Z 撤回（Excel 的外部修改不进撤销栈，并且会清空已有的撤销记录）。只有 Word 支持整批撤销。
-   你正在单元格里输入、或 Office 开着模态对话框时，修改会被 Office 拒绝；插件等待约 5 秒后报告“应用忙”。
-   Excel 区域的图片是通过剪贴板取得的，渲染时剪贴板里的文字会被保留，图片、文件等其他内容会丢失。
-   公式由插件自己启动的一份不可见的 Word 解析，不动你正在用的 Word。它只在一批修改期间存在（启动约 1 秒），这一批结束就关闭；万一插件中途被强行结束而留下了它，下次插件启动时会清掉。Excel 里还不能写原生公式。
-   PowerPoint 的公式经剪贴板放入幻灯片。做法与电脑控制插件一致：先把剪贴板上的全部内容存起来，每写完一段文字立刻放回，且不进剪贴板历史；这期间你自己复制了新内容的话，以你的为准，不会被覆盖。Word 复制公式的那一下仍会出现在 Win+V 历史里。
-   PowerPoint 的表格单元格和 SmartArt 节点里放不了排好版的公式，公式在那里写成带上下标的文字。
-   引用按编号书写，插入或删除文献后不会自动重新编号。
-   兼容模式（Word 97–2003 格式）的文档里不能建立原生公式。
-   WPS 文字里的公式是原生公式（由插件把 LaTeX 转成公式格式后插入），带编号的公式其编号跟在公式后面而不是靠右；WPS 演示不接受公式（不能建立，也不能粘贴），那里的公式由 WPS 文字排好后以矢量图片叠在文字上：颜色和字号与所在文字一致，放大不糊，但不能编辑，也不能转回文字；移动或改写带公式的文本框后需要重写其文本以重新摆放。幻灯片里公式多的话，推荐用 PowerPoint。WPS 文字里窗口不会跟随滚动到修改位置；资源管理器里双击后台文档时的行为没有像微软 Office 那样专门处理。其余操作与微软 Office 相同。
-   没有打开 Office 时处理文件、批量转换格式不在本插件范围内。

## 数据与隐私

插件只在本机运行，不联网。它读写的是你让 AI 处理的文档；`office_render` 生成的图片作为附件保存在会话历史里，和 DSH 的其他图片附件一样。

## 工作原理

宿主侧是一个 Cordis 插件，注册上面六个工具。它启动一个常驻的小程序（`helper/OfficeHelper.cs`，C# 5，运行时由系统自带的 `csc.exe` 编译，按源码哈希缓存在 `%LOCALAPPDATA%\dsh-office\`），通过标准输入输出逐行交换 JSON。helper 用 COM 附着到正在运行的 Office 应用（没有运行则启动并显示出来），按后期绑定调用它们的对象模型。每条命令结束后 helper 释放全部 COM 引用，这样你关掉 Office 时进程能正常退出。

## 开发

```bash
pnpm install
pnpm run typecheck
pnpm test
pnpm run build
node scripts/office-smoke.mjs        # 真实 Office：只操作脚本自己在临时目录里新建的文档
node scripts/office-smoke.mjs --wps  # 同样的步骤，在 WPS Office 里
node scripts/footnotes-smoke.mjs       # 原生脚注、公式、保存重开及跨页/跨节编号验收
node scripts/footnotes-smoke.mjs --wps # WPS 文字独立验收
```

## 许可证

MIT

## 常见问题

### @copylee/dsh-office 是什么？

DeepSeek Harness Office 插件（Windows）：AI 直接在你打开的 Word / Excel / PowerPoint 里改文档，改动实时出现在窗口中，你可以同时编辑；读结构、批量编辑、渲染成图核对、保存。

### 如何安装 @copylee/dsh-office？

在项目目录运行 npm install @copylee/dsh-office，或使用 pnpm add / yarn add / bun add。

### @copylee/dsh-office 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @copylee/dsh-office 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @copylee/dsh-office 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js ^22\.19\.0 \|\| \>=24\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @copylee/dsh-office 可以商用吗？

@copylee/dsh-office 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @copylee/dsh-office 的下载量有多少？

根据 npm 官方下载统计，@copylee/dsh-office 在 2026/10/11 – 2026/11/09 这 30 天内被下载 6,445 次，日均约 215 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @copylee/dsh-office 还在维护吗？

最新版本 1\.2\.0 发布于 2026/10/23（18 天前）；至今共发布 44 个版本，其中过去 12 个月发布了 44 个；首次发布于 2026/10/04。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

