给 DeepSeek Harness 对话增加 PPT 视图,工作区中直接生成可编辑幻灯片并导出 PDF/PPTX。
ⓘ 此插件是大仓库 Devin-AXIS/iPolloWork 的子包,星数与活跃度统计的是整个仓库。
- 语言
- TypeScript
- License
- NOASSERTION
- 分支
- main
安装
$ dsh plugin --profile web add github:Devin-AXIS/iPolloWork/external-plugins/deepseek-harness/ppt-studio在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
对话式安装
帮我安装 DeepSeek Harness 插件 Devin-AXIS/iPolloWork/external-plugins/deepseek-harness/ppt-studio:先查看仓库 https://github.com/Devin-AXIS/iPolloWork.git 确认安全性,然后执行安装命令并验证插件加载成功。
把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。
一句话定位
deepseek-ippt 把 iPolloWork 的 PPT Studio 作为原生 PPT 视图注入 DeepSeek Harness,让你在对话里让 AI 起草或修改幻灯片,然后直接在画布上逐页精调文字、图片、排版、颜色与位置,并能把成果导出为 PDF 或 PPTX。
核心能力
- 在 DeepSeek Harness 对话标签栏中提供原生 PPT 视图,与 Design、Video 视图并列
- 通过对话让 AI 生成完整幻灯片,并对选中的某一页/某一元素发起 Ask AI 精准修改(草稿需用户确认)
- 在 Studio 中逐页预览幻灯片,直接编辑文字、图片、排版、颜色、尺寸、位置与全局主题
- 提供幻灯片专属模板市场(
+入口只展示 slides 类模板),网站、海报、报告模板不会混入 - 支持保存、撤销、文件版本冲突检测,写入采用临时文件 + rename 的原子替换
- 可将作品导出为 PDF(所有 PPT 模板均支持)或 PPTX(仅标注 PPTX-compatible 的模板支持)
技术实现
- 语言: TypeScript + React(Studio 前端)+ Node.js(HTTP 桥接)
- 关键依赖:
@deepseek-ai/cordis(插件注入与 effect)、@deepseek-ai/dsh-host-webserver(路由注册)、@deepseek-ai/dsh-workspace(工作区解析)、@deepseek-ai/dsh-client-ui-conversation(前端视图插槽) - 架构模式: 本目录
src/index.ts是一个 12 行的薄壳,调用../../design-studio/src/index.ts中的createDeepSeekDesignStudioPlugin工厂并传入mode: "slides"、routeRoot: "/ipollowork-ppt"、studioTitle: "DeepSeek iPPT"、defaultTemplateId: "ipollowork.deepseek-harness.ppt"、projectSuffix: "-ippt";apply 阶段在/ipollowork-ppt前缀下注册 webServer 路由,前端通过dsh.client.inject在 Harness 对话里注册conversation.viewslot 渲染承载 Studio 的 iframe - 入口文件:
src/index.ts(服务端注册与 HTTP API)、src/client.tsx(前端 PPT 视图)、studio/vite.config.ts(Studio 前端构建)
适用场景
适合需要在 DeepSeek Harness 工作区里直接产出可编辑幻灯片、对外汇报材料或课堂讲稿的用户。痛点是以前只能在对话里得到一次性图片或截图,无法继续精调单页元素;本插件把真实的 HTML/CSS 项目留在工作区,并允许 AI 生成、画布直接编辑、选区级 Ask 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/ppt-studio
配置项
本插件无需用户级配置。安装后插件以 ipollowork-ppt-studio 标识注入宿主(cordis.patch.yml),自动在 DSH Web 端注册 PPT 视图,使用 32 字节随机令牌保护 iframe 通信与 API 调用,所有读写都限制在当前工作区的 design/ 目录内。
常见问题
Q: deepseek-ippt 与 iPolloWork 主项目是什么关系?
A: deepseek-ippt 是 iPolloWork 为 DeepSeek Harness 单独发布的 PPT 子插件(package.json 的 name 为 deepseek-ippt),只携带 PPT 视图所需的浏览器资源;安装它不会下载或启动 iPolloWork 桌面端,也不会把 Design(deepseek-idesign)和 Video(deepseek-ivideo)两个独立插件一起拉进来。
Q: 幻灯片文件保存在哪里?
A: 全部文件直接写入 DeepSeek Harness 当前注册工作区的 design/<sessionId>-ippt/ 目录(src/index.ts:9 / design-studio/src/index.ts:87-92),含 index.html、design-tokens.css、manifest.json、brief.json 等真实可编辑文件。-ippt 后缀与 iDesign 项目严格隔离,不会相互覆盖。
Q: 安装后会自动包含 Design 或 Video 视图吗?
A: 不会。PPT 模板筛选只放行 category === "slides" 且 surface === "design" 的模板(design-studio/src/index.ts:132-135),网站、海报、报告模板由独立的 deepseek-idesign 提供,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: 取决于模板兼容性:标注 PPTX-compatible 的模板可以导出 PPTX(apps/app/.../design-panel.tsx:2556-2561),其中文字、形状与图片都会转成可编辑的 PowerPoint 对象;任意 PPT 模板都能通过 html2canvas + jsPDF 逐页截图导出 PDF(design-panel.tsx:1155-1225)。
Q: 单个文件大小有限制吗?
A: 有。文本文件与 HTTP 请求体上限都是 20 MB(design-studio/src/index.ts:60 / studio-host/src/http.ts:10、140、155),超出时返回 413。
Q: 如何卸载?
A: 运行 dsh plugin --profile web remove deepseek-ippt 即可。卸载后 PPT 视图会从对话标签栏消失,但工作区中的 design/<sessionId>-ippt/ 文件不会被自动删除,如不再需要请手动清理。
上手难度
入门 — 安装后无需配置即可在对话中选择 PPT 视图开始创作,AI 生成、画布精调、Ask AI 三种交互在同一个界面里就能完成,不需要写代码或调整配置文件。
已知问题与限制
- 不支持发布到生产环境:发布能力由 iPolloWork 主项目接管,PPT 插件与 Design 插件一样不内置发布到线上的能力(参考 iDesign 实现的
studio/src/deepseek-client.ts:76-80),最终成品需通过 Studio 内的 PDF/PPTX 导出获得。 - 仅能读写
design/子目录:所有 API 都通过safeRelativePath强制把路径限制在design/前缀下(design-studio/src/index.ts:75-77 / studio-host/src/http.ts:55-72),工作区其它目录不会被插件访问。 - 单文件与请求体上限 20 MB:单文件读取与写入都受
MAX_TEXT_BYTES = 20 * 1024 * 1024约束(design-studio/src/index.ts:60),HTTP 请求体上限同样为 20 MB(studio-host/src/http.ts:10),超出时返回 413。 - 目录枚举上限 1000 项:
listFiles在遍历到 1000 个条目时停止(design-studio/src/index.ts:61、191),超大项目可能不会列出全部文件。 - Session ID 格式受限:必须匹配
^[A-Za-z0-9_-]{1,128}$(design-studio/src/index.ts:62),过短或带特殊字符的会话 ID 会直接返回 400。 - PPTX 导出仅对 PPTX 兼容模板有效:只有用
data-pptx-text/data-pptx-shape/data-pptx-image等 marker 构建的模板才能导出为可编辑的 PPTX,其它模板只能走 PDF 截图导出(design-panel.tsx:451、1380、2556-2561 / pptx-compatible-export.ts:267、305、395)。 - 跨插件模板与项目不会互通:只安装本包不会下载
deepseek-idesign或deepseek-ivideo的模板,Design 项目的目录也不会被 PPT 插件读取(README.md:128 / external-plugins/deepseek-harness/README.md:56)。 - Studio 通信通过进程级令牌:iframe 与宿主 API 之间用 32 字节随机令牌鉴权(design-studio/src/index.ts:281)并校验同源消息,DSH 重启或工作区切换后旧令牌会失效,需要刷新页面。
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/ppt-studio)把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。