iPolloWork/external-plugins/deepseek-harness/design-studio

4.3kStars833Forks76Issues552Watchers

Adds a visual design view to DeepSeek Harness, enabling direct generation and fine-tuning of non-presentation design works such as websites, posters, and info cards within the conversation.

Machine-auditedInstall commandRepo verifieddsh-plugin topicLicenseREADMEAI wiki

This plugin is a sub-package of the Devin-AXIS/iPolloWork monorepo — stars and activity count the whole repository.

Language
TypeScript
License
NOASSERTION
Branch
main
agent-collaborationagent-skillsai-agentsai-workclaude-codecodexdeepseek-harnessdsh-plugin

Install

$ dsh plugin --profile web add github:Devin-AXIS/iPolloWork/external-plugins/deepseek-harness/design-studio

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

Install via your agent

Install the DeepSeek Harness plugin Devin-AXIS/iPolloWork/external-plugins/deepseek-harness/design-studio for me: review the repository at https://github.com/Devin-AXIS/iPolloWork.git first, then run the install command and verify the plugin loads successfully.

Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.

一句话定位

iPolloWork Design Studio 是 iPolloWork 为 DeepSeek Harness 单独发布的可视化设计插件,把 Design 视图直接放进 Harness 对话里,让 AI 在工作区中生成和修改真实 HTML/CSS 项目文件,你也可以在画布中选中元素精调文字、字体、颜色、间距和图片。

核心能力

  • 作为 DeepSeek Harness 对话里的原生 Design 视图出现,与 PPT、Video 视图并列在标签栏
  • 通过对话让 AI 完整生成或大范围修改设计,并把改动写入当前工作区的真实文件
  • 选中画布中的具体元素后用 Ask AI 触发精准修改请求,插件只准备草稿不自动发送
  • 直接在画布内编辑文字、排版、颜色、尺寸、间距、背景、链接与图片,并支持桌面和移动端预览
  • 提供与 Design 主题、设计令牌(design tokens)统一的全局视觉控制
  • 内置 Design 模板市场,可浏览封面并一键套用到当前项目,支持撤销与文件冲突检测

技术实现

  • 语言: TypeScript + React(前端 Vite 构建)+ Node.js(服务端桥接)
  • 关键依赖: @deepseek-ai/cordis(插件注入与 effect)、@deepseek-ai/dsh-host-webserver(路由注册)、@deepseek-ai/dsh-workspace(工作区解析)、@deepseek-ai/dsh-client-runtime / @deepseek-ai/dsh-client-ui-conversation(前端视图插槽)
  • 架构模式: 服务端通过 cordis.patch.yml 注入名为 ipollowork-design-studio 的插件(plugin id),apply 阶段在 /ipollowork-design 前缀下注册 webServer 路由;客户端通过 dsh manifest 的 client.inject 注入到 Harness Web 端,对话视图里注册一个 conversation.view slot 渲染承载 Studio iframe 的 React 组件
  • 入口文件: src/index.ts(服务端注册与 HTTP API)、src/client.tsx(前端 Design 视图)、studio/src/main.tsx(Studio 内部 React 应用)

适用场景

适合在 DeepSeek Harness 工作区里直接产出网站、App 原型、海报、信息卡、数据报告、杂志类视觉作品的非技术用户。痛点是:以前只能在对话里得到一次性图片或截图,无法继续精调单个元素;本插件把可编辑的 HTML/CSS 项目留在工作区,并允许画布直接编辑与选区级 AI 修改交替进行。

前置依赖与兼容性

依赖最低版本说明
@deepseek-ai/dsh-client-runtime>=0.0.1-rc.1 <0.2.0-0客户端运行时,DSH Web 端必需
@deepseek-ai/dsh-client-ui-conversation>=0.0.1-rc.1 <0.2.0-0对话视图插槽机制
@deepseek-ai/dsh-host-webserver>=0.0.1-rc.1 <0.2.0-0宿主的 HTTP 路由注册能力
@deepseek-ai/dsh-workspace>=0.0.1-rc.1 <0.2.0-0工作区解析(设计文件读写需要)
@deepseek-ai/cordis^4.0.1注入与 effect 框架(构建期可选)
react^18.2.0Studio 前端运行时
Node.js未声明插件 package.json 无 engines;上层 DeepSeek Design 文档建议 ^22.19.0>=24.0.0
平台跨平台仅依赖宿主 DSH 的 Web 服务,与操作系统无关

安装方式

dsh plugin --profile web add github:Devin-AXIS/iPolloWork/external-plugins/deepseek-harness/design-studio

配置项

本插件无需用户级配置。安装后插件以 ipollowork-design-studio 标识注入宿主(cordis.patch.yml),自动在 DSH Web 端注册 Design 视图,并使用 32 字节随机令牌保护 iframe 通信与 API 调用。

常见问题

Q: deepseek-idesign 和 iPolloWork 主项目是什么关系?

A: deepseek-idesign 是 iPolloWork 为 DeepSeek Harness 单独构建发布的 Design 子插件,package.json 的 name 为 deepseek-idesign,只携带 Design 视图所需的浏览器资源;它不会下载或启动 iPolloWork 桌面端,也不会把 PPT(deepseek-ippt)和 Video(deepseek-ivideo)两个独立插件一起拉进来。

Q: 设计文件保存在哪里?

A: 全部文件直接写入 DeepSeek Harness 当前注册工作区的 design/<sessionId>/ 目录,包含 index.htmldesign-tokens.cssmanifest.jsonbrief.json 等真实可编辑文件,不存在云端封闭画布或导出截图。插件的 API 路径前缀只接受 design/ 路径(src/index.ts:75-77),其他目录不会被读取或写入。

Q: 安装后会包含 PPT 或 Video 功能吗?

A: 不包含。Design 模板只显示 surface === "design"category !== "slides" 的模板(src/index.ts:132-135),幻灯片模板由独立的 deepseek-ippt 包提供,Video Studio 由独立的 deepseek-ivideo 包提供,三个包的项目目录彼此隔离。

Q: Ask AI 会自动发送消息吗?

A: 不会。Ask AI 只把当前元素、文件路径、样式和修改要求整理成对话草稿填入 Harness 的输入框(src/client.tsx:32-43),由用户确认后再手动发送,避免 AI 自动提交造成不可控改动。

Q: 多人同时编辑会覆盖对方的工作吗?

A: 不会。Studio 写入时附带 baseUpdatedAt,如果文件自上次加载后被改动,宿主会返回 409 冲突提示让用户重新加载(studio-host/src/http.ts:161-163);写入本身通过临时文件 + rename 实现原子替换,避免半写状态。

Q: 为什么看不到发布到生产环境的功能?

A: 本插件的发布能力被显式关闭:Studio 前端的 callStorage 接口固定返回 { ok: false, error: "unsupported" }(studio/src/deepseek-client.ts:76-80),DesignPanelfeatures.publish 也被设为 false(studio/src/main.tsx:38)。发布仍由 iPolloWork 桌面端负责。

Q: 单个文件大小有限制吗?

A: 有。文本文件上限为 20 MB(src/index.ts:60 / studio-host/src/http.ts:140、155),HTTP 请求体上限也是 20 MB;超出时会返回 413 错误。

Q: 如何卸载?

A: 运行 dsh plugin --profile web remove deepseek-idesign 即可。卸载后 Design 视图会从对话界面消失,但工作区中的 design/<sessionId>/ 文件不会被自动删除,如不再需要请手动清理。

上手难度

入门 — 安装后无需配置即可在对话中选择 Design 视图开始创作,AI 生成、画布精调、Ask AI 三种交互在同一个界面里就能完成,不需要写代码或调整配置文件。

已知问题与限制

  • 不支持发布到生产环境:发布接口被显式禁用(studio/src/deepseek-client.ts:76-80),仅供本地编辑和迭代,最终成品需通过 iPolloWork 桌面端或其他渠道导出。
  • 仅能读写 design/ 子目录:所有 API 都通过 safeRelativePath 强制把路径限制在 design/ 前缀下(src/index.ts:75-77 / studio-host/src/http.ts:55-72),工作区其它目录不会被插件访问。
  • 单文件体积上限 20 MB:单文件读取与写入都受 MAX_TEXT_BYTES = 20 * 1024 * 1024 约束(src/index.ts:60),超过会返回 413。
  • 目录枚举上限 1000 项listFiles 在遍历到 1000 个条目时停止(src/index.ts:61、191),超大项目可能不会列出全部文件。
  • Session ID 格式受限:必须匹配 ^[A-Za-z0-9_-]{1,128}$(src/index.ts:62),过短或带特殊字符的会话 ID 会直接返回 400。
  • Design 模板与 Slides 模板互斥:模板市场根据 category 字段严格区分,Design 项目不会展示幻灯片模板(src/index.ts:132-135)。
  • 跨插件模板不会互通:只安装本包不会下载 deepseek-ipptdeepseek-ivideo 的模板(README.md:128 / external-plugins/deepseek-harness/README.md:56)。

Listing badge

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/Devin-AXIS/iPolloWork/external-plugins/deepseek-harness/design-studio)

Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.

← Back to plugin directory