用导演流水线把小说一键生成漫剧成片
32.9/100
综合分
6
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add hackerFish/dsh-video-studio该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · vision
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 59 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/27) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@hackerfish/dsh-video-studio(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/17 12:41:22
🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0🔴 扫描:高危尚无人工评估
静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。
命令参数由运行时变量拼接读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 59 处,展示前 34 条)
- 读取本地文件lib/host/index.mjs:573
const walk = (dir) => readdirSync(dir, { withFileTypes: true }).flatMap((e) => e.isDirectory() ? walk(join(dir, e.name)) : e.name.endsWith(".ts") ? [j - 读取本地文件lib/host/index.mjs:574
return walk(base).map((p) => ({ path: p.slice(ROOT.length + 1).replace(/ /g, "/"), lines: readFileSync(p, "utf8").split("\n").length })).sort((a, b) - 读取本地文件lib/host/index.mjs:578
const files = readdirSync(base).filter((f) => f.endsWith(".test.ts")); - 读取本地文件lib/host/index.mjs:580
(n, f) => n + (readFileSync(join(base, f), "utf8").match(/^test /gm) ?? []).length, - 读取本地文件lib/host/index.mjs:586
const src = readFileSync(join(ROOT, "src/host/tools.ts"), "utf8"); - 读取本地文件lib/host/index.mjs:590
const src = readFileSync(join(ROOT, "src/host/index.ts"), "utf8"); - 执行外部命令运行时拼接lib/host/index.mjs:599
const run = (args) => execSync(`git ${args}`, { cwd: ROOT, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] }).trim(); - 写入本地文件lib/host/index.mjs:694
mkdirSync(dirPath, { recursive: true, mode: 448 }); - 写入本地文件lib/host/index.mjs:696
chmodSync(dirPath, 448); - 写入本地文件lib/host/index.mjs:798
mkdirSync(dirname2(this.file), { recursive: true }); - 写入本地文件lib/host/index.mjs:799
writeFileSync(tmp, JSON.stringify(this.data, null, 2) + "\n", { mode: 384 }); - 写入本地文件lib/host/index.mjs:801
chmodSync(tmp, 384); - 写入本地文件lib/host/index.mjs:804
renameSync(tmp, this.file); - 删除本地文件lib/host/index.mjs:812
rmSync(this.file, { force: true }); - 执行外部命令来自配置/变量lib/host/index.mjs:968
const p = spawn(bin, ["-i", src], { stdio: ["ignore", "ignore", "pipe"] }); - 发起网络请求lib/host/index.mjs:1158
const out = await p2.fetch(jobId); - 发起网络请求lib/host/index.mjs:1206
const out = await p.fetch(jobId); - 发起网络请求lib/host/index.mjs:1699
const out = await p.fetch(jobId); - 发起网络请求lib/host/index.mjs:1757
const q = await (await fetch(`${base}/queue`, { signal: AbortSignal.timeout(8e3) })).json(); - 发起网络请求lib/host/index.mjs:1777
const oi = await (await fetch(`${base}/object_info`, { signal: AbortSignal.timeout(3e4) })).json(); - 发起网络请求lib/host/index.mjs:1800
const q = await (await fetch(`${base}/queue`, { signal: AbortSignal.timeout(1e4) })).json(); - 发起网络请求lib/client/index.js:9209
const res2 = await fetch("/dsh-video-studio/comfyui/run", { - 发起网络请求lib/client/index.js:9219
const res = await fetch(STAGE_ENDPOINT[data.stage] ?? "/dsh-video-studio/generate", { - 发起网络请求lib/client/index.js:9368
fetch("/dsh-video-studio/comfyui/nodes", { cache: "no-store" }).then((r) => r.json()).then((d) => { - 发起网络请求lib/client/index.js:9375
fetch("/dsh-video-studio/comfyui/queue", { cache: "no-store" }).then((r) => r.json()).then((d) => { - 发起网络请求lib/client/index.js:9404
const res = await fetch(url, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify(body) }); - 发起网络请求lib/client/index.js:9606
fetch("/dsh-video-studio/runs", { cache: "no-store" }).then((r) => r.json()).then((d) => { - 写入剪贴板lib/client/index.js:9886
navigator.clipboard?.writeText(t).catch(() => { - 发起网络请求lib/chunk-YJ6H2MSU.mjs:29
async fetch(jobId) { - 发起网络请求lib/chunk-YJ6H2MSU.mjs:182
async fetch(jobId) { - 发起网络请求lib/chunk-YJ6H2MSU.mjs:260
async fetch(jobId) { - 发起网络请求lib/chunk-YJ6H2MSU.mjs:342
async fetch(jobId) { - 发起网络请求lib/chunk-YJ6H2MSU.mjs:423
async fetch(jobId) { - 发起网络请求lib/chunk-YJ6H2MSU.mjs:492
async fetch(jobId) {
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
1 张 · 点击查看大图功能亮点
- 小说一键生成漫剧成片
- 六段导演流水线
- 多供应商免费额度调度
鲸影 DSH Video Studio:DeepSeek Harness 原生视频/漫剧生成插件——六段导演流水线、多供应商免费额度调度、四层提示词自优化,质量优先省钱第二
README
由 DeepSeek 最新模型翻译生成🐳 dsh-video-studio(鲸影)
DeepSeek Harness 原生视频/漫剧生成插件:七段导演流水线 × 多账号额度池(失败自动换号)× 凭证保险库 × 四层提示词 + 评分回写闭环。
生态现状:DSH 已有 1000+ 插件,但没有一个生成式视频插件;外部有工业级漫剧平台(waoowaoo / LumenX / MangaV / ArcReel),但都是独立软件,不是 DSH 插件。鲸影把这条已验证的流水线做成 DSH 原生、热拔插、可每步接管 的插件。
真机演示——真实 AI 生成视频(wan2.2-t2v-plus,DashScope,1080p 5 秒):
鲸影真机演示
项目量化评估
一句话定位
质量第一,省钱第二:免费额度优先试生成 → 质检不达标自动升档重拍 → 全部消耗可追溯。
展开完整文档(README 剩余 1 节)
🐳 dsh-video-studio(鲸影) DeepSeek Harness 原生视频/漫剧生成插件:七段导演流水线 × 多账号额度池(失败自动换号)× 凭证保险库 × 四层提示词 + 评分回写闭环。 生态现状:DSH 已有 1000+ 插件,但没有一个生成式视频插件;外部有工业级漫剧平台(waoowaoo / LumenX / MangaV / ArcReel),但都是独立软件,不是 DSH 插件。鲸影把这条已验证的流水线做成 DSH 原生、热拔插、可每步接管 的插件。 真机演示——真实 AI 生成视频(wan2.2-t2v-plus,DashScope,1080p 5 秒): 鲸影真机演示 项目量化评估 一句话定位 质量第一,省钱第二:免费额度优先试生成 → 质检不达标自动升档重拍 → 全部消耗可追溯。 七段工作流(行业公认管线) 故事(豆包等 LLM 写小说)→ 剧本(LLM 拆剧)→ 分镜(LLM 出分镜) → 资产主图(MJ 等出主视觉)→ 资产图(图像模型出变体,万相/豆包) → 视频(Seedance/即梦/可灵)→ 成片(剪映草稿/ffmpeg) - 前三个阶段是 LLM 阶段:在 DSH 里由会话模型直接完成——你对话用的模型(豆包/DeepSeek 都可以)就是"写小说/拆剧本/出分镜"的大脑,插件不再调外部 LLM 与公认工作流的对照: | 公认流程 | 鲸影落点 | | 豆包写小说/拆剧本/出分镜 | = DSH 会话模型直做 story/script/storyboard 三段(换豆包模型即"豆包写") | | MJ 出资产主图 | = master-asset 段(MJ 官方 API 适配器待写;万相/Seedream 可替) | | image 出资产图 | = shot-assets 段(万相✅实测 / 豆包 Seedream✅已接入) | | Seedance 出视频 | = video 段(豆包 Seedance✅ / 即梦 / 可灵 / ComfyUI) | | 剪映剪辑成片 | = final-cut 段(剪映草稿导出✅ / ffmpeg✅) | - 每段都有 gate(auto 全自动 / ask 每步询问 / manual 人工提供) - 一致性资产库:角色/场景主图 + 逐镜变体登记,参考图自动注入提示词(漫剧行业一致性标准做法) - 并行分镜:资产图与视频批量提交、并发轮询 - 额度池:每供应商多账号轮换 + 按日额度 + 失败指数退避 + 流水线内自动降级重提(坏号立刻冷却,换下一个健康号继续跑)+ 全程审计 - 凭证保险库:账号存在 ~/.whale/whale.json(0600 权限、原子写入),API 只回脱敏提示,设置页「鲸影账号」tab 直接增删管理 - 评分回写闭环:每次评审把得分+增益组合写回评分簿,优化器按真实历史得分选增益 - 风格基因(记忆):风格 DNA、模板评分演化、重拍反馈,跨会话沉淀 - 提示词工程:专业模板库(角色三视图/场景主图/单镜画面,参数化)+ 质量增益库(8K/无阴影/中性表情/严禁文字…可组合)+ 优化器;whale_optimize_prompt 工具把草稿一键优化成专业级四层提示词(深度自由 + 自优化) 1. 风格 DNA(全局):画风/色调/节奏/一致性 token 2. 分镜模板:景别、运镜、时长结构 3. 逐镜提示词:可全手写,自动注入模板变量 4. 负向/一致性注入:自动生成、可覆盖 自优化闭环:生成 → 评审打分(LLM 评审 + 你的点赞/重拍记录)→ 得分与增益组合写回评分簿 → 下次同风格自动按历史真实表现选增益。你的每一次"重拍"都在训练你的风格基因。 多账号与免费额度调度 - 供应商两种接入:API Key 型(可灵/百炼/Veo/Replicate…)与 sessionid 型(即梦等官网免费额度,sessionid 由你在官网登录后自取) - 额度池(AccountPool):每个账号登记每日配额 → 自动轮换 → 失败指数退避(60s 起翻倍封顶 30min)→ 免费额度耗尽降级到付费 key → 提交失败当场换下一个健康账号重提,坏号不会被反复拖死 - 账号凭证通过设置页「鲸影账号」或 POST /dsh-video-studio/accounts 管理,明文只落本机 vault,接口只回脱敏 - 运行时接线:UI 里加的账号直接喂给 whale_generate_video——保险库 → 池选号(轮换/退避)→ 按账号构造供应商(src/host/account-providers.ts:单字段凭证明文、多字段凭证 JSON)→ 额度与健康状态写回保险库 - 费用追踪:每次生成记录供应商/账号/消耗,随时可查 ⚠️ 合规声明:本插件支持你自有的多账号按各平台官方规则轮换额度;不提供批量注册、绕过风控等违反平台条款的功能——那会封号且不专业。请遵守各平台服务条款。 架构原则 - 薄抽象:供应商 = 一个 6 方法接口(submit/status/fetch/capabilities/quote/health),新增模型只需一个适配器文件 - 能力路由:导演引擎按供应商声明的 capabilities(文生视频/图生视频/首尾帧/口型/时长/分辨率)自动选路 - 热拔插:插件本身 dsh plugin add 即装即用;供应商与流水线阶段运行时热切换,不重启 - 详见 docs/ARCHITECTURE.md 现在能做什么 - 七段流水线、四层提示词合并、额度池调度(退避/降级)、质检重拍(导演喊卡)、评分回写、自我审计、口型同步段(配音镜头自动跑对口型,失败回退原片)、Windows 兼容(SAPI 配音/中文字体候选):123 个单测,全绿 - 剪映草稿导出(结构校验器盯着);ffmpeg 自动剪辑(真实成片、时长校验过) - 口型同步段已接入成片:配置 capabilities.lipSync 供应商后,每个有配音的镜头自动跑对口型(源视频引用 + 音频 base64),对口型片替换原片;失败不致命,回退原片继续出片。分镜脚本还支持 voiceFile 直接挂外部配音(真人录音/云 TTS),跳过本地 TTS - 本地中文配音:macOS say 零 key;Windows 走 PowerShell SAPI(需系统装中文语音包),其他平台/无语音包用 voiceFile 挂外部配音(云 TTS/真人录音);中文字幕字体候选已覆盖 macOS/Linux/Windows(微软雅黑/黑体/宋体) - 无 key 也能跑完整 demo:node scripts/demo.ts,成片在 demos/ - 预置漫剧内容包:5 套题材(都市逆袭/仙侠/悬疑/甜宠/科幻),每套含双语角色卡+场景卡+分镜,node scripts/demo-presets.ts 无 key 全链路出片;whale_story_presets 工具一键出流水线脚本 - 自我分析:whale_self_audit 工具 / npm run self-audit 扫描项目自身(源码模块/测试数/供应商矩阵/能力清单/差距清单),自动生成 docs/AUDIT-REPORT.md——每天 diff 这份报告就是进度日志;本次会话的踩坑复盘沉淀在 docs/RETROSPECTIVE-2026-08-17.md - 真插件:装进 DSH 启动无报错;/dsh-video-studio/health、/runs、/accounts 三个路由在线;七个模型工具(whale_story_presets / whale_storyboard / whale_generate_video / whale_optimize_prompt / whale_quality_review / whale_comfyui_workflow / whale_self_audit);设置页「鲸影」+「鲸影工作台」+「鲸影账号」三个 tab - 即梦免费档:协议全通,但文生视频队列长期 SystemBusy(实测凌晨依然满)——免费策略改为:万相免费文生图出资产图(✅ 实测出真图)→ 即梦图生视频/官方 API 免费额度出视频 - 通义万相免费文生图:实测出过真图(1.28MB 鲸鱼图在 demos/) - 万相视频(DashScope)✅ 真机出片:wan2.2-t2v-plus,1920×1080 5 秒约 90 秒出片,鲸鱼真片在 demos/dashscope-wan-live.mp4——⚠️ 按量计费 ¥0.70/秒(1080p),不是免费额度;账号默认额度为 0(暂停调度),付费生成前须显式确认预算 - 可灵官方、可灵百炼、豆包 Seedance 三个适配器写好,手头没 key,还没跑过真实生成 - 可灵对口型(lip-sync):官方 API 3-13 契约适配器写好(audio2video 贴 TTS 音频 / text2video 官方音色),8 个单测覆盖字段映射与状态机——真实调用等 key - ComfyUI 本地引擎:/prompt→/history→/view 协议已通(mock 服务器级验证),导演层能把分镜决策直接生成 ComfyUI workflow JSON(变量替换+占位校验)——有 GPU 装个 ComfyUI 就是免费无限生成的本地引擎;whale_comfyui_workflow 工具离线可见 - 豆包网页版:真实抓包回放成功——SSE 聊天接口可做 LLM 三段(写小说/拆剧本/分镜),图片 bot 可出资产图;专业版免费额度按 7 天窗口(额度耗尽时图片停、文本继续) - 可灵网页版:反爬是一次性令牌,协议已存档,自动化需要抓包桥——先搁着 安装 dsh plugin --profile web add github:hackerFish/dsh-video-studio --ignore-workspace-root-check 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
hackerFish/dsh-video-studio
用导演流水线把小说一键生成漫剧成片
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,359已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,514已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,289已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,675已汉化DSH
71.2
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,522已汉化DSH
71
这是你的仓库?认领条目