dream-num/dsh-univer-office ↗★ 542

dsh-univer-office

DSH × Univer integration with a bundled collaboration Gateway and Viewer: inline previews, live floating Worktree windows, and session-end review actions in DeepSeek Harness. 适合需要在DSH内部进行文档行内预览和实时协作评审的用户。

Package
dsh-univer-office
Compatibility
Unverified
Harness peer range
^0.1.5-rc.3 || ^0.1.7-rc.1 || ^0.2.0-rc.1
Cordis peer range
^4.0.2
Version
0.3.7
License
Apache-2.0
Last updated
Oct 8, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:dream-num/dsh-univer-office

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:

FieldDefaultPurpose
gatewayPort9080Initial loopback service port; occupied ports advance by one
autoStartGatewaytrueStart the service on first use
gatewayStartupTimeoutMs10000Service startup timeout
gatewayRequestTimeoutMs3000State-read timeout
gatewayMutationTimeoutMs60000Write-operation timeout
unitContentOperationTimeoutMs120000Import, export, inspection, and execution timeout
screenshotOperationTimeoutMs120000Overall timeout for one browser screenshot operation
printPdfOperationTimeoutMs120000Overall timeout for one browser PDF print operation
screenshotMaxPages30Maximum Doc or Slide pages rendered by one screenshot call
screenshotMaxPixels16777216Maximum pixel count for each screenshot image
browserExecutablePathauto-detectedBrowser executable for screenshots, PDF printing, and Slide checks; takes precedence over UNIVER_RENDER_BROWSER
resourceCacheRoot$DSH_HOME/cache/dsh-univer-office/resourcesPersistent downloaded-SVG cache; falls back to ~/.dsh when DSH_HOME is unset
resourceDownloadTimeoutMs15000Timeout for one SVG resource download
resourceOperationTimeoutMs120000Overall timeout for one resource-library tool operation
toolstrueEnable agent editing capabilities
skillstrueEnable bundled task guidance
telemetrytrueSend 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. Viewer document opens and /univer-api requests also validate the named session workspace; subsequent /uf API and WebSocket requests do not require a plugin session cookie or repeat that workspace check. Authenticated browsers can address any .univer file accessible to the Host process, including in remote deployments. In DSH Desktop, the Viewer obtains the current Host loopback address through an authenticated runtime endpoint for WebSocket connections; HTTP requests continue through the desktop shell. The Gateway itself stays on loopback and is never exposed. (The former viewerBaseUrl option was removed by this change and is ignored.)