DeepSeek Harness plugin

dsh-office

Office document tools for DeepSeek Harness: generate, read, and edit xlsx, pdf, and pptx.

Jump to install

Source facts

Repository
omdsh-dev/dsh-office
Latest update
Aug 16, 2026
Category
Tools & Capabilities
GitHub stars
15
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/omdsh-dev/dsh-office
Plugin: dsh-office
Author: omdsh-dev

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.mdSource · read only
README language

@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: requires dsh0.1.0-rc.5 (bundles @deepseek-ai/dsh-tools0.1.0-rc.5). Installing on an older core whose dsh-tools is a 0.0.1 release installs a second dsh-tools copy and crashes 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):

# cordis.patch.yml
- insert:
    - id: dsh-office
      name: '@huiliyi37/dsh-office'
      config:
        enable:
          xlsx: false      # skip spreadsheet tools
          pdf: true        # keep PDF tools
          ppt: false       # skip presentations
          docx: true       # keep Word tools

Families: xlsx (read/write/edit/recalc/audit), pdf (create/read/merge/split), ppt (create/read/edit), docx (create/read).

Uninstall

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

Manual alternative

Install the package anywhere Node resolution can find it and reference it from your own cordis.patch.yml (same config.enable switches apply):

npm install @huiliyi37/dsh-office
# cordis.patch.yml
- insert:
    - id: dsh-office
      name: '@huiliyi37/dsh-office'

Skill

The package ships a usage skill (skills/SKILL.md, anthropics-compatible format) that teaches the model large-file pagination and generation discipline. Install it into a skill discovery root:

mkdir -p ~/.dsh/skills && cp -r node_modules/@huiliyi37/dsh-office/skills/dsh-office ~/.dsh/skills/

Usage examples

// xlsx_write — create a workbook
{ "file_path": "report.xlsx", "data": [["Name", "Score"], ["Alice", 92]], "header_bold": true }

// pdf_create — document with a heading, table and list
{
  "destination_path": "doc.pdf",
  "title": "Quarterly Report",
  "content": [
    { "type": "heading", "text": "Summary" },
    { "type": "table", "headers": ["Region", "Revenue"], "rows": [["APAC", "120"]] },
    { "type": "list", "items": ["Alpha", "Beta"] }
  ],
  "page_numbers": true
}

// pptx_create — a deck with a title slide and a bullet slide
{
  "destination_path": "deck.pptx",
  "slides": [
    { "type": "title", "title": "Roadmap 2026" },
    { "type": "content", "title": "Highlights", "items": ["Plugin runtime", "Office tools"] }
  ]
}

Development

npm install
npm run build   # tsc → lib/
npm test        # vitest: round-trip tests through the tool execute path

License

Apache License 2.0. Tool logic ported from the Tianshu office plugins (also Apache-2.0 licensed, copyright Tianshu contributors); see file headers for per-module provenance.