DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Artcraft — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
A

dsh-artcraft

Artcraft

将每个 ArtCraft (storytold) 制作应用作为 DSH 插件使用——十二个 Cordis 插件通过各应用自身的 CLI 和 MCP server,无头驱动 CADCraft、GridCraft、SoundCraft 及另外九个应用。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:lznnnnn1998/dsh-artcraft#4ec24fa35afa47caa3fb44aa6f9e247a5aab5b67
README兼容性版本

兼容性与来源证明

Artcraft 以 dsh-artcraft 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/13

版本

0.1.0stable
2026/10/13

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT OR Apache-2.0
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/14
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 integrations-communication 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Ab Publishdsh-ab-publish浏览器自动化发布工具,可登录任意网站并发布内容,整合为一个可发布的插件包Ab Wechat Scrapedsh-ab-wechat-scrape--- description: "树外 wechat_scrape 工具:获取微信公众号文章,过滤推广区块,并将每篇文章保存为 Markdown 文件,供此机器的 dsh 配置文件维护者使用。" kind: "package-reference" ---Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 r

README

ArtCraft × DSH

Twelve crafting applications. One agent. Zero source changes.

Every app from the ArtCraft org — CAD, spreadsheets, audio, video, photo, vector, PDF, slides, documents — exposed to DeepSeek Harness as a first-class plugin.

English · 中文


$ dsh --profile web
you › make me a Q3 sales spreadsheet with a chart, save it to ~/Documents

  ⏺ gridcraft_commands  {"search": "chart"}          315 commands, 8 families
  ⏺ gridcraft_describe  {"id": "insert.chart"}       {range?, type?, title?, at?}
  ⏺ gridcraft_run       sample "sales", 2 commands   exited 0 in 41ms
  ⏺ gridcraft_inspect   ~/Documents/q3.xlsx          1 sheet, 1 chart, A1:H24

✔ GridCraft wrote ~/Documents/q3.xlsx (14,208 bytes)

What this is

The ArtCraft suite is twelve native Rust applications. Each one already ships a headless CLI and its own MCP server — but nothing tells an agent they exist, what they can do, or how to call them.

This repository closes that gap. Each app becomes a DSH plugin that registers model-callable tools on ctx.tools, discovers the app's binary on your machine, and drives it as an external process.

No craft source is ever modified. Every plugin lives here. The applications are dependencies, not forks.

The twelve

CraftWhat it doesCommandsMCP tools
📐CADCraftCAD and drafting (AutoCAD-style)30511
📊GridCraftSpreadsheets (Excel-style)31521
🎚️SoundCraftDigital audio workstation46517
🖼️PhotoCraftRaster image editing (Photoshop-style)85821
🌄LightCraftPhoto library and raw development296318
📄PdfCraftPDF reading and editing161161
🖋️VectorCraftVector art (Illustrator-style)74332
🎬EffectCraftMotion graphics (After Effects-style)66927
🎞️FilmCraftNon-linear video editing69317
🎨DesignCraftPage and layout design (InDesign-style)44625
📽️DeckCraftPresentations (PowerPoint-style)22625
📝WordCraftWord processing (Word-style)46016

Command counts are read live from each binary; MCP counts are what each server declares.

Two surfaces per craft

Every plugin exposes both, because they answer different questions:

Generic commandsThe craft's own MCP server

Reaches the entire application — every menu item is a command id.

gridcraft_commands  {"search": "chart"}
gridcraft_describe  {"id": "insert.chart"}
gridcraft_run       {"commands": [...], "save": "..."}
gridcraft_inspect   {"file": "..."}
gridcraft_convert   {"input": "...", "output": "..."}

Modelled operations with real JSON Schemas, served over JSON-RPC by the app itself.

gridcraft_mcp_tools  {"search": "range"}
gridcraft_mcp_call   {"tool": "write_range",
                      "arguments": {"range": "A1",
                                    "values": [["x"]]}}
gridcraft_mcp_status {}

The MCP server is spawned once per plugin and kept warm — starting GridCraft's engine costs ~600 ms — then shut down after five idle minutes or when the plugin unloads.

Quick start

git clone https://github.com/lznnnnn1998/dsh-artcraft
cd dsh-artcraft

# 1. the craft CLIs — macOS, Windows and Linux, no Rust toolchain needed
node scripts/install-craft.mjs
#    …or compile them from source instead (needs Rust, ~1 min per craft):
# node scripts/install-craft.mjs --from-source

# 2. install the plugins into a DSH profile, then restart it
node scripts/install-into-profile.mjs --profile web

Or install a single craft from npm, straight into a profile:

dsh plugin --profile web add dsh-artcraft-plugin-gridcraft

Each craft is its own package: dsh-artcraft-plugin-<craft> for cadcraft, gridcraft, soundcraft, deckcraft, wordcraft, photocraft, lightcraft, pdfcraft, vectorcraft, effectcraft, filmcraft and designcraft.

Then just ask:

"Open the CADCraft sample floor plan and export a PNG of the kitchen." "Take the demo song in SoundCraft, drop the kick 6 dB and bounce it." "Render page 3 of this PDF at 300 dpi."

Full instructions, configuration and troubleshooting: docs/INSTALL.md

Requirements
  • Node.js ^22.19.0 || >=24.0.0
  • A running DeepSeek Harness profile
  • macOS, Windows 11 or Ubuntu 24.04 — the installer picks the right build, and nothing else is required (no Rust, no unzip, no tar)

Nothing else. The craft apps are not built from source; step 1 downloads signed release binaries.

Verify it yourself

node scripts/verify.mjs

Every craft must locate its binary, load its live catalog, expose the right tool set, complete an MCP handshake, and produce a non-empty artifact from a real headless run:

craft        binary                       catalog        tools  mcp                     run
cadcraft     cadcraft-cli 0.5.0           305 (live)     8      11 tools (list_commands ok)  ok → out.dxf (34140 B)
deckcraft    deckcraft-cli 0.5.0          226 (live)     8      25 tools (list_commands ok)  ok → out.deckcraft (7471 B)
designcraft  designcraft-cli 0.6.0        446 (live)     6      25 tools (list_commands ok)  ok → out.pdf (2028 B)
effectcraft  effectcraft-cli 0.8.0        669 (live)     8      27 tools (list_commands ok)  ok → out.ecproj (732438 B)
filmcraft    filmcraft-cli 0.6.0          693 (live)     8      17 tools (command_list ok)   ok → out.fcproj (3264 B)
gridcraft    gridcraft-cli 0.5.0          315 (live)     8      21 tools (list_commands ok)  ok → out.xlsx (7682 B)
lightcraft   lightcraft-cli 0.6.0         296 (live)     7      318 tools (command_list ok) ok → out.bin (108535 B)
pdfcraft     pdfcraft-cli 0.7.1           161 (live)     8      161 tools (doc_list ok)      ok → out.pdf (802 B)
photocraft   photocraft-cli 0.7.0         858 (live)     8      21 tools (command_list ok)  ok → out.png (168 B)
soundcraft   SoundCraft CLI 0.6.1         465 (live)     8      17 tools (list_commands ok)  ok → out.wav (16094696 B)
vectorcraft  vectorcraft-cli 0.10.0       743 (live)     7      32 tools (command_list ok)  ok → out.svg (251 B)
wordcraft    wordcraft-cli 0.5.0          460 (live)     8      16 tools (list_commands ok)  ok → out.docx (6286 B)

all 12 plugin(s) verified

How it works

Each craft is described once, in dsh-plugins/craft-kit/src/profiles.mjs. The kernel turns that description into tools and hides every difference between the apps:

CraftHow a headless run is spelled
GridCraft, CADCraft, DeckCraft, WordCraft, SoundCraft, DesignCraft--cmd 'id={...}'
PhotoCraft, VectorCraft--cmd id --params '{...}'
LightCraft, PdfCraftpositional id key=value
EffectCraftpositional id {...}
FilmCrafta generated JSONL script file
dsh-plugins/
├── craft-kit/              shared kernel
│   ├── src/                discovery · exec · catalogs · tool factory · MCP client
│   ├── lib/                generated plain ESM
│   └── catalog/            command snapshots + discovered binary paths
├── plugin-cadcraft/        one DSH plugin per craft
├── plugin-gridcraft/       …
└── plugin-wordcraft/

Every fact about the binaries was measured by running them, never assumed. Where a craft's real CLI contradicted an expectation, the raw output is recorded in docs/craft-notes/.

Beyond the twelve

All 23 repositories matching craft under github.com/storytold were cloned and assessed (docs/CRAFT-MATRIX.md). Twelve are applications with a published headless CLI and became plugins. The other eleven are libraries, asset bundles, or GUIs without a scriptable entry point — including artcraft, the umbrella app, whose MCP support is a documented UI stub.

Documentation

docs/INSTALL.mdinstall, configure, use, troubleshoot
docs/CRAFT-MATRIX.mdthe 23 repositories and their verified CLI surfaces
docs/craft-notes/per-craft evidence, quirks, limitations

Contributing

Found a craft whose CLI behaves differently than described? The notes are meant to be corrected — open an issue with the raw output, or run the offending command with tracing on:

DSH_ARTCRAFT_TRACE=/tmp/trace.log node scripts/verify.mjs <craft>

That writes the exact argv of every invocation to /tmp/trace.log.

License

Dual-licensed under MIT or Apache-2.0, at your option — the same terms the craft applications use.

The craft binaries are downloaded from their own GitHub releases and remain under their own licences; none of their source is vendored here.

Built with DeepSeek Harness · powered by Cordis · for the ArtCraft community