为 DeepSeek Harness 增加原生 Video 视图,基于 HyperFrames 0.7.60 在对话里直接生成、编辑、导出可编辑视频项目并支持校验工具。
ⓘ 此插件是大仓库 Devin-AXIS/iPolloWork 的子包,星数与活跃度统计的是整个仓库。
- 语言
- TypeScript
- License
- NOASSERTION
- 分支
- main
安装
$ dsh plugin --profile web add github:Devin-AXIS/iPolloWork/external-plugins/deepseek-harness/video-studio在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
对话式安装
帮我安装 DeepSeek Harness 插件 Devin-AXIS/iPolloWork/external-plugins/deepseek-harness/video-studio:先查看仓库 https://github.com/Devin-AXIS/iPolloWork.git 确认安全性,然后执行安装命令并验证插件加载成功。
把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。
一句话定位
deepseek-ivideo 把 iPolloWork 的 Video Studio 作为原生 Video 视图注入 DeepSeek Harness,让你在对话里让 AI 起草或修改整段视频、套用 27 个内置模板,并对画布中选中的元素发起 Ask AI 精准修改,最终导出成片。
核心能力
- 在 DeepSeek Harness 对话标签栏中提供原生 Video 视图,与 Design、PPT 视图并列
- 通过对话让 AI 完整生成或大范围修改视频,并把改动写入当前工作区的真实 HyperFrames 项目文件
- 选中画面中标题、图片、素材或其他元素后用 Ask AI 触发精准修改请求,插件只准备草稿不自动发送
- 内置 27 个可编辑的视频模板,可一键套用到当前会话项目,失败自动回滚
- 提供
ipollowork_video_validate模型工具,自动对当前会话的可编辑视频做结构化校验 - 每个会话对应一个独立的 HyperFrames 预览进程,所有 lease 释放 60 秒后自动回收,端口冲突时自动回退
- 基于 HyperFrames 原生导出能力将视频导出成片,画布操作直接落到 HTML/CSS/素材文件
技术实现
- 语言: TypeScript + React(Studio 前端,Vite 构建)+ Node.js(HTTP 桥接与运行时进程管理)
- 关键依赖:
@deepseek-ai/cordis(插件注入与 effect)、@deepseek-ai/dsh-host-webserver(路由注册)、@deepseek-ai/dsh-tools(模型工具注册)、@deepseek-ai/dsh-workspace(工作区解析)、@deepseek-ai/dsh-client-ui-conversation(前端对话视图插槽) - 架构模式: 服务端通过
cordis.patch.yml注入名为ipollowork-video-studio的插件,apply 阶段在/ipollowork-video前缀下注册 webServer 路由,把静态资源、模板目录、项目初始化以及校验工具接到宿主;同时通过dsh.client.inject把客户端代码注入到 Harness Web 端,对话里注册conversation.viewslot 渲染承载 Studio 的 iframe;Studio 内部复用 iPolloWork 主项目的VideoPanel并通过createDeepSeekVideoStudioHost桥接到宿主 API - 入口文件:
src/index.ts(服务端注册与 HTTP API)、src/client.tsx(前端 Video 视图)、studio/src/main.tsx(Studio 内部 React 应用)、stage-hyperframes-runtime.mjs(打包时把 vendor/hyperframes 的本地构建产物拷贝到lib/hyperframes,运行时仅调用嵌入的 cli.js)
适用场景
适合需要在 DeepSeek Harness 工作区里直接产出可编辑视频、营销短片、社媒内容或教学片段的用户。痛点是以前只能在对话里得到一次性视频或截图,无法继续精调单一元素;本插件把真实的 HyperFrames 项目留在 video/<sessionId>/,并允许 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 | 对话视图插槽机制(Video 视图注册依赖) |
@deepseek-ai/dsh-host-webserver | >=0.0.1-rc.1 <0.2.0-0 | 宿主的 HTTP 路由注册能力 |
@deepseek-ai/dsh-tools | >=0.0.1-rc.1 <0.2.0-0 | 注册 ipollowork_video_validate 模型工具 |
@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 | >=22 | package.json 中 engines.node 显式声明 |
| 平台 | macOS / Windows / Linux | 仅依赖宿主 DSH 的 Web 服务和 Node.js 子进程;process.platform 区分 Windows 与 POSIX 处理进程组信号 |
安装方式
dsh plugin --profile web add github:Devin-AXIS/iPolloWork/external-plugins/deepseek-harness/video-studio
配置项
本插件无需用户级配置。安装后插件以 ipollowork-video-studio 标识注入宿主(cordis.patch.yml),自动在 DSH Web 端注册 Video 视图,使用 32 字节随机令牌保护 iframe 通信与 API 调用,所有读写都限制在当前工作区的 video/<sessionId>/ 目录内。
常见问题
Q: deepseek-ivideo 与 iPolloWork 主项目是什么关系?
A: deepseek-ivideo 是 iPolloWork 为 DeepSeek Harness 单独发布的 Video 子插件,package.json 的 name 为 deepseek-ivideo,只携带 Video 视图所需的浏览器资源;安装它不会下载或启动 iPolloWork 桌面端,也不会把 Design(deepseek-idesign)和 PPT(deepseek-ippt)两个独立插件一起拉进来。
Q: 视频项目保存在哪里?
A: 全部文件直接写入 DeepSeek Harness 当前注册工作区的 video/<sessionId>/ 目录(packages/types/src/hyperframes-project.ts:14-16 / src/runtime.ts:234-247),含 index.html、manifest.json、brief.json 等真实可编辑文件,与 iDesign 的 design/ 和 iPPT 的 design/<sessionId>-ippt/ 目录互相隔离,不会相互覆盖。
Q: 安装后会自动包含 Design 或 PPT 视图吗?
A: 不会。视频模板筛选只放行 surface === "video" 且 category === "video" 的模板(src/index.ts:61-64),网站、海报、报告类模板由独立的 deepseek-idesign 提供,PPT 类模板由 deepseek-ippt 提供;三个插件的项目目录彼此隔离。
Q: Ask AI 会自动发送消息吗?
A: 不会。Ask AI 只把当前视频项目或选中元素的相对路径、定位信息、文字、素材和样式整理成对话草稿填入 Harness 输入框(src/client.tsx:20-30),由用户确认后再手动发送,避免 AI 自动提交造成不可控改动。
Q: 多人同时编辑会覆盖对方的工作吗?
A: 不会。视频文件写入走 studio-host 的 writeStudioText,附带 baseUpdatedAt,如果文件自上次加载后被改动会返回 409 冲突提示让用户重新加载(studio-host/src/http.ts:161-163);写入本身通过临时文件 + rename 实现原子替换,避免半写状态。
Q: 为什么首版没有语音克隆和 Design System 抽屉?
A: 首版在 Studio 中显式关闭了 voice 和 designSystem 两个特性开关(studio/src/main.tsx:48-54),branding 标题也固定为 iVideo by iPolloWork;这两项属于 iPolloWork 主项目的全局能力,当前版本暂未暴露给 DeepSeek Harness 宿主,仅保留 Video 模板、时间线、编辑、预览和导出能力。
Q: 如何卸载?
A: 运行 dsh plugin --profile web remove deepseek-ivideo 即可。卸载后 Video 视图会从对话标签栏消失,但工作区中的 video/<sessionId>/ 文件不会被自动删除,如不再需要请手动清理。
上手难度
入门 — 安装后无需配置即可在对话中选择 Video 视图开始创作,AI 生成、画布精调、Ask AI 三种交互在同一个界面里就能完成,不需要写代码或调整配置文件;模板套用、校验、导出都通过 Studio 内置按钮触发。
已知问题与限制
- 首版不内置语音克隆、语音设置与 Design System 抽屉:Studio 中
features.voice与features.designSystem被显式置为false(studio/src/main.tsx:48-54),需要这些能力的用户需使用 iPolloWork 桌面端。 - 仅能读写
video/<sessionId>/子目录:所有 API 都通过safeRelativePath强制把路径限制在video/前缀下(src/index.ts:144-164 / studio-host/src/http.ts:46-60),工作区其它目录不会被插件访问;跨工作区的符号链接也会被拒绝(studio-host/src/http.ts:80-95)。 - 单文件体积上限 4 MB:视频项目的
index.html等文本读取与写入受MAX_TEXT_BYTES = 4 * 1024 * 1024约束(src/index.ts:43),与 iDesign/iPPT 的 20 MB 不同;HTTP 请求体上限仍是 20 MB(studio-host/src/http.ts:10、187),超出时返回 413。 - Session ID 格式受限:必须匹配
^[A-Za-z0-9_-]{1,128}$(src/index.ts:42),过长或带特殊字符的会话 ID 会直接返回 400。 - 端口分配在 3100-3900 区间按哈希取模:每个 sessionId 派生出一个固定的本地端口(packages/types/src/hyperframes-project.ts:1-8),最多向后探测 32 个端口寻找可用槽位;若全部被占用则启动失败(src/runtime.ts:21、258-307)。
- 运行时进程有空闲超时:所有 lease 释放 60 秒后进程自动被 SIGTERM 回收,启动超时上限 45 秒(src/runtime.ts:19-22、405-410)。
- 嵌入的 HyperFrames 运行时版本与 npm 公开发行版不同:发布包在打包时通过
stage-hyperframes-runtime.mjs把 vendor/hyperframes 的本地构建产物(当前源版本 0.7.60)拷进lib/hyperframes/,安装时不会从 npm 拉取同名包;用户如果想升级必须等待主仓库同步并重新发版(package.json:66 / stage-hyperframes-runtime.mjs:7-47)。 - 校验工具超时 120 秒:
ipollowork_video_validate在执行超过 120 秒后会中止底层进程(src/index.ts:209-237),特别复杂的项目需要分段校验或简化项目结构。
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/video-studio)把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。