dsh-penpot
Penpot inside DeepSeek Harness as a native plugin — no MCP. The plugin
registers model-facing tools that call Penpot's backend command API directly,
plus two bundled skills (design review and design handoff) written against
those tools.
Works with penpot.app SaaS or any self-hosted Penpot.
English | 中文
What it does
- 13
penpot_* tools over Penpot's REST/RPC command API, read and
write: connectivity/profile check, teams → projects → files walk, file
search, file overview (pages + design-token sets), page board tree, open
comment threads, binary .penpot archive export; plus create project,
create file, import .penpot archive, and upload generated
SVG/PNG/JPEG/WebP assets into a file. Authentication uses a personal
access token via the Authorization: Token scheme — the same backend API
Penpot's own web app uses.
- 3 bundled skills:
penpot-design-review (structured design review from
live data), penpot-design-handoff (inventory + tokens + comments +
portable archive for developers), and penpot-design-generate (create a
project/file and deliver model-authored SVG boards as Penpot assets — the
write path, no MCP, no canvas automation).
Requirements
- DeepSeek Harness
>= 0.2.1-rc.2 < 0.3.0
- Node.js
>= 22.19.0
- A Penpot personal access token: Penpot → Settings → Access tokens →
generate one.
Install
export PENPOT_TOKEN=<your-token> # Windows PowerShell: $env:PENPOT_TOKEN="..."
dsh plugin --profile web add github:AlbertZJ/dsh-penpot
Optional configuration (defaults shown) — edit the bundle row's config on the
Plugins page, or in cordis.patch.yml for linked installs:
config:
baseUrl: https://design.penpot.dev # or your self-hosted origin
tokenRef: PENPOT_TOKEN # env var holding the token
timeoutMs: 30000
No build permission is needed on install: lib/ is committed and the package
has no prepare script.
Verify
In a session, ask the model to run penpot_whoami — it should return your
Penpot profile. Then try "review the design draft named X" and the
penpot-design-review skill takes over.
Development
pnpm install
pnpm run build # tsc + tsdown -> lib/
pnpm run verify # structural checks (no dependencies)
lib/ is committed: git installs fetch sources and do not build them, so
rebuild and commit lib/ together with any src/ change.
How it compares
- Unlike qunanchang/dsh-penpot,
this plugin does not embed the Penpot editor UI into the sidebar and
does not use Penpot's MCP. It is a data/tool integration: the model
reads and exports design data through dsh-native tools.
- The two approaches compose well: use
dsh-penpot for agent workflows, and
the other one if you want the visual editor inside dsh.
License
MIT