Workspace-safe Office tools for agents: create/read Word, create/read/update Excel, and create/read PowerPoint decks with PNG/JPG/GIF image placement.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-office-tools
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:kw78/dsh-office-tools
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
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:
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;
overwritedefaults tofalse. - 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.fswrite 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_createechoes every element's landing position;ppt_readreturns 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: DSH >=0.1.0-rc.6; exact per-release records live in package.json (dsh.compatibility.dshReleases).
Further reading: DEVELOPMENT.md · ROADMAP.md · hub-registration.md · MIT License
Links
More in this category
tt-a1i/archify#integrations/deepseek-harness★ 73620
Generate validated, self-contained interactive architecture, workflow, sequence, data-flow, and lifecycle diagrams from repositories or system descriptions.
dream-num/dsh-univer-office★ 429
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.
PerryLink/dsh-industry-research★ 182
Deterministic industry research reports for DeepSeek Harness — company and industry research flows produce structured, verifiable reports from staged evidence.
HuanLinOTO/dsh-plugin-mineru★ 47
Expose MineRU document parsing tools to the model.
PolinniZhong/dsh-knit★ 16
Lists the Markdown documents, images and video that already exist anywhere in the session workspace in the DSH sidebar, ranked by relevance to the current conversation: recent messages are matched locally against document title, summary and body with IDF weighting, with no model calls and no network. Because the list is scanned from the workspace instead of remembered, restarting DSH or starting a new session does not empty it. Images and video preview in place, with relative-path images resolved and video streamed over HTTP Range. A references bar under the preview header shows which documents cite the one being previewed and which it cites, with one click to jump between them. The same ranking is exposed to the agent as a knit_docs tool, which returns the most relevant documents along with the passage that matched in each, where one is found.
hanzhangzzz/dsh-diagram★ 14
Editable Excalidraw diagrams for DeepSeek Harness conversations.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.