cd /news/ai-tools/a-modular-office-plugin-for-deepseek… · home topics ai-tools article
[ARTICLE · art-105770] src=github.com ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

A modular office plugin for DeepSeek Harness

DeepSeek Harness (DSH) has released dsh-univer-office, a modular office plugin that enables the AI agent to create, edit, inspect, and deliver spreadsheets, documents, presentations, databases, and canvases. The plugin supports natural-language requests, live preview and approval of changes, and exports to standard formats such as .xlsx, .docx, and .pptx. It also allows importing and editing existing Office files, with all changes made in isolated worktrees for safe review and merging.

read9 min views7 publishedAug 21, 2026
A modular office plugin for DeepSeek Harness
Image: Michielbdejong (auto-discovered)

Give DeepSeek Harness the ability to create, edit, inspect, and deliver spreadsheets, documents, presentations, databases, and canvases.

English · 简体中文

dsh-univer-office

is the Univer office plugin for DeepSeek Harness (DSH). Tell the agent what you need and it can create or edit spreadsheets, documents, presentations, multidimensional tables, and canvases, or work with existing Excel, Word, and PowerPoint files. Every change is verified and stays in the conversation for you to preview, approve, or discard.

After installation, describe the result you want in natural language. The agent handles creation, editing, and verification while you follow the work live and review the result in the conversation. Deliver spreadsheets as Excel (.xlsx

), documents as Word (.docx

), and presentations as PowerPoint (.pptx

) files when needed.

The agent created this spreadsheet from a natural-language request, then added conditional formatting and a chart in the same conversation. The result can be previewed, revised, merged into the current version, or discarded in place.

Deliver a standard Excel file:after review, ask the agent to export the spreadsheet as.xlsx

so it can be opened and edited in Excel, WPS Office, and other compatible office applications.

See the complete workflow from request to review #

Give the agent a topic, audience, page count, content outline, and visual direction. It can build the complete presentation, verify content and layout page by page, and leave the result in the conversation for review.

Deliver a standard PowerPoint file:after review, ask the agent to export the presentation as.pptx

so it can be presented and edited in PowerPoint, WPS Office, and other compatible office applications.

See the presentation workflow from request to finished deck #

Analyze and build spreadsheets— read or create Excel data, clean fields, write formulas, apply formatting and validation, create tables, charts, pivots, filters, sparklines, conditional formatting, and images, then export the result as.xlsx

,.csv

, or.tsv

.Write and lay out documents— create paragraphs, rich text, lists, tasks, tables, images, charts, headers, footers, pagination, and page layouts.** Create and revise presentations**— generate a deck from an outline, redesign selected pages, edit text, shapes, images, tables, charts, and transitions, then detect off-page, overflowing, and overlapping text.Build lightweight databases— create Base tables, fields, records, and views with formula fields, filters, sorting, grouping, and Sheet-backed references.Draw editable canvases— create shapes, text, connectors, images, native charts, and diagrams, with connector and layout analysis.** Compose several content types**— one.univer

file can contain Sheet, Doc, Slide, Base, and Board Units. Formulas and embedded content can reference other Units in the same file.Work with Office files— import.xlsx

,.csv

,.tsv

,.docx

, and.pptx

, then export the edited content in the matching format.Review agent changes safely— every write starts in an isolated worktree. Watch changes live, then merge or discard them from the conversation instead of letting the agent overwrite the current version.

Create a simple payroll spreadsheet with employee, base salary, bonus, deduction, gross pay, and net pay columns. Calculate the totals automatically.

Create a six-slide lesson deck about bubble sort. Explain the concept, each comparison pass, pseudocode, and complexity, and check every page for layout problems.

Create a formal weekly project report with an executive summary, this week's progress, a risk table, next week's plan, headers, and footers, then export it as docx.

Create a customer-tracking Base with company, contact, stage, expected value, and next action fields, plus a view grouped by stage.

Create a sales Sheet and a summary Slide in the same .univer file, with the Slide chart reading the Sheet data.
Content Create and edit Verify and review Import Export
Sheet Cells, formulas, styles, tables, charts, pivots, filters, validation, images, and more Structured range inspection, recalculation, live preview .xlsx .csv .tsv
.xlsx .csv .tsv
Doc Paragraphs, rich text, lists, tasks, tables, images, charts, headers, footers, pagination Document readback, live preview .docx
.docx
Slide Pages, text, shapes, images, tables, charts, SVG layouts, transitions Structure inspection, text bounds/overflow/overlap lint, live preview .pptx
.pptx
Base Tables, fields, records, views, formulas, filters, sorting, grouping Facade readback, live preview .xlsx .csv .tsv
.xlsx .csv .tsv
Board Shapes, text, connectors, images, native charts, routing Element and connector analysis, live preview mermaid
.png .jpeg .pptx

Every content type supports isolated worktree editing, review submission, reopening, merging, and discarding. Base and Board currently use exact Facade readback for structural verification. Board file export is not yet supported.

If DSH is running, first press Ctrl+C in the terminal that started it. You can run the installation command while DSH is running, but the current DSH process will not load the new plugin automatically.

Install the plugin from npm:

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

Restart DSH after installation:

dsh web

After DSH starts successfully, refresh the existing DeepSeek Harness browser page with Cmd+R / Ctrl+R.

Create reports/q2-review.univer. Read data/q2-sales.xlsx and build a management dashboard with summary metrics, monthly trends, and regional rankings.

The agent automatically loads the relevant skills and selects the univer_*

tools. A typical task creates the file and a worktree, imports or creates a Unit, edits it, reads the result back for verification, and submits the worktree for review.

  • Creating a .univer

file, creating or reopening a worktree, writing content, and submitting for review opens a live window in the top-right. A non-terminal worktree left open in one turn stays open in the next. - Every touched .univer

file that still exists at the end of the Turn uses the same foldable, fullscreen-capable Turn card; historical Turns keep the same card collapsed by default. Temporary files created and then removed during the Turn do not leave cards behind. - Submit, merge, and discard through the full Univer page embedded in the card instead of duplicate controls outside the Viewer.

A .univer

file is a composable office container that can hold several Units of different types. The plugin puts each agent task in an isolated worktree:

Your request
   ↓
Load the matching Univer skill
   ↓
Create / import / edit in a draft worktree
   ↓
Readback + recalculation + Slide layout lint
   ↓
Live preview and in-conversation review
   ↓
Revise / merge / discard

Only merge

and discard

end a worktree, and both require an explicit user request plus DSH approval. ready

only submits the worktree for review; it does not change the trunk.

You do not need to call tools manually in normal use; DSH selects them from your request. This list shows what the plugin exposes to the agent.

Tool Purpose
univer_new
Create an empty .univer file without overwriting an existing file
univer_status
List Units and worktrees in trunk or a selected worktree
univer_worktree
Create, submit, reopen, merge, or discard an isolated worktree
univer_unit
Create or remove a Sheet, Doc, Slide, Base, or Board Unit
univer_import
Import an Office file as a new Unit
univer_inspect
Read document structure or a selected Sheet range
univer_execute
Read or modify content with the exact Univer Facade API
univer_export
Export a Sheet, Doc, Slide, or Base Unit
univer_lint
Detect off-page, overflowing, and overlapping Slide text
univer_compile_svg
Compile SVG into an explicit Slide page with real font metrics
univer_api
Search the exact Univer Facade API bundled with this plugin

The plugin also ships eight version-matched, lazily loaded skills: core orchestration, Sheet, Doc, Slide, Base, Board, Embed, and cross-Unit formulas.

Live Univer window— file creation plus worktree creation, reopening, writing, and submission open it automatically. Drag, resize, fold, or maximize it; non-terminal windows left open carry into the next Turn.Unified Turn cards— every touched.univer

file that still exists has its own full Univer card, later reads do not erase a lifecycle result already produced in that Turn, and deleted temporary files do not leave cards behind.Historical review— draft, ready, merged, and discarded results all remain in the same card layout at their original Turn, with historical cards collapsed by default.Session isolation— each DSH session shows only its own windows, cards, and review state.** English and Chinese UI**— the plugin shell and every open Viewer follow the DSH locale.

  • DeepSeek Harness and Node.js >=22.19.0

. - Slide layout lint and real SVG text measurement require a local Chrome/Chromium executable. Set UNIVER_RENDER_BROWSER

to use a specific browser path. - The plugin does not currently expose screenshots to the model. Structural and layout checks are not a substitute for pixel-level visual approval; you can still inspect the result in the live Viewer.

  • Slide master pages, layout pages, and speaker notes are outside the current editing scope.
  • Board mind maps, tables, ink, advanced editing, and file export are not yet supported.

The defaults are designed for local use: the Gateway starts on the first file-state request at 9080

. If that port is occupied, it tries 9081

, then continues upward one port at a time. Configure the bundle's Cordis layer when you need different values:

Field Default Purpose
gatewayPort
9080
Initial loopback port for the bundled Gateway; occupied ports advance by one
autoStartGateway
true
Start the Gateway on first use
gatewayStartupTimeoutMs
10000
Gateway startup timeout
gatewayRequestTimeoutMs
3000
State-read timeout
gatewayMutationTimeoutMs
60000
Gateway mutation timeout
unitContentOperationTimeoutMs
120000
Import, export, inspection, and execution timeout
tools
true
Register the univer_* tools
skills
true
Register the bundled Univer skills

See src/host/config.ts for the remaining cache and commit-confirmation options.

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

This project is a standard DSH bundle. Its Host composes the Univer Service Provider, Tools Consumer, webServer Consumer, and Skill Provider. The bundle includes its Gateway, Viewer, headless Unit Content Worker, and Slide render machine. See the architecture document for dependency directions and runtime boundaries.

pnpm install
pnpm run build
pnpm run test

Build the npm tarball and zip distribution:

bash scripts/build-dist.sh

lib/

, artifacts/

, dist/

, *.tgz

, and univer-dsh-plugin.zip

are generated and are not committed.

Install only dsh-univer-office

. The following similar names are deprecated npm placeholders reserved by this project to prevent impersonation; they contain no plugin code:

dsh-univer-plugin

dsh-univer-office-suite

dsh-univer-suite

univer-office-suite

univer-office

── more in #ai-tools 4 stories · sorted by recency
── more on @deepseek harness 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/a-modular-office-plu…] indexed:0 read:9min 2026-08-21 ·