dshbase

插件目录 / Developer / dsh-univer-office

dsh-univer-office

已验证 · 实测可装 dream-num

✓ 持续维护 11 位贡献者 基于 9 个官方 DSH 包 纯 TypeScript

查看 GitHub ↗ ← 返回插件目录

433Stars
38Forks
13未关闭 issue
TypeScript语言
2026-09-24最近推送
跨平台平台

功能简介

Preview, create, edit office spreadsheets, docs & slides inside DeepSeek Harness. Power by Univer.

✅
我们的评价
推荐 — 实测可用且热门

Preview, create, edit office spreadsheets, docs & slides inside DeepSeek Harness. Power by Univer. 实测能干净安装、正常启动。433+ stars,社区认可度高,是低风险选择。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

Univer × DeepSeek

DSH × Univer Office

Give DeepSeek Harness a real office environment.

Univer Office Plugin brings spreadsheets, docs, slides, canvases, relational tables, and more into one runtime — with connected data, validation, versioned changes, and isolated worktrees for multi-agent collaboration.

English · 简体中文

npm
Node.js
License

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.

See it in action

Play the DSH × Univer Office demo

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.

Reviewing a spreadsheet with conditional formatting and a chart in DSH

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

1. Describe the task in natural language

Asking the agent to create a class score sheet

2. Follow the result live while the agent works

A live spreadsheet window while the agent works

3. Approve or discard the changes in the conversation

The spreadsheet review card after the task completes

Generate a presentation from one request

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.

Reviewing a bubble sort teaching presentation in DSH

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

1. Specify the topic, audience, and page requirements

Asking the agent to create a bubble sort teaching presentation

2. Follow and verify the pages while the agent works

A live presentation window while the agent works

What can it do?

  • 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 Sheets, Docs, Slides, Bases, and Boards. Formulas and embedded content can reference other content 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 draft. Watch changes live, then approve or discard them instead of letting the agent overwrite the current version.
  • Compare worktree changes semantically — switch a draft or submitted worktree from View to Compare to inspect Sheet, Doc, Slide, Base, or Board changes side by side against a pinned trunk version or another active worktree.

Example requests

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.

Capabilities

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, screenshots, PDF printing, live preview .xlsx .csv .tsv .xlsx .csv .tsv
Doc Paragraphs, rich text, lists, tasks, tables, images, charts, headers, footers, pagination Document readback, page screenshots, PDF printing, live preview .docx .docx
Slide Pages, text, shapes, images, tables, charts, SVG layouts, transitions Structure inspection, layout lint, screenshots, PDF printing, live preview .pptx .pptx
Base Tables, fields, records, views, formulas, filters, sorting, grouping Structured data checks, workbench screenshot, live preview — .xlsx .csv .tsv
Board Shapes, text, connectors, images, native charts, routing Element analysis, screenshots, PDF printing, live preview — —

Every content type supports isolated draft editing, side-by-side semantic comparison, review, revision, approval, and discarding. Base and Board support structural verification; Board file export is not yet supported.

Get started in 3 minutes

1. Install the plugin

Supported DSH versions are 0.1.5-rc.1, 0.1.6-alpha.1, and their later 0.1.x releases (^0.1.5-rc.1 || ^0.1.6-alpha.1).

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.

2. Describe what you need

Create a monthly expense spreadsheet with dates, categories, amounts, a total, and a few rows of sample data.

3. Review it in the conversation

  • Changes appear in a live, movable preview window while the agent works.
  • Review cards remain in the conversation and can be folded or opened fullscreen later. Fullscreen escapes conversation layout constraints, preserves the card's space without reloading the Viewer, and supports Esc to exit.
  • Continue editing, approve, or discard changes from the Univer page embedded in the card.

How it works

  1. Describe the result you want and provide any source files.
  2. The agent creates an isolated draft and edits the Univer content there.
  3. Follow the live preview and ask for revisions until the result is ready.
  4. Approve the result to update the current version, or discard the draft without changing it.

Approval and discarding always require an explicit user request.

Built-in tools

DSH selects these tools automatically; you normally do not need to call them manually.

Tool Purpose
univer_new Create an empty .univer file without overwriting an existing file
univer_status View the content and draft status of a file
univer_worktree Create, submit, revise, approve, or discard an isolated draft
univer_unit Add or remove Sheet, Doc, Slide, Base, or Board content
univer_import Import an Office file into a .univer file; docx keeps its page setup by default, docType selects traditional (default) or modern
univer_inspect Read document structure or a selected Sheet range
univer_execute Read or edit content through the Univer API
univer_export Export Sheet, Doc, Slide, or Base content
univer_lint Find off-page, overflowing, and overlapping Slide text
univer_compile_svg Add an SVG layout to a Slide with measured text
univer_screenshot Render supported content as PNG images for review
univer_print_pdf Print a Sheet, Doc, Slide, or Board to a workspace PDF file
univer_api Find bundled Univer API symbols by keyword and show exact references
univer_resources Find and use bundled icons, logos, emoji, and illustrations

Preview and review experience

  • On-demand preview from the file tree — click a .univer file in the DSH file tree and it opens in the right sidebar, alongside the built-in previews for .docx, .xlsx, and .pptx. No agent operation is involved: this is the entry point that still works when automatic live previews are off. Version navigation and worktree review are handled inside the Viewer. Opening a file without a specific target defaults to the first active worktree when trunk has no documents. It registers on DSH's own right sidebar; when the dsh-better-sidebar plugin is installed instead, it is registered as one of that plugin's file viewers, because that plugin takes over file addresses.
  • Live Univer window — changes open automatically in a window you can drag, resize, fold, or maximize. Disable automatic opening in the plugin's settings — the dsh-univer-office detail page under the sidebar Plugins page (or Settings → Plugins → Plugin configuration on DSH releases before 0.1.6-alpha.2) — without removing conversation review cards or the file-tree preview above.
  • Conversation review cards — each edited .univer file has its own full preview card, while deleted temporary files leave no stale cards behind. Turn them off with Show review cards in the conversation in the plugin's settings for a more compact conversation; the file-tree preview and the live window are controlled by their own switches.
  • Pinned worktree comparison — use Compare in a draft or submitted worktree to compare it with trunk or another active worktree. Both sides are pinned when the comparison opens, changed entities can be navigated, and a refresh control appears if either side advances.
  • Responsive review Header — View/Compare stays centered when space permits; controls share a compact row and wrap in order as the window narrows. The title shows the selected document name; long names truncate, and merge-status messages remain visible.
  • Historical review — drafts, submitted changes, approvals, and discarded results remain in the conversation, with older 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.
  • Import, export, and print — the current version can import Office files, export supported content, and print from the Univer Ribbon. Draft and review previews do not allow import or export; Board provides print only.
  • Version history for all five Unit types — current Sheet, Doc, Slide, Base, and Board views show time-grouped history. Read-only views can inspect versions, while editable views can restore one explicitly.

Requirements and current limits

  • DeepSeek Harness and Node.js >=22.19.0.
  • The file-tree preview needs no extra plugin: it registers a tab type on DSH's right sidebar and claims dsh-resource://file/** addresses ending in .univer. While dsh-better-sidebar (^0.19.0) is installed it takes over file addresses at the same priority with a broader pattern, so the preview is registered as one of its file viewers instead — both shapes are covered, and only one ever applies.
  • Screenshots, PDF printing, Slide layout checks, and SVG text measurement need a local Chromium-family browser. Chrome/Chromium and Microsoft Edge are detected automatically; set the browserExecutablePath option or the UNIVER_RENDER_BROWSER environment variable to point at a specific executable (for example Edge on Windows).
  • 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.

Configuration

The defaults are designed for local use: the service starts at port 9080. If that port is occupied, it tries 9081, then continues upward one port at a time. Set these plugin options when you need different values:

Field Default Purpose
gatewayPort 9080 Initial loopback service port; occupied ports advance by one
autoStartGateway true Start the service on first use
gatewayStartupTimeoutMs 10000 Service startup timeout
gatewayRequestTimeoutMs 3000 State-read timeout
gatewayMutationTimeoutMs 60000 Write-operation timeout
unitContentOperationTimeoutMs 120000 Import, export, inspection, and execution timeout
screenshotOperationTimeoutMs 120000 Overall timeout for one browser screenshot operation
printPdfOperationTimeoutMs 120000 Overall timeout for one browser PDF print operation
screenshotMaxPages 30 Maximum Doc or Slide pages rendered by one screenshot call
screenshotMaxPixels 16777216 Maximum pixel count for each screenshot image
browserExecutablePath auto-detected Browser executable for screenshots, PDF printing, and Slide checks; takes precedence over UNIVER_RENDER_BROWSER
resourceCacheRoot $DSH_HOME/cache/dsh-univer-office/resources Persistent downloaded-SVG cache; falls back to ~/.dsh when DSH_HOME is unset
resourceDownloadTimeoutMs 15000 Timeout for one SVG resource download
resourceOperationTimeoutMs 120000 Overall timeout for one resource-library tool operation
tools true Enable agent editing capabilities
skills true Enable bundled task guidance
telemetry true Send anonymous product telemetry

The Viewer, its HTTP API, and its WebSocket collaboration traffic are served by the plugin on the DSH WebServer origin itself (/univer-viewer/... and /uf/...), so remote deployments work through whatever entry already fronts DSH — no extra reverse-proxy configuration. Every browser request passes DSH browser authentication via the connection service before it is scoped to the named live session; the Gateway itself stays on loopback and is never exposed. (The former viewerBaseUrl option was removed by this change and is ignored.)

Telemetry

Sends anonymous usage stats after the plugin activates (never file contents or paths). The published package declares no postinstall script. Disable telemetry with DO_NOT_TRACK=1 or telemetry: false.

Uninstall

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

Development

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.

The project requires Node.js >=22.19.0 and [email protected].

pnpm install
pnpm run lint
pnpm run typecheck
pnpm run build
pnpm run test

Official package name

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

License

Apache-2.0

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-univer-office」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:dream-num/dsh-univer-office

Headless(CLI)profile:

dsh plugin --profile headless add github:dream-num/dsh-univer-office

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

⚠ 中风险 静态扫描 · 25 个文件 · 2026-09-29
  • 越权访问 (medium)

分享徽章

Developer 里更多

浏览全部 7797 个插件 →