README
dsh-office-tools
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.
Scope: this is a file generator, not an editor. It creates files and appends to them (word_update appends; there is no ppt_update), word_create and each word_update write at most one table, and PPT images are linked, not embedded because the workspace write channel is text-only.
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:
Positioning
A headless OOXML toolkit, not a visual office suite: about 160 KB unpacked, no runtime npm dependencies (everything is bundled), no local service, no browser, and no telemetry. Every write goes through the DSH filesystem service, so behavior is identical in a desktop session and in CI.
| dsh-office-tools | Visual office suites (e.g. Univer-based plugins) | |
|---|---|---|
| Output | Standard .docx / .xlsx / .pptx files |
Native document model, exported to Office formats |
| Runtime | Node ≥ 20 only | Local gateway service + headless Chromium |
| Install size | ~160 KB unpacked | Hundreds of MB |
| Review | Tool results, markdown, wireframe sketches | Live canvas previews and approval cards |
Use a visual suite when you need to see and approve every edit; use this plugin when the agent should produce standard Office files in bulk without extra moving parts.
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: ^0.1.0-rc.6 || ^0.1.1-rc.0 || ^0.1.2-alpha.0 || ^0.1.5-alpha.0 || ^0.2.0-rc.1 || ^0.2.1-rc.3; exact tested releases live in package.json (dsh.compatibility.dshReleases). CI exercises 0.1.2-rc.1, 0.2.0-rc.1, and 0.2.1-rc.3. 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
更多「知識與研究」外掛
weknora
作者 tencent
开源的 LLM 知识库平台:把原始文档转化为可检索的 RAG 知识库、自主推理智能体和自动维护的 Wiki 系统,支持多租户部署。
honcho
作者 plastic-labs
用于构建有状态 AI 智能体的记忆库,支持跨会话连续学习与上下文工程。
webnovel-writer
作者 lingfengqaq
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200 万字量级 连载创作。
mirage
作者 strukto-ai
全球首个面向 AI 智能体的统一虚拟文件系统。
