DeepSeek Harness 插件

NINKCH/dsh-infinite_canvas

Star 数 ★ 75 下载量(近 30 天) 8,312 分类 工具与能力 收录于 2026-11-02 npm @ninkch/dsh-infinite-canvas

DeepSeek Harness 的节点式创作工作室——在无限画布上完成剧本、分镜、参考图与多镜头视频生成,可由对话批量驱动;图像/视频/TTS 需自带服务商(OpenAI 风格接口,或 Seedance/Sora 风格视频 API),未配置时整条流水线以离线演示模式运行、只产出占位素材。

安装

# npm 包(预构建)

dsh plugin --profile web add @ninkch/dsh-infinite-canvas

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:NINKCH/dsh-infinite_canvas

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

DeepSeek Harness 内的节点式短剧工作室。 从一句话创意出发,在无限画布上完成剧本、分镜、角色资产、画面生成、视频生成,直到带转场、字幕、配音的成片。

English | 简体中文 · 操作手册:中文版 · English guide

这是什么?

无限画布是一个 DeepSeek Harness 插件:它在 Web 界面侧边栏加入一个完整的创作工作室。你像导演一样工作——无限画布上的节点连成流水线:剧本、分镜、角色与场景资产、图片生成、视频生成,最终在成片节点完成转场、字幕与配音。

全部本地运行于你的 Harness。生成后端自带或自配均可;未配置任何 API 时有内置演示模式,整条流水线离线可学可测。

用对话驱动画布

画布与对话共享同一个"大脑"。每个节点都是一个 AI 工位,而对话侧就是导演:用自然语言下指令,Agent 替你操作画布工具——批量工作尤其如此。

「创建一个叫《时空邮递员》的项目,先写世界观和设定集。」 「根据设定集写第一集。」→ 剧本节点生成一整集(60–120 秒),每个场景带【场N】分场标记。 「把第一集铺开到场景。」→ 每场一个文本节点 + 分镜表节点自动出现并连线。 「把所有角色、场景、道具的参考图都生成了。」→ 十个图片节点一次建好、逐个生成。 「生成场1的视频。」→ 分镜镜头 + 参考图合成一次多镜头视频调用。 「把第一集交给 FilmCraft 渲染 MP4。」→ FCP7 XML + SRT 落盘,Craft 套件接手。

设定集、整集剧本、分镜拆解、成批参考图——这些批量工作正是 Agent 最快的部分。跑完后你只需要在画布上精修真正在意的那 20%:改提示词、调参考图顺序、重掷某一个镜头、从历史里回退旧结果。

案例:门缝里的字条

用上面的流程完整制作的一集。整集铺开后的画布全览——左侧一列图标添加节点,右侧「项目」面板管理当前项目的画布(第1集 / 第2集),资产与设定集在项目内共享:

画布全览(中文界面)

场1 的镜头组——场1分镜表 → 角色/场景多视图 → 场1视频,节点之间用连线表达参考关系:

场1 分镜与参考图

节点 + 生成面板:点击节点内容区弹出面板,参考图在顶部缩略图条里可拖拽排序,模型/比例/清晰度/张数一行排开:

节点与生成面板

设定集弹窗——世界观、风格基调、角色/场景/道具条目,每条都可以绑定参考资产:

设定集弹窗

资产弹窗——卡片网格,搜索/分类/项目筛选,视频以首帧作为缩略图:

资产弹窗

左上角项目名点开是项目下拉:每行显示「项目名 · 画布名」,可直接就地改名,超过 5 个项目自动分页并可跳页:

项目下拉

设置页签——数据根目录、Craft 状态、技能增强(通用专家)、文本模型与图片/视频/TTS 供应商:

设置页签

快捷键与操作:

快捷键与操作

帮助与反馈:

帮助与反馈

在对话旁边工作

画布不是必须切过去的另一个窗口——它可以作为 Harness 右侧面板里的一个页签打开,左边对话、右边分镜,同时进行:在对话里提要求,右边节点实时跟着变。

  1. 打开右侧面板(开始),点击 无限画布 卡片。
  2. 画布以页签形式出现在对话右侧,与全屏面板共享同一批项目、节点与资产。
  3. 需要更大空间时,把右栏拖宽,或用右栏的全屏按钮。

无限画布作为右侧面板页签

同一时刻只有一个画布实例(共享节点图与生成状态):在右栏打开时若全屏面板也开着,画布会被移动到右栏而不是复制一份——另一侧显示「把画布切换到这里」按钮。

3D 导演台(预演)

同一项目里内置的摆位与预演工作台:把真实 glTF 角色与场景陈设摆进场景,用真实机位取景,再把结果作为图片或视频节点导回画布。

  • 内置「媒体创作」预设模式:导演第一视角的引导式创作(选透镜 → 定题材/规格/影调 → 一句话故事 → 分镜 → 生成 → ArtCraft 后期),随插件安装、在模式选择器直接可选;附带的导演工作坊技能一次只问一个问题,带新手走完全程。
  • 三种模式:静态预演(影棚外观、暂停摆位)、动态预演(影棚外观 + 时间轴播放)、实时渲染(成片外观:日光、阴影、材质,无辅助线)。
  • 资产库:人物、树木、家具、建筑、几何体,以及古街陈设(坡屋顶、摊位、石阶),一个搜索栏全覆盖。
  • 直接操作:局部轴移动/旋转/缩放操作轴、框选、Alt + 拖轴端方块 = 等比缩放、W/A/S/D + Q/E 键盘漫游(按住 Shift 加速 4 倍)。
  • 分镜与时间轴:分镜轨、单镜起止、机位关键帧、缓动曲线、标记、循环播放。
  • 机位与光学:FOV、焦段、传感器尺寸、滚筒角联动一致;景别预设直接显示当前构图占比。
  • 导出:PNG 截图或 MP4/WebM 预演视频,直接落成画布上的图片/视频节点。

静态预演——影棚视口、对象属性与快捷键列表

动态预演——时间轴、分镜轨与机位关键帧

实时渲染——日光、真实阴影与太阳参数

资产与画布共享:你已经生成的角色、树木、家具、建筑,可以直接拿来当预演场景的摆件。

完整操作(资产页签、操作轴、快捷键表、分镜、导出):操作手册 → 3D 导演台。

技能页:导演 / 题材 / 规格 / 影调

右栏第三个页签「技能」决定整部片怎么拍。它不是提示词模板,而是会被自动拼进每一次剧本、分镜、图片、视频生成的硬约束。页面里没有任何下拉框,全部是图标瓦片,点一下选中、再点一下取消。

四层各管什么

层 数量 决定 为什么单独一层
导演 45 镜头语言、灯光色彩、剪辑节奏、风格参数 它同时约束分镜的机位字段、图片关键帧、视频运镜——整部片最不可替换的决策
题材 叙事 36 / 行业 10 压力机制、观众回报、场面颗粒、集尾钩子 同一个「复仇打脸」,王家卫拍是抽帧暧昧,徐克拍是凌厉升格;混进导演层会互相污染
规格 8 结构块、平均镜长下限、节奏、质量档 它决定「这是短剧、电影质感还是商业片」,与题材正交
影调 9 成像底层、材质、渲染质感 2D 厚涂 / 国漫 3D / 游戏 CG 是成像域,不是导演;塞进导演会让「怎么剪」和「长什么样」打架

导演(45 位):华语 16(王家卫、张艺谋、侯孝贤、毕赣、徐克、路阳、袁和平、乌尔善、李安、杨德昌、贾樟柯、姜文、杜琪峰、宁浩、周星驰、王晶)· 日韩 7(黑泽明、朴赞郁、奉俊昊、是枝裕和、李沧东、宫崎骏、新海诚)· 欧美 22(斯皮尔伯格、希区柯克、库布里克、斯科塞斯、费里尼、伯格曼、塔可夫斯基、诺兰、维伦纽瓦、芬奇、雷弗恩、马力克、迈克尔·曼、科恩兄弟、雷德利·斯科特、大卫·林奇、阿方索·卡隆、伊纳里图、韦斯·安德森、乔治·米勒、阿莫多瓦、盖·里奇)。

规格(8 种):短剧 · 电影质感 · 商业片 · 纪实 · 音乐视频 · 预告 · 解说 · 访谈。

  • 短剧是单集 60–180 秒的自足单元,同时覆盖单集与连续多集——一部剧就是一集一集往下做,不需要单独的「连续剧」规格。
  • 电影质感是质感规格,不是长片规格:它约束每一镜怎么做才像电影(ASL 1.5 秒以上、24 帧、动机光、真材质),成片长度档只到 30–300 秒。原因很实际——AI 视频模型单次只出 3–8 秒(本插件默认 5 秒),所谓「一部 120 分钟的电影」只能是几百上千个片段接起来。
  • 商业片把「宣传片 / 广告片 / 产品片」合成一张卡——它们是相近需求,靠段位配比内部分流。

画幅不在技能里决定

横屏、竖屏、方屏、宽银幕都能用任何规格——画幅与分辨率是视频节点生成时的选项。短剧竖屏投放很常见,但那是发行选择,不是创作规格;短剧同样可以横屏、可以按电影标准拍。

注入到哪

节点 / 能力 拿到的内容
剧本节点 题材卡 + 导演的叙事/节奏/表演节 + 规格的结构块
分镜表节点 导演的镜头语言/灯光/风格参数/拍摄清单 + 规格 + 运镜词典
图片节点 「风格增强锁」:风格参数 + 影调成像材质 + 题材颗粒 + 三份负向词
视频节点 同上(有上游分镜表时也追加,不打断结构化字段)
角色/场景/道具设定图 导演的灯光色彩 + 影调卡
设定集 AI 草稿 同剧本

四层全空时什么都不注入——老项目行为完全不变。

三个按钮

  • 预览:显示当前配置注入到剧本的切片全文与字节数
  • 写设定集:把风格摘要写进设定集的「风格基调」,对话侧也能读到
  • 清空:四层归零,生成行为回到默认

对话侧同样生效

配置存在项目文档里(与设定集同一套同步机制),所以对话侧读得到、面板上也看得到。在对话里说「用王家卫的风格拍这段」,Agent 会调 canvas_list_skills 看有哪些技能、再调 canvas_skill_pack 取对应切片——和画布自生成用的是同一套口径。

完整说明见 操作手册 → 技能页。

工作方式

flowchart LR
    A[剧本节点<br>一集 · 场景标记] --> B[铺开到场景<br>每场 文本+分镜表]
    B --> C[每场多镜头视频<br>镜头+参考图一次生成]
    C --> D[尾帧串联<br>场N尾帧 → 场N+1首帧]
    A --> E[参考图生成<br>角色 · 场景 · 道具]
    E --> C
    D --> F[成片 / FilmCraft<br>转场 · 字幕 · 配音]

核心亮点

角色一致,跨镜跨集

项目级设定集(风格基调 + 角色/场景/道具卡)注入每一次 AI 调用,服装、场景、道具跨镜跨集保持一致。提示词里的 @名称 自动携带该实体的设定描述与参考资产。每次分镜生成后一致性检查会标出未登记实体,Agent 自动补全。

参考图真正绑定

参考图以有序、可见的列表连线([图1] 角色:陈拾、[图2] 场景:褶皱巷),这个顺序就是到达模型的顺序。多角色画面不再含糊;Volcano Seedance 的原生 [图N] 约定端到端支持(首帧、最多 4 张参考图、官方任务 API)。

从分镜到可看成片

一个分镜表 = 一次多镜头视频生成。 全部镜头(顺序 + 每镜时长)合成一条提示词,视频模型一次调用渲染整段——硬切由模型完成,没有逐镜拼接的接缝。每场 ≤ 15 秒,多场之间用尾帧 → 首帧串联。成片节点按顺序拼接片段——交叉溶解或黑场转场、烧录字幕、原声与 TTS 配音混音——即时导出预览版;接 ArtCraft(FilmCraft)则写出 FCP7 XML 时间线 + SRT 渲染真正的 MP4。

编辑器级画布

平移缩放、框选、对齐参考线、可折叠分组、小地图、60 步撤销重做、节点媒体历史(最近 8 次)、蒙版局部重绘、全要素中键——画布应该像剪辑软件,不像聊天侧栏。

模型自带或自配

文本模型直接来自 Harness(无额外 Key)。图片/视频后端采用供应商 + 模型两级结构:供应商配一次(地址、Key、可选的厂商专属扩展参数 JSON),下面挂任意多个模型 ID,点 ★ 星标作为默认路由。视频端点自动适配——OpenAI 风格任务接口、Seedance 原生 content[]、Sora 风格 /v1/videos 由自动降级链覆盖,分辨率/比例/首帧/参考图按厂商惯例映射,超大参考图发送前自动压缩。所有网关调用经本地 Harness 宿主进程转发(无浏览器 CORS 限制)。什么都没配?演示模式本地合成占位图与动画视频,整条流水线离线可测。

便携数据根目录

设置一次数据根目录,所有数据按项目名落盘:节点与设定集在 project.json,资产索引在 assets.json,媒体在 image/ video/ audio/ text/,Craft 后期产物在 craft/。换电脑 = 复制文件夹:新机器把数据根目录指过去,所有项目(资产、设定集、媒体)自动识别——另有**「从数据根导入」**一键合并。把目录放进网盘同步文件夹,多台机器自动保持一致。

快速开始

  1. 安装插件(bundle 目录)并重启一次 Harness。
  2. 点侧边栏 Infinite Canvas,在设置里配好数据根目录。
  3. 对话:「创建一个项目叫〈你的创意〉,先写世界观和设定集。」
  4. 「写第一集。」 → 剧本节点生成带【场N】标记的一集 → 点铺开到场景(或让 Agent 做),得到每场的文本+分镜表组合。
  5. 「把所有角色、场景、道具的参考图生成了。」 → 一批命名规范、与设定集一致的资产图。
  6. 「生成场1的视频。」 → 分镜镜头 + 参考图合成一次多镜头调用;场与场之间尾帧串联。
  7. 打开成片节点导出预览版,或交给 FilmCraft 渲染正式 MP4。

未配置任何生成 API 时,全部步骤以演示模式运行——整条流水线离线可用。

完整的图文教程(含截图、模型配置与数据目录迁移)见中文操作手册。

生成后端

类型 协议 说明
文本 Harness LLM 服务 整集剧本与分镜拆解;可选任意已配置模型,或按节点覆盖
图片 OpenAI 兼容 /images/generations,多参考走 /images/edits 供应商+模型列表(星标默认);尺寸(1K/2K/4K)× 比例;扩展参数 JSON;edits+PNG 蒙版局部重绘
视频 OpenAI 风格任务接口、Seedance 原生 content[]、Sora 风格 /v1/videos——自动降级链 每场一集(≤15s)、480P/720P/1080P、比例、首帧、多参考图(自动压缩)、audios[] 声音参考
TTS OpenAI 兼容 /audio/speech 每镜配音混入成片

所有网关调用由本地 Harness 宿主进程转发(无浏览器 CORS 限制)——任何 OpenAI 风格的厂商端点都可用。

ArtCraft 桥接

安装姊妹插件 dsh-artcraft 后,画布可与本地 Craft 家族(PhotoCraft、FilmCraft、EffectCraft、LightCraft、VectorCraft、DesignCraft 等 12 个)经同源 HTTP 协作。把 ArtCraft 的数据根目录指向与画布相同的位置,全部后期产物落在 projects/<项目>/craft/:资产按项目同步、图片支持 PhotoCraft 无头调色(单个/批量)、成片导出 FCP7 XML + SRT 交 FilmCraft 渲染 MP4。设置面板的状态卡为每个 Craft 显示一盏状态灯与 n/n 就绪摘要。

发布(维护者)

维护者手册(红线、分支模型、版本规则)见 RELEASING.md;操作细节见 docs/release.md;已发布变更见 CHANGELOG.md——GitHub Release 正文一律英文,从 changelog 复制。

发布走 npm Trusted Publishing(OIDC)——任何地方都不存在 npm 令牌:

  • 发布流程:dev 测试通过并获批准 → 合并进 main → 创建 GitHub Release(tag v0.17.11,…)→ Actions 自动发布该版本。
  • publish.yml 工作流内置守卫:release 提交必须在 main 上、tag 必须与 package.json 一致,然后带 provenance 徽章发布。

数据与隐私

  • 画布文档、项目与设置存于浏览器 localStorage(dsh-ic:*);资产元数据存于 IndexedDB(dsh-infinite-canvas);设置数据根目录后媒体文件落盘(按项目名分目录,插件后端带 HTTP Range 支持视频拖动)。
  • AI 文本生成经 Harness 宿主进程(用你已配置的模型,无额外 Key)。
  • 图片/视频/TTS 网关调用由本地 Harness 宿主进程转发(规避浏览器 CORS);你的端点与 Key 都留在本地。
  • 插件自身不向任何第三方上传数据。

环境与限制

  • DeepSeek Harness 0.2.0-rc.2+;演示模式成片导出需要 MediaRecorder(Chromium)。
  • 预览成片为实时录制 WebM;多轨剪辑的 MP4 母版请配合 ArtCraft FilmCraft 或任意 NLE。
  • 图片 edits/蒙版重绘需要模型支持该端点(如 gpt-image-1)。
  • 宿主侧插件更新需重启一次 Harness;Web 半区热加载。

许可证

Apache-2.0

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。