dsh-pptx-builder
面向 DeepSeek Harness 的 PowerPoint 演示文稿生成器:柔和色板、十种幻灯片模板、网络图片、Python 绘制的图表、高亮代码卡片、无需安装 TeX 的 LaTeX 公式(矩阵、积分、带上下限的求和)以及 Presentations 智能体模式。
安装
dsh plugin --profile web add dsh-pptx-builder
沙箱测试
这个插件还没测过。提交测试 →
README
PowerPoint Builder for DeepSeek Harness
A plugin bundle that lets an agent build real Microsoft PowerPoint decks: pastel
palettes, ten reusable slide templates with exact geometric centering, styled
text boxes, internet images, charts rendered by Python, highlighted code cards,
and LaTeX formulas — matrices, integrals, sums with limits — typeset by the
plugin itself, with no LaTeX installation. It also ships a Presentations
agent mode tuned for deck work.
The .pptx package (ZIP + OOXML) is written by the plugin itself, so there is
no Office dependency, no network round-trip after an image is embedded, and the
file stays valid after every call.
Install
Install the bundle into the current profile:
plugin_manager { "action": "install_bundle", "target": "dsh-pptx-builder" }
Or use Plugins → Install in the Harness UI and paste the package name.
After a restart the tools show up in every mode, and a new Presentations
agent preset appears in the mode picker for a new session.
From a local checkout, pass the absolute directory instead of the package name.
Presentations mode
The preset adds a persona that knows the workflow — inspect before editing,
build from templates, cite data sources, typeset mathematics with
pptx_add_math, finish with present — plus a focused toolset: the pptx_*
tools, file reading, web search/fetch, present, todo_write,
ask_user_question, and compaction. The tools themselves are registered
host-wide, so they are also usable outside this mode.
Tools
Tool · What it does
pptx_create · Creates a deck on a pastel palette: size (16:9 / 4:3), palette, default font, accent, page-number placement.
pptx_gallery · Builds a ready-made reference deck: features tours every template, alignment, list style and chart kind; showcase is a polished business deck.
pptx_add_slide · Adds a slide from a template (title, section, content, split-left, split-right, chart, code, closing, blank) with a heading, text, presenter and photo.
pptx_add_text · Arbitrary text box: role, x/y/w/h, font_size/font_face/bold/italic/underline/color/align/valign/bullet.
pptx_add_image · Downloads an image by url (or reads a local path), embeds the bytes and places it; the aspect ratio is preserved.
pptx_add_chart · Renders a chart from data (bar, stacked bar, line, area, pie, donut) with Python and embeds it.
pptx_add_code · Renders a code snippet as a dark card with syntax highlighting, line numbers, a file-name header and highlighted lines.
pptx_add_math · Typesets a LaTeX formula — matrices, integrals, sums with limits, fractions, Greek letters — and embeds it as a crisp transparent picture.
pptx_update_element · Moves, resizes, restyles, retypes or replaces an existing element by id.
pptx_remove · Deletes one element by id, or a whole slide by its 1-based number.
pptx_inspect · Lists the template, palette and every element with ids, geometry in inches, text, fonts and sources.
Coordinates are inches from the top-left corner of the slide (16:9 is
13.333 × 7.5), font sizes are points, colours are #RRGGBB, a basic colour
name, or a palette keyword (ink, muted, accent, background).
Templates
Template · Layout
title · Oversized centred heading, subtitle below, presenter line in the bottom-right corner. Page number off.
section · Divider: heading and subtitle centred on the slide.
content · Centred heading on top, a fixed-width text column underneath.
split-right · Photo fitted and centred in the right half; heading and text centred in the left half.
split-left · Mirrored: photo on the left, text on the right.
chart · Heading and caption on top, the lower two thirds reserved for pptx_add_chart.
code · Heading and subtitle on top, the rest reserved for pptx_add_code.
math · Heading and subtitle on top, an optional statement under them, the rest reserved for pptx_add_math.
closing · Large centred "Спасибо за внимание" (override with title), optional subtitle.
blank · Nothing but the background.
Every template centres its content inside its own region: the photo in its half,
the heading and text in theirs, blocks centered vertically.
Palettes
pptx_create takes palette: sand (default), mint, lavender, sky,
rose. A palette defines the pastel background of every slide, the body ink,
the muted secondary colour, the accent, and the chart series colours.
Alignment and lists
Alignment and text shape are parameters, not template defaults:
Parameter · Values
align · left, center, right, justify for the text block
title_align · the same for the heading and subtitle
bullet · true for a bulleted list, false (default) for one solid block
Defaults: content is left-aligned, split-left / split-right are centred
without bullets and left-aligned with them. Long lists read best on the left;
centred or right-aligned text suits short lines and single paragraphs. An
existing block can be re-aligned with pptx_update_element (align, bullet).
Charts
pptx_add_chart accepts data, not code:
{ "file": "sales.pptx", "kind": "bar", "stacked": false,
"categories": ["2021", "2022", "2023", "2024"],
"series": [ { "name": "Revenue", "values": [10.2, 13.8, 17.1, 21.4] } ],
"y_label": "bn RUB", "value_format": "auto",
"source": "Source: annual reports, 2025" }
Supported: bar (including stacked), line, area, pie, donut. The
renderer draws the palette background, a light grid, axis labels, a legend,
value labels and a source footnote. The image is 1800 × 1000 px and is embedded
into the deck.
Data pipeline: web_search / web_fetch find the numbers, the model puts them
into categories and series, pptx_add_chart draws the pic
…(truncated)
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:3,最后更新 2026-10-22