为 DeepSeek Harness 增加可视化设计视图,在对话中直接生成并精调网站、海报、信息卡等非幻灯片设计作品。
ⓘ 此插件是大仓库 Devin-AXIS/iPolloWork 的子包,星数与活跃度统计的是整个仓库。
- 语言
- TypeScript
- License
- NOASSERTION
- 分支
- main
安装
$ dsh plugin --profile web add github:Devin-AXIS/iPolloWork/external-plugins/deepseek-harness/design-studio在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
对话式安装
帮我安装 DeepSeek Harness 插件 Devin-AXIS/iPolloWork/external-plugins/deepseek-harness/design-studio:先查看仓库 https://github.com/Devin-AXIS/iPolloWork.git 确认安全性,然后执行安装命令并验证插件加载成功。
把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。
一句话定位
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 路由;客户端通过dshmanifest 的 client.inject 注入到 Harness Web 端,对话视图里注册一个conversation.viewslot 渲染承载 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.0 | Studio 前端运行时 |
| 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.html、design-tokens.css、manifest.json、brief.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),DesignPanel 的 features.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-ippt或deepseek-ivideo的模板(README.md:128 / external-plugins/deepseek-harness/README.md:56)。
The enterprise-grade, local-first Agent Workbench for people and agent teams—one workspace for multiple agent engines, one unified system for plugins and Skills, multi-agent projects and tasks, and editable creation across code, documents, presentations, websites, design, and video.
https://github.com/user-attachments/assets/201b561a-22ec-4c8e-a4e8-f34172cf0aa3
iPolloWork is the unified workspace layer for the next agent-native way of working. It does not split projects or extensions by runtime: teams coordinate agents, tasks, schedules, plugins, Skills, tools, execution, and editable outputs from one control surface. Describe the outcome; agents plan and execute; your team reviews progress, approves actions, and keeps editing the result in the same place.
iPolloWork is not positioned as a replacement for a single coding agent. It connects Codex, DeepSeek Harness, OpenCode, and future agent runtimes through explicit compatibility boundaries while preserving the native strengths of each ecosystem. Coding is only the starting point: when the output is a deck, web page, visual design, or video, it remains editable instead of becoming a finished file or a chat transcript.
Join the official iPolloWork WeChat community
Scan with WeChat to join the official group for product updates and community discussions.
What makes it different
- One workbench across agent engines — use Codex, DeepSeek Harness, OpenCode, and future runtimes without rebuilding the project experience around each engine.
- One global extension system — install, enable, update, and uninstall portable plugins, Skills, agents, commands, services, and authorization once; optional engine-native bindings stay behind the same lifecycle.
- Project-native human-agent collaboration — give people and agents one shared project view for responsibilities, tasks, schedules, execution health, and results instead of scattering work across isolated chats.
- One editable production loop — move from code to documents, websites, presentations, design, and video while keeping text, images, layouts, timelines, and scenes editable after generation.
- Local and enterprise control — run locally, bring your own model or provider, review permissions and execution, and connect organization services only when a team needs them.
Agent runtime compatibility
OpenCode is the default local execution runtime today. DeepSeek Harness (DSH) is integrated as an optional peer runtime and subagent delegation target, while Codex connects through the ipollowork-ui-mcp control surface. MCP is the integration protocol for that path, not another agent engine alongside Codex, DSH, and OpenCode. These paths share the workbench without pretending that every runtime has the same native capabilities.
The collaboration model keeps iPolloWork as the project workspace: a task can delegate bounded work to DSH subagents when useful, then bring structured progress and results back into the same project. Each runtime retains its own agents, Skills, plugins, and execution model.
Run iPolloWork creative plugins directly in DeepSeek Harness
DeepSeek Harness users can install iPolloWork's native Design, PPT, and Video views into the DSH Web UI and start them from any project directory:
npx @deepseek-ai/dsh plugin --profile web add deepseek-idesign deepseek-ippt deepseek-ivideo
npx @deepseek-ai/dsh web
Open http://127.0.0.1:3080, start a conversation, and choose Design, PPT, or Video. If the dsh command is already installed, replace npx @deepseek-ai/dsh with dsh. DeepSeek Harness is currently a developer preview, so plugin compatibility follows its active release line.
Install iPolloWork
Download the desktop app
Official installers are published on GitHub Releases. If you prefer a manual download, choose the file that matches both your operating system and CPU:
| System | CPU | Installer to use |
|---|---|---|
| macOS | Apple Silicon (M-series) | ipollowork-mac-arm64-<version>.dmg |
| macOS | Intel | ipollowork-mac-x64-<version>.dmg |
| Windows | Intel/AMD 64-bit | ipollowork-win-x64-<version>.exe |
| Windows | ARM64 | ipollowork-win-arm64-<version>.exe |
| Linux | Intel/AMD 64-bit | ipollowork-linux-x64-<version>.AppImage |
| Linux | ARM64 | ipollowork-linux-arm64-<version>.AppImage |
The macOS .zip and Linux .tar.gz files are portable/update artifacts; most users should choose .dmg, .exe, or .AppImage. If the Releases page does not yet contain an installer for your system, run or package the app from source below.
Installation after downloading:
- macOS: open the
.dmg, then drag iPolloWork into Applications. - Windows: run the
.exeinstaller. A locally built, unsigned installer may trigger Microsoft Defender SmartScreen. - Linux: make the AppImage executable with
chmod +x ipollowork-*.AppImage, then run it. The.tar.gzpackage can be extracted and run without installation.
Requirements for source development and packaging
- Git
- Node.js 22 or newer
- pnpm 11, enabled through Corepack with
corepack enable - Bun 1.3.10 or newer, used to build the local Orchestrator sidecar
- macOS: Xcode Command Line Tools (
xcode-select --install) - Windows: Visual Studio 2022 Build Tools with Desktop development with C++ and the Windows SDK; use PowerShell or Command Prompt
- Linux: a standard Electron build environment with a C/C++ toolchain, Python 3,
pkg-config, and the desktop libraries required by Electron; the release build uses Ubuntu 22.04
OpenCode is downloaded and prepared as a separate sidecar during the first desktop build. iPolloWork does not fork or rewrite OpenCode, and OpenCode can continue to be upgraded independently.
Start from source
macOS and Linux
git clone https://github.com/Devin-AXIS/iPolloWork.git
cd iPolloWork
corepack enable
./ipollowork setup
./ipollowork dev
Windows PowerShell
git clone https://github.com/Devin-AXIS/iPolloWork.git
Set-Location iPolloWork
corepack enable
.\ipollowork.cmd setup
.\ipollowork.cmd dev
The setup command installs the locked workspace dependencies. The dev command prepares the OpenCode and Orchestrator sidecars, starts the UI, and opens the Electron desktop client. Development mode uses isolated iPolloWork/OpenCode state and does not overwrite the user's normal OpenCode configuration.
Development commands
| Purpose | macOS / Linux | Windows |
|---|---|---|
| Start desktop app | ./ipollowork dev | .\ipollowork.cmd dev |
| Start browser UI only | ./ipollowork dev:ui | .\ipollowork.cmd dev:ui |
| Connect local Cloud | ./ipollowork dev:cloud http://localhost:3100 | .\ipollowork.cmd dev:cloud http://localhost:3100 |
| Type checks and desktop tests | ./ipollowork check | .\ipollowork.cmd check |
| Production build | ./ipollowork build | .\ipollowork.cmd build |
Windows development builds do not register the production ipollowork://
handler automatically. When testing Cloud sign-in through an external browser,
use the repository's protocol switcher and restore the production handler when
you finish. See Windows protocol switching.
Build and package
There are three different build levels:
| Command | Result |
|---|---|
build | Compiles the production UI, server, Electron shell, and sidecars; does not create an installer |
package:dir | Creates the fastest unpacked desktop app for local verification; does not change the release version |
package | Runs checks, advances the client version, then creates native installer and portable/update artifacts for the current system and CPU without publishing them |
macOS and Linux
./ipollowork check
./ipollowork package:dir
./ipollowork package
Windows PowerShell
.\ipollowork.cmd check
.\ipollowork.cmd package:dir
.\ipollowork.cmd package
All outputs are written to apps/desktop/dist-electron/:
package is the local release command. It keeps the App, Desktop, Orchestrator, and Server versions in sync, and uses the sequence 0.1.0 through 0.99.0, then 1.0.0 (the source checkout starts at the unshipped baseline 0.0.0). Use ./ipollowork package --dry-run to inspect the next version, or --skip-check only when the checks have already passed. Local packaging never commits, tags, pushes, or publishes a release.
- macOS:
.dmg,.zip, and an unpacked.app - Windows: NSIS
.exeandwin-unpacked/ - Linux:
.AppImage,.tar.gz, andlinux-unpacked/
Local packaging targets the machine's current operating system and CPU architecture. Use the GitHub release workflow to produce the complete signed/notarized matrix for macOS ARM64/x64, Windows ARM64/x64, and Linux ARM64/x64. Local packages are unsigned unless the appropriate Apple or Windows signing credentials are supplied; they are suitable for development testing but should not be presented as official releases.
Connect to iPolloCloud
Start your local iPolloCloud control plane first, then run:
./ipollowork dev:cloud http://localhost:3100
This command creates an isolated development profile, points authentication and Cloud APIs at the supplied URL, and requires Cloud sign-in. It does not change the normal local iPolloWork profile. A remote or self-hosted Cloud URL works the same way:
./ipollowork dev:cloud https://cloud.example.com
Architecture boundary
Codex / MCP clients ── ipollowork-ui-mcp ──> iPolloWork desktop/UI
│
├── local API ──> Engine Protocol ──> OpenCode (default)
│ └──> DeepSeek Harness (optional)
└── optional account/control requests ──> iPolloCloud
- Agent execution, task state, and streaming are normalized at the shared engine boundary while engine-native behavior remains inside its adapter.
- Portable Skills, plugins, MCP servers, and project capabilities use one lifecycle; engine-specific enhancements stay optional.
- Codex compatibility currently uses the MCP control surface rather than claiming a native Codex engine adapter.
- iPolloCloud handles identity, organizations, entitlements, hosted worker lifecycle, administration, and commercial Apps.
- The Cloud connection is optional. Local iPolloWork works without an account or commercial service.
- OpenCode and DeepSeek Harness remain independent components and can continue to evolve without turning iPolloWork into a fork of either runtime.
Repository layout
apps/app— shared React user interfaceapps/desktop— Electron desktop shell and packagingapps/server— iPolloWork server APIapps/orchestrator— headless runtime orchestrationpackages— shared types, components, docs, and integrationsdocs— maintained engineering notes, platform guides, and generated reportsevals— executable product flows and validation toolingexamples— complete example plugin packagesexternal-plugins— independently released plugins for external agent hostspackaging— release and installer metadatascripts— development, build, audit, and release automationspecs— product and architecture specificationsvendor— pinned third-party source that is built as part of iPolloWork
Contributing
Read AGENTS.md, docs/governance.md, CONTRIBUTING.md, SECURITY.md, and
apps/app/src/react-app/ARCHITECTURE.md before making product changes. Run
the narrow relevant test first, followed by:
./ipollowork check
git diff --check
See CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md for contribution, community, and security policies.
Star History
License
iPolloWork uses the iPolloWork Source Available License 1.0:
- Free only for individual personal self-use and for small internal use by fewer than three total users.
- Prior written authorization is required for any use by three or more users, regardless of whether the use is personal, internal, commercial, non-commercial, individual, or organizational.
- Prior written authorization is required for any sale, resale, paid service, SaaS, hosting, white-label distribution, marketplace use, or customer-facing use, regardless of whether it is done by an individual or a company.
- The iPolloWork name, logo, and product attribution must remain visible in user-facing frontend displays unless prior written authorization expressly permits different branding.
- Separately licensed third-party components and code previously released under MIT retain their original licenses and existing rights.
See LICENSE for the controlling terms and LICENSES/MIT.txt for the historical MIT notice. This is a source-available license, not an OSI-approved open-source license.
收录徽章
[](https://deepseek-plugin.org/plugins/Devin-AXIS/iPolloWork/external-plugins/deepseek-harness/design-studio)把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。