DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@logictan/dsh-stitch-designer

Stitch Designer

DSH Stitch 设计器:将 Google Stitch AI UI 生成作为原生 mcp__stitch__* 工具,并提供确保一个代码项目绑定一个 Stitch 项目的设计规范。DSH Stitch 界面设计子插件。

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

npx -y @deepseek-ai/dsh plugin --profile web add @logictan/dsh-stitch-designer@2.0.3
README兼容性版本

兼容性与来源证明

Stitch Designer 以 @logictan/dsh-stitch-designer 发布,当前版本为 2.0.3。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/11/5

版本

2.0.3stable
2026/10/18
2.0.2stable
2026/10/17
2.0.1stable
2026/10/17
查看其余 2 个版本收起版本
2.0.0stable
2026/10/12
1.0.0stable
2026/10/8

相关插件

正在加载相关插件…

最新版
2.0.3
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
48.2 kB
文件数
11
Surface
web
许可证
MIT
发布源
npm
周下载
323
安全扫描
✓ v2.0.3 扫描通过
查看源码 ↗项目主页 ↗
README Badge

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Better Sidebardsh-better-sidebarBetter Sidebar for DSH — 在一列中提供文件树、编辑器、变更、任务和侧边聊天,并为每个对话单独显示。同时提供服务,供其他插件注册侧边栏标签页和文件查看器。Client Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH 技能中心:按来源(bundled / project / user / custom / runtime)浏览已加载的技能,在 Web GUI 面板中启用或禁用、创建和删除技能。Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Client Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包

README

@logictan/dsh-stitch-designer

Google Stitch (AI UI generation) inside DSH: the 15 mcp__stitch__* tools, plus the design conventions that keep one code project bound to one Stitch project.

Ported from liuxinlongwa-hue/dsh-stitch-designer (MIT, © 2026 liuxinlongwa-hue). What changed here is the tool surface, the key storage, and the scope — that project's preview panel, screenshot cache and 1:1 HTML export endpoint have been removed; see below.

What it gives the model

The same 15 tools the mcp-stitch MCP row used to expose, under the same public names, so existing prompts and habits keep working:

mcp__stitch__create_project              mcp__stitch__get_project
mcp__stitch__delete_project              mcp__stitch__list_projects
mcp__stitch__list_screens                mcp__stitch__get_screen
mcp__stitch__generate_screen_from_text   mcp__stitch__edit_screens
mcp__stitch__generate_variants           mcp__stitch__upload_design_md
mcp__stitch__create_design_system        mcp__stitch__list_design_systems
mcp__stitch__create_design_system_from_design_md
mcp__stitch__update_design_system        mcp__stitch__apply_design_system

The tool list is read from Stitch at activation, not copied into this package, so a tool Stitch adds or renames shows up without a code change. A call budget of 180s covers generate_screen_from_text, which is long-running.

Settings

Settings → Plugins → stitch-designer:

FieldMeaning
Stitch API KeyThe STITCH_API_KEY credential; write-only in the UI and never read back

Get the key from https://stitch.withgoogle.com (avatar → Stitch Settings → API key). It is stored in $DSH_HOME/.credentials.yaml as STITCH_API_KEY — not in a plugin config row, so it never appears in plaintext in cordis.patch.yml. Config sync carries it in its credentials section.

Setting the key registers the tools immediately; no restart is needed.

Design conventions

Two groups of rules apply: how a screen is commissioned, and how it is then implemented.

Commissioning:

RuleWhy
Say what to show and what to leave out, and nothing about styleThe brief names the content and the existing components, plus what must not appear. Layout, spacing, colour, type and motion are left to Stitch; a brief that fixes them turns design into transcription, no better than writing it by hand.
Ask for nothing that cannot be builtThe screen is going to be reproduced pixel for pixel, so a wish for an impossible interaction or unavailable data is a defect in the brief.
Describe a design language only when the implementation must match one — and describe it, don't name itThe one exception to "no style limits": when a screen has to fit an existing visual system (here, @logictan/dsh-macos-theme), the brief must say what that system actually looks like — colour values, radii, borders, type weights and sizes, spacing density, light/dark relationships. Stitch does not know our package or theme names; pass the theme's own design-system text verbatim when the project has one. With no such constraint, specify no design language at all.
Compose it from components the project already hasHost components and the shared component layer exist; a redrawn lookalike is work spent twice.
Ask for a dark variant every timeDark is the same design language's dark values, not an inversion. Both are implemented from one set of tokens.

Implementation:

RuleHow it reaches the model
One code project owns exactly one Stitch projectEnforced. The id is recorded in the code project's .stitch.json; a second create_project from an already-bound directory is refused with the existing id.
Implement with TailwindCSS, the way Stitch builds its screensAnnounced in the system prompt. Unless the repository already has an architecture that cannot accommodate TailwindCSS, in which case the model is told to explain that first.
Implement from Stitch's exported HTML for pixel-level fidelityAnnounced in the system prompt. The export goes to <project>/docs/design/<screenId>.html; anywhere the implementation would differ from the design, the model is told to ask first and give the reason.

Only the one-project rule is enforced in code, because it is the only one with a computable predicate. "Did you use TailwindCSS?" and "is this pixel-perfect?" cannot be checked, so a validator for them would be a lie — they are delivered the way this repository delivers every other non-computable rule, as a system-prompt section the plugin registers itself (src/guidance.js).

.stitch.json is the project's own file — commit it. It is small and hand-editable on purpose: it is the escape hatch when a Stitch project was deleted, or when the wrong one was recorded. A record pointing at a project that no longer exists is cleared automatically rather than obeyed, so the refusal can never become a permanent dead end; delete_project clears it too.

{ "projectId": "15445722684773602632" }

Only the id is stored. The title is not, because it is a second copy of a fact Stitch already owns and would go stale as soon as the project is renamed upstream — while the binding rule reads the id alone.

Local files

PathContents
$DSH_HOME/.credentials.yamlThe API key, under STITCH_API_KEY
<project>/.stitch.jsonThe Stitch project this code project owns (see above)

~/.stitch — the previous generation's screenshot/HTML cache under the user's home directory — is no longer written or read by this plugin. Exporting a design to <project>/docs/design/ is the model following the announced convention, not a plugin action; it travels with the repository, so a later session or a teammate can read the design the code was built from.

Replacing the mcp-stitch row

This plugin registers the 15 mcp__stitch__* names itself, so it replaces the mcp-stitch MCP row rather than coexisting with it: two registrations of one tool name throw. Remove that row from $DSH_HOME/cordis.patch.yml before installing, and set the key on the Plugins page.

License

MIT. See LICENSE.