Skip to main content
C

dsh-office

copylee711/dsh-office

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

Install

dsh plugin --profile web add github:copylee711/dsh-office

README

dsh-office

npm

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

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

功能

功能说明
在打开的文档里改文件正开着也能改(直接改文件的做法这时会因为文件被占用而失败);文件已经打开就直接接着用,不会再开一份
实时可见,可以一起改每一步修改即时出现在 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 的对话框
填模板报告模板常把正文放在大单元格里。这类表格会按段落展开给模型看,正文、公式、表格都写进单元格里面,而不是堆到文档末尾;新写的正文沿用旁边正文的字体、字号和行距
规范的图表题注插入表格或图片时给出题注,插件按规范排:自动编号(“表 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):

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、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、slide、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

设置

设置 → 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。
  • 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 时进程能正常退出。

开发

pnpm install
pnpm run typecheck
pnpm test
pnpm run build
node scripts/office-smoke.mjs        # 真实 Office:只操作脚本自己在临时目录里新建的文档
node scripts/office-smoke.mjs --wps  # 同样的步骤,在 WPS Office 里

许可证

MIT

Related plugins