dshbase

Plugin directory / Developer / dsh-office-tools

dsh-office-tools

Verified · install-tested on dsh kw78

✓ Actively maintained Builds on 6 official DSH packages Pure TypeScript

View on GitHub ↗ ← Back to plugin directory

27Stars
4Forks
0Open issues
TypeScriptLanguage
2026-10-01Last push
Cross-platformPlatform

What it does

Model-facing Office tools for DeepSeek Harness: Word (.docx), Excel (.xlsx), and PowerPoint (.pptx) create/read/update with workspace-safe paths and PPT image embedding.

✅
Our take
Works — verified, growing community

Model-facing Office tools for DeepSeek Harness: Word (.docx), Excel (.xlsx), and PowerPoint (.pptx) create/read/update with workspace-safe paths and PPT image embedding. It installs cleanly and boots without issues in our testing. It has a growing community — a solid choice.

“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

README

dsh-office-tools

npm version ci License: MIT Listed on awesome-dsh-plugin

If you find this project useful, please give it a ⭐ Star — it helps others find it.

Eight model-facing Office file tools for DeepSeek Harness: create, read, and update Word (.docx), Excel (.xlsx), and PowerPoint (.pptx) files inside the session workspace. Zero runtime dependencies — every package is generated and parsed by the plugin's own OOXML engine, and every byte crosses the official ctx.fs service.

Tools

Tool Purpose
word_create Create .docx (title, paragraphs, bullets, one table)
word_read Extract text; format: "markdown" renders structure
word_update Append paragraphs, bullets, and/or a table
excel_create Create multi-sheet .xlsx from cell grids
excel_read Read sheets as rows; formulas return cached values or '=…'
excel_update Replace/create sheets, or write cells by A1 address
ppt_create Create 16:9 .pptx (slides, bullets, notes, linked images)
ppt_read Extract text, notes, tables, and per-shape geometry

Strings starting with = become real Excel formulas.

Demo

One prompt, a quarterly-report trio:

One prompt generating report.docx, budget.xlsx, and deck.pptx

Install

dsh plugin --profile web add dsh-office-tools              # npm (recommended)
dsh plugin --profile web add github:kw78/dsh-office-tools  # from source

Restart DSH after installing. Requires a profile that provides the fs service (every profile with built-in read/write tools does).

Notes

  • All paths are confined to the session workspace; overwrite defaults to false.
  • Reads accept any real package (STORE/DEFLATE) with zip-bomb guards; updates refuse packages with binary parts instead of corrupting them.
  • PPT images are linked, not embedded: the sanctioned ctx.fs write channel is UTF-8 text only, so a package cannot carry binary image parts. Keep image files next to the deck when moving it, and note that PowerPoint blocks external content by default — a linked picture renders as a "blocked automatic download" placeholder until you enable external content (File → Info → Enable Content, or add the folder under Trust Center → Trusted Locations). This is a PowerPoint security policy, not a package defect.
  • ppt_create echoes every element's landing position; ppt_read returns the same geometry for any deck.

Configuration

One option: enablePptTools (default true) — set it to false to coexist with a dedicated presentation plugin such as dsh-ppt:

- insert:
    - id: dsh-office-tools
      config:
        enablePptTools: false

Development

pnpm install && pnpm run check   # typecheck + tests + build
pnpm run test:e2e                # real-composition E2E (sandbox-policy + fs-sandbox + tools)

Compatibility: the declared DSH 0.1.x ranges and >=0.2.0-rc.1 <0.3.0-0; exact tested releases live in package.json (dsh.compatibility.dshReleases). CI exercises both 0.1.2-rc.1 and 0.2.0-rc.1. DSH 0.3.x is not declared supported.

Generated packages are limited to 50 MiB. Up to 200 PPT slides (including an optional title slide) are accepted; linked images remain external. See architecture and migration plan for the binary-write seam needed for true embedding.

Further reading: DEVELOPMENT.md · ROADMAP.md · hub-registration.md · MIT License

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install dsh-office-tools for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

This plugin is GitHub source (not published to npm) — install it straight from the repo:

Web profile:

dsh plugin --profile web add github:kw78/dsh-office-tools

Headless (CLI) profile:

dsh plugin --profile headless add github:kw78/dsh-office-tools

Test report

Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.

Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in Developer

Browse all 7819 plugins →