DSH Hub

omdsh-dev/dsh-office

dsh-office

BundleTerminal29 GitHub stars· updated 2026-10-11

dsh-office is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile <name> add @huiliyi37/dsh-office

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-office DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-office.svg)](https://dshhub.dev/plugins/dsh-office)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from omdsh-dev/dsh-office, cleaned of badges and images.

@huiliyi37/dsh-office

English | 中文

Office document tools for DeepSeek Harness (dsh): generate, read, and edit spreadsheets (.xlsx), PDFs, presentations (.pptx), and Word documents (.docx).

Ported from the office plugins of the Tianshu terminal coding agent (Apache-2.0 licensed upstream), adapted to the dsh cordis tool model.

Tools

ToolWhat it does
xlsx_readList sheets of a .xlsx, or read one sheet as a markdown table (range-limited for large files; formula text preserved)
xlsx_writeWrite a 2D array to a new .xlsx (formula cells, header bold, column widths, number formats)
xlsx_editEdit an existing .xlsx: add sheets, update cells (value or formula), append rows
xlsx_recalcRecalculate every formula with a lightweight pure-TS engine and report error values (#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?, #NUM!) with locations
xlsx_auditStatically audit formula structure: array-formula traps, aggregation ranges missing rows, formulas overwritten by hardcoded values, inconsistent formulas in a column, self-references, division by zero
pdf_createGenerate a real PDF with headings, paragraphs, tables, lists, code blocks and footer page numbers; CJK text renders via an auto-detected system font
pdf_readExtract text from a PDF for reading into context
pdf_mergeMerge multiple PDFs into one, in order
pdf_splitSplit a PDF into single-page files, or extract pages by spec ("1,3,5-7")
pptx_createGenerate a .pptx deck from slide definitions (title / section / content / two-column / image / table / chart), with optional theme and speaker notes
pptx_readExtract slide text as markdown, optionally including speaker notes; include adds structure (summary/layouts/images/tables: shape names & cm positions, image targets, table dims)
pptx_editFind/replace text inside an existing .pptx (<a:t> surgery), preserving all layout and styling
docx_createGenerate a real .docx Word document from content blocks (heading / paragraph / table / code / list), with optional striped tables, page background color, and diagonal text watermark
docx_readExtract text from a .docx for reading into context

Install & load

Compatibility: dsh 0.1.0-rc.5–0.1.x and the 0.2 line (including 0.2.0-rc.2). DSH checks the @deepseek-ai/dsh-tools peer range against the running dsh version, so 0.2.4 (^0.1.0-rc.5 only) is rejected on 0.2.0-rc.2. Cores on the 0.0.1 line are still refused: they install a second dsh-tools copy and crash every tool call with Cannot read properties of undefined (reading 'prepare').

Full load (all 14 tools)

dsh plugin --profile <name> add @huiliyi37/dsh-office
dsh --profile <name>

The first dsh plugin call initializes the profile (@deepseek-ai/dsh-base is its first bundle) and appends this package to the profile's bundles list. Launching the profile then registers all tools automatically.

Load only the families you need

Pass a config row in your profile's cordis.patch.yml to enable/disable per family. Omitted families stay enabled; set a family to false to exclude it (useful to keep the tool surface small):

…

Related plugins