dsh-univer-office:DeepSeek Harness的Office套件

快乐小子新
快乐小子新 Lv.2 潜力创作者

Lv.2潜力创作者

此前,我曾【建议】呼吁 WPS 官方尽快开发 DeepSeek Harness插件,抢占 AI 办公生态先机。但现在不需要了,因为已经有了更好的选择。

一、项目简介

dsh-univer-office是dream-num团队开发并开源的一款DeepSeek Harness(简称 DSH)插件,为 DSH Agent 赋予创建、编辑、审核和交付电子表格、文档、演示文稿、轻量级数据库及画布的能力。该插件基于Univer办公套件构建,Univer 是一个前后端同构的全栈开源办公框架,采用Apache-2.0许可证,支持电子表格、文档和演示文稿的创建与编辑。

安装插件后,用户只需通过自然语言描述需求,Agent即可自动完成文档的创建、编辑与验证,最终交付标准的.xlsx、.docx、.pptx等格式文件。整个过程中,每一次变更都在隔离的工作树中执行,用户可实时预览、确认合并或随时丢弃。

二、功能概述

dsh-univer-office支持六种内容类型,覆盖日常办公的主要场景。

2.1 电子表格

支持单元格读写、公式计算、样式设置、数据排序与筛选、表格创建、图表生成、数据透视表、条件格式、迷你图、数据验证、浮动图片等功能。可导入 .xlsx、.csv、.tsv 格式文件,导出为 .xlsx、.csv、.tsv。

2.2 文档

支持段落排版、富文本编辑、有序与无序列表、任务列表、表格插入、图片嵌入、图表展示、页眉页脚设置、分页控制与页面布局调整。可导入 .docx 格式文件,导出为.docx。

2.3 演示文稿

支持从大纲一键生成幻灯片、页面内容编辑、文本与形状调整、图片与表格插入、图表嵌入、过渡动画设置,并内置布局检测功能,可自动检查文本是否超出边界、重叠或溢出。可导入 .pptx 格式文件,导出为 .pptx。

2.4 轻量级数据库

支持创建数据表、定义字段类型、录入记录、设置视图(含公式字段、筛选、排序、分组),以及基于 Sheet 的引用关系。

2.5 可编辑画布

支持创建形状、文本、连线、图片、原生图表与示意图,具备连线与布局分析能力。

2.6 复合文件

一个 .univer 文件可同时包含 Sheet、Doc、Slide、Base、Board 多种内容单元,各单元之间可通过公式与嵌入内容相互引用,实现跨类型数据的联动与整合。

内容类型

创建与编辑

验证与审查

导入格式

导出格式

Sheet

单元格、公式、样式、图表、透视表、筛选、验证、图片等

结构化范围检查、重算、实时预览

.xlsx .csv .tsv

.xlsx .csv .tsv

Doc

段落、富文本、列表、表格、图片、图表、页眉页脚、分页

文档回读、实时预览

.docx

.docx

Slide

页面、文本、形状、图片、表格、图表、SVG 布局、过渡动画

结构检查、文本边界/溢出/重叠检测、实时预览

.pptx

.pptx

Base

数据表、字段、记录、视图、公式、筛选、排序、分组

Facade 回读、实时预览

.xlsx .csv .tsv

.xlsx .csv .tsv

Board

形状、文本、连线、图片、原生图表、路径分析

元素与连线分析、实时预览

mermaid

.png .jpeg .pptx

三、安装与使用

3.1 环境要求

  • DeepSeek Harness已安装并成功运行

  • Node.js 版本 >= 22.19.0

  • 幻灯片布局检测功能需要本地 Chrome/Chromium 浏览器,可通过环境变量 UNIVER_RENDER_BROWSER 指定浏览器路径

3.2 安装步骤

第一步:停止 DSH 进程

若 DSH 正在运行,在终端中按 Ctrl+C 停止当前进程。安装命令可在 DSH 运行时执行,但当前 DSH 进程不会自动加载新插件。

第二步:执行安装命令

dsh plugin --profile web add dsh-univer-office

第三步:启动或重启 DSH

dsh web

第四步:刷新浏览器页面

DSH 启动成功后,在浏览器中按 Cmd+R(macOS)或 Ctrl+R(Windows)刷新页面,插件即可生效。

3.3 工作流程

dsh-univer-office 的工作流程遵循以下步骤:

  1. 用户下达自然语言请求

  1. Agent加载对应的 Univer 技能

  1. 在隔离的工作树中创建、导入或编辑文档

  1. 系统执行回读检查、重算和幻灯片布局检测

  1. 用户通过实时预览窗口审查结果

  1. 用户决定修订、合并或丢弃

3.4 使用示例

用户可通过自然语言描述需求,驱动Agent完成各类办公任务。以下是几个典型的使用示例。

示例一:创建工资表

创建一个包含员工姓名、基本工资、奖金、扣款、应发工资和实发工资的工资表,并自动计算合计。Agent将自动创建表格、写入数据、设置公式,并应用条件格式和图表。

示例二:生成教学幻灯片

生成一份六页的冒泡排序教学幻灯片,包含概念说明、每轮比较过程、伪代码和复杂度分析,并自动检查每页的布局问题,确保没有文本超出边界或重叠。

示例三:撰写项目报告

创建一份正式的周项目报告,包含执行摘要、本周进展、风险表、下周计划,设置页眉页脚,导出为 .docx格式文件。

3.5 其他常用命令

操作

命令

卸载插件

dsh plugin --profile web remove dsh-univer-office

查看已安装插件

dsh plugin list

四、技术原理

4.1 基于Univer的底层架构

dsh-univer-office的底层依赖Univer办公套件,Univer采用微内核加插件架构,其核心技术特性包括以下四个方面。

4.1.1 Canvas 渲染引擎

Univer使用自研的Canvas 2D渲染引擎,而非传统的 DOM 渲染方式。在百万级单元格数据场景下,滚动操作仍可保持50-60 FPS的流畅度,有效避免了 DOM 节点过多导致的性能瓶颈。渲染引擎采用分层渲染策略,将内容层、格式层和交互层分配到独立图层,各层独立更新,避免整体重绘。

4.1.2 公式引擎

Univer内置500余个函数,涵盖数学、统计、逻辑、文本、日期时间、查找引用、工程、金融等类别,兼容 Excel 函数语法,支持自定义函数、数组公式和命名范围。公式计算可运行于Web Worker中,避免阻塞主线程的UI操作。计算引擎采用增量计算策略,仅重新计算被修改单元格关联的公式,而非全表重算。

4.1.3 同构架构

同一套TypeScript代码可在浏览器和Node.js环境中运行,API 完全一致。这意味着企业可以在服务端批量生成报表,在前端让用户实时编辑,数据处理逻辑无需重复开发,大幅降低了全栈开发的复杂度。

4.1.4 OT 协同算法

支持多人实时协作编辑,采用操作转换(Operational Transformation)算法解决编辑冲突,支持200以上的并发用户,确保多人编辑的一致性和实时性。

4.2 插件工作机制

dsh-univer-office作为DSH的一个标准Bundle插件,其 Host 组件组合了四个核心消费者:

  1. Univer Service Provider:提供Univer实例的创建与生命周期管理

  1. Tools Consumer:向DSH Agent注册univer_* 系列工具

  1. webServer Consumer:启动内置的Gateway和Viewer服务

  1. Skill Provider:加载8个版本匹配的懒加载技能

插件向 DSH Agent 暴露的工具集包含以下 11 个工具:

工具名

用途

univer_new

创建空的 .univer 文件

univer_status

列出工作区中的 Units 和工作树

univer_worktree

创建、提交、重新打开、合并或丢弃工作树

univer_unit

创建或移除 Sheet、Doc、Slide、Base、Board 单元

univer_import

导入 Office 文件作为新单元

univer_inspect

读取文档结构或指定 Sheet 范围

univer_execute

使用 Univer Facade API 读写或修改内容

univer_export

导出 Sheet、Doc、Slide 或 Base 单元

univer_lint

检测幻灯片文本的越界、溢出和重叠问题

univer_compile_svg

将 SVG 编译为带真实字体度量的显式幻灯片页面

univer_api

搜索插件内置的 Univer Facade API

4.3 隔离工作树机制

每次Agent执行写入操作时,都会在一个独立的工作树(worktree)中进行,而非直接修改当前文件。完整的操作流程如下:

  1. 用户下达自然语言请求

  1. Agent 加载对应的Univer技能

  1. 在隔离的工作树中创建、导入或编辑文档

  1. 系统执行回读检查、重算和幻灯片布局检测

  1. 用户通过实时预览窗口审查结果

  1. 用户决定修订、合并或丢弃

只有合并和丢弃操作会结束一个工作树,且两者都需要用户明确请求并经过 DSH 确认。提交(submit)仅将工作树提交审查,不会改变主分支。

4.4 默认配置与端口

插件内置的 Gateway 默认监听 9080 端口(若被占用则依次递增),关键超时配置如下:

配置项

默认值

说明

gatewayPort

9080

Gateway 回环端口,被占用后自动递增

autoStartGateway

true

首次使用时自动启动 Gateway

gatewayStartupTimeoutMs

10000

Gateway 启动超时时间

gatewayRequestTimeoutMs

3000

状态读取超时时间

gatewayMutationTimeoutMs

60000

变更操作超时时间

unitContentOperationTimeoutMs

120000

导入、导出、检查、执行超时时间

4.5 代码示例:嵌入Univer表格

在自有项目中嵌入 Univer 表格功能:

import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'
import sheetsCoreEnUS from '@univerjs/preset-sheets-core/locales/en-US'
import '@univerjs/preset-sheets-core/lib/index.css'

const { univerAPI } = createUniver({
  locale: LocaleType.EN_US,
  locales: {
    [LocaleType.EN_US]: mergeLocales([sheetsCoreEnUS]),
  },
  presets: [
    UniverSheetsCorePreset({ container: 'app' }),
  ],
})

const workbook = univerAPI.createWorkbook(data)

五、结语

dsh-univer-office 为 DeepSeek Harness 注入了完整的 Office 文档处理能力,使 AI Agent 不再局限于文本对话,而是能够真正创建、编辑和交付办公文档。其基于 Univer 的底层架构提供了高性能的 Canvas 渲染引擎、500 余个内置函数的公式引擎、前后端同构的运行能力,以及插件化的扩展机制。隔离工作树机制则为用户提供了安全的审查与确认流程,每一次变更都可在预览后决定合并或丢弃。

对于希望将 AI 能力与办公自动化深度结合的开发者和团队而言,dsh-univer-office 是一个开源、可扩展、性能优异的工具选择。

广东省
浏览 103
收藏
6
分享
6 +1
+1
全部评论