🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

泡泡猫影视工作站 zmm863-commits/dsh-agnes-studio

DeepSeek Harnessv0.7.1
zmm863-commits31 天前有提交已提供中文文档扫描:含敏感能力

🎬 泡泡猫的影视工具 — AI 影视创作工作站:文生图、图生图、文生视频、图生视频、短剧剧本拆解与提示词专家。支持 Agnes / DeepSeek / Qwen / 豆包 / MiniMax / Ollama 六大厂商…

41/100
综合分
12
GitHub 星标
1,274
npm 周下载
—/5
用户评分

数据截至 2026/10/5 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-agnes-studio
npm 源 · dsh-agnes-studio 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · vision
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
数据截至 2026/10/31·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 31 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-agnes-studio @ 0.7.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 20:46:54

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 190 处,展示前 41 条)
  • 发起网络请求
    lib/client.js:5867
    const resp = await fetch("/agnes-studio/api/status", { method: "GET" });
  • 发起网络请求
    lib/client.js:5904
    const resp = await fetch("/agnes-studio/api/models", { method: "GET" });
  • 发起网络请求
    lib/client.js:5922
    const resp = await fetch("/agnes-studio/api/proxy", {
  • 发起网络请求
    lib/client.js:6161
    const resp = await fetch(`${API_BASE$8}/prompt-expert/types`);
  • 发起网络请求
    lib/client.js:6168
    const resp = await fetch(`${API_BASE$8}/prompt-expert/generate`, {
  • 写入剪贴板
    lib/client.js:6515
    navigator.clipboard?.writeText(text);
  • 发起网络请求
    lib/client.js:6712
    const resp = await fetch(`${API_BASE$7}/anchor/start`, {
  • 写入剪贴板
    lib/client.js:9804
    navigator.clipboard?.writeText(result.url);
  • 写入本地文件
    lib/index.js:22
    mkdirSync(dir, { recursive: true });
  • 写入本地文件
    lib/index.js:30
    mkdirSync(dir, { recursive: true });
  • 写入本地文件
    lib/index.js:38
    mkdirSync(dir, { recursive: true });
  • 执行外部命令来自配置/变量
    lib/index.js:61
    child = spawn(cmd, args, { windowsHide: true });
  • 读取本地文件
    lib/index.js:123
    if (!existsSync(cmd)) continue;
  • 读取本地文件
    lib/index.js:148
    if (!existsSync(cmd)) continue;
  • 读取本地文件
    lib/index.js:197
    if (fromEnv && existsSync(fromEnv)) {
  • 读取本地文件
    lib/index.js:201
    for (const f of CJK_FONT_CANDIDATES) if (existsSync(f)) {
  • 写入本地文件
    lib/index.js:432
    writeFileSync(assPath, buildAss(cues, {
  • 写入本地文件
    lib/index.js:520
    writeFileSync(listPath, inputs.map((f) => `file '${f.replace(/'/g, "'\\''")}'`).join("\n") + "\n", "utf8");
  • 删除本地文件
    lib/index.js:537
    rmSync(listPath, { force: true });
  • 删除本地文件
    lib/index.js:540
    rmSync(f, { force: true });
  • 写入本地文件
    lib/index.js:595
    writeFileSync(assPath, buildAss(opts.cues, {
  • 删除本地文件
    lib/index.js:724
    rmSync(listPath, { force: true });
  • 删除本地文件
    lib/index.js:729
    rmSync(f, { force: true });
  • 读取本地文件
    lib/index.js:785
    return existsSync(p) ? JSON.parse(readFileSync(p, "utf8")) : null;
  • 读取本地文件
    lib/index.js:785
    return existsSync(p) ? JSON.parse(readFileSync(p, "utf8")) : null;
  • 发起网络请求
    lib/index.js:806
    const r = await fetch(`${baseUrl}/chat/completions`, {
  • 发起网络请求
    lib/index.js:999
    const r = await fetch(url, { signal: ac.signal });
  • 发起网络请求
    lib/index.js:1598
    const r = await fetch(url, {
  • 发起网络请求
    lib/index.js:1673
    const r = await fetch(input.value);
  • 发起网络请求
    lib/index.js:1849
    const dl = await fetch(ai.url);
  • 发起网络请求
    lib/index.js:1904
    const dl = await fetch(ai.url);
  • 读取密钥环境变量
    lib/index.js:5353
    if (process.env.MIMO_API_KEY) return process.env.MIMO_API_KEY;
  • 写入本地文件
    vendor/oh-story/index.js:74
    await mkdir(path, { recursive: true, mode: 448 });
  • 读取本地文件
    vendor/oh-story/index.js:75
    const info = await lstat(path);
  • 读取本地文件
    vendor/oh-story/index.js:91
    return { ...location, ok: await access(location.path).then(() => true, () => false) };
  • 读取本地文件
    vendor/oh-story/index.js:95
    const existing = await lstat(location.path).catch(() => void 0);
  • 写入本地文件
    vendor/oh-story/index.js:98
    await writeFile(staging, `${JSON.stringify(dramaAdapterConfigDocument(skillRoot, options.python ?? "python3"), null, 2)}
  • 写入本地文件
    vendor/oh-story/index.js:100
    await rename(staging, location.path);
  • 读取本地文件
    vendor/oh-story/index.js:383
    const directories = (await readdir(root, { withFileTypes: true })).filter((entry) => entry.isDirectory()).map((entry) => entry.name).sort();
  • 读取本地文件
    vendor/oh-story/index.js:386
    const parsed = parseBundledSkill(await readFile(path, "utf8"));
  • 读取本地文件
    vendor/oh-story/index.js:408
    const parsed = parseBundledSkill(await readFile(path, "utf8"));
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-skill
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

6 张 · 点击查看大图

功能亮点

  • 文生图与图生图
  • 文生视频与图生视频
  • 短剧剧本拆解
v0.7.12026-10-04
· 泡泡猫的影视工具 v0.7.1 · v0.7.1 安装:dsh plugin --profile web add dsh-agnes-studio@0.7.1
原文(未汉化)
v0.7.02026-09-30
· 大改版! 侧边栏从 8 项涨到 15 项,一口气加了 6 个功能模块。 · 🆕 新增模块 | 模块 | 能力 | |---|---| | 🎬 背景视频 | 音频自动分幕(33 幕)→ 角色定妆与锚图 → 分镜联系表 → 出片验收 | | 🎵 MTV | 音乐 + 形象,走「谱曲 → 设计 → 分镜 → 视频 → 合成」五步 | | 📖 小说工具 | 长篇按集拆分 + 去 AI 味 | | 🧰 多能宝箱 | 视频链接下载(vidbee)+ 文本转语音(TTS) | | 🎬 视频解析 | 场景切分 + 关键帧 + 生成 VPT 提示词 | | 📱 公众号 | 文章草稿管理 + AppID/AppSecret 配置入口 | · 🐞 修复 · 查询参数丢失:index.ts 用 .pathname 丢掉 ?task_id=,导致背景视频的状态/风格/分镜/联系表、vidbee 状态查询全部拿不到数据 · 模型列表显示为空:fetchModels 前后端字段名不匹配(textModels vs text),调用方 {...undefined} 把图像/视频模型覆盖成 0 个 · 文生视频看不到成片:成片地址在顶层 url,代码只读不存在的 metadata.url · 本地文件 size 恒为 0:用了硬编码的假 stat 对象 · 原生 input[type=file] 按钮灰底白字:补 ::file-selector-button 伪元素样式 · 🎨 界面 · 模型清单并入设置页(撤销独立「模型」页):显示 文本 8 · 图像 6 · 视频 6,每行标注厂商与「内置 / 需 Key」「免费 / 按量」 · 新增 styles/13-new-panels.ts:16 类面板组件样式 · 15 张新版界面截图替换旧图,README 界面与特性段落同步更新 · 📦 安装 npm i dsh-agnes-studio --legacy-peer-deps 装完重启 DSH,侧边栏「泡泡猫的影视工具」即为 15 项导航。
v0.6.02026-09-28
· dsh-agnes-studio v0.6.0 泡泡猫的影视工具 — 文生图、图生图、多图合成、文生视频、图生视频、剧本导入、故事板编排。 · 安装 npm install -g dsh-agnes-studio@0.6.0 · 更新内容 · 六大厂商支持(Agnes / DeepSeek / Qwen / 豆包 / MiniMax / Ollama) · 代理端点自动路由 · 短剧创作技能与工具集成
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
🎬 dsh-agnes-studio — 泡泡猫的影视工具 充分利用 Agnes AI 免费生图/视频大模型的 DSH 插件(内部名:Agnes 创意工作站)。 界面 15 个功能页,全部实数截图(v0.7.0)。 | 🎨 生图 | 🎬 生视频 | | 🎨 生图 | 🎬 生视频 | | ✍️ 创作台 | 📖 短剧 | | ✍️ 创作台 | 📖 短剧 | | 🎬 背景视频(新) | 🎵 MTV(新) | | 🎬 背景视频(新) | 🎵 MTV(新) | | 📖 小说工具(新) | 🧰 多能宝箱(新) | | 📖 小说工具(新) | 🧰 多能宝箱(新) | | 🎬 视频解析(新) | 📱 公众号(新) | | 🎬 视频解析(新) | 📱 公众号(新) | | 🕸 画布 | 🎙 口播 | | 🕸 画布 | 🎙 口播 | | 📕 封面 | ✨ 提示词 | | 📕 封面 | ✨ 提示词 | | ⚙ 设置 | | ⚙ 设置 | 核心特性 - 🎨 文生图 — Image 2.5 Flash,支持 1K-4K 尺寸,免费 - 🖼 图生图 — 风格迁移、场景变换、多图合成 - 🎬 文生视频 — Video 2.5 Flash,4-12 秒,免费 - 📹 图生视频 — 首帧控制、多模态参考
展开完整文档(README 剩余 1 节)
🎬 dsh-agnes-studio — 泡泡猫的影视工具

充分利用 Agnes AI 免费生图/视频大模型的 DSH 插件(内部名:Agnes 创意工作站)。

界面

15 个功能页,全部实数截图(v0.7.0)。

| 🎨 生图 | 🎬 生视频 |
| 🎨 生图 | 🎬 生视频 |

| ✍️ 创作台 | 📖 短剧 |
| ✍️ 创作台 | 📖 短剧 |

| 🎬 背景视频(新) | 🎵 MTV(新) |
| 🎬 背景视频(新) | 🎵 MTV(新) |

| 📖 小说工具(新) | 🧰 多能宝箱(新) |
| 📖 小说工具(新) | 🧰 多能宝箱(新) |

| 🎬 视频解析(新) | 📱 公众号(新) |
| 🎬 视频解析(新) | 📱 公众号(新) |

| 🕸 画布 | 🎙 口播 |
| 🕸 画布 | 🎙 口播 |

| 📕 封面 | ✨ 提示词 |
| 📕 封面 | ✨ 提示词 |

| ⚙ 设置 |
| ⚙ 设置 |

核心特性

- 🎨 文生图 — Image 2.5 Flash,支持 1K-4K 尺寸,免费
- 🖼 图生图 — 风格迁移、场景变换、多图合成
- 🎬 文生视频 — Video 2.5 Flash,4-12 秒,免费
- 📹 图生视频 — 首帧控制、多模态参考
- 🎬 背景视频(新)— 上传原声/文稿 → 自动分幕(33 幕)→ 角色定妆与锚图 → 分镜与联系表 → 出片验收
- 🎵 MTV(新)— 音乐 + 形象,走「谱曲 → 设计 → 分镜 → 视频 → 合成」五步生成整支 MV
- 📖 小说工具(新)— 长篇小说一键按集拆分;写出的稿子可一键去 AI 味
- 🧰 多能宝箱(新)— 视频链接下载(vidbee)+ 文本转语音(TTS)
- 🎬 视频解析(新)— 视频切场景、抽关键帧,据此生成可复用的画面提示词(VPT)
- 📱 公众号(新)— 面板内写文章存草稿;AppID / AppSecret 配置入口(凭据存本机,Secret 不回传明文)
- 📖 短剧流水线 — 剧本导入 → 分镜 → 逐镜头真实生成 → 自动合成成片(可烧中文字幕)
- 🎙 数字人口播 — 文稿自动分段 → TTS 配音 → 画面 → 字幕 → 成片
- 三种画面模式:静态形象图 / 视频素材 / AI 生成画面
- AI 模式支持逐段生成画面(每段台词配一段画面,更贴合内容)
- 🕸 无限画布 — 节点化编排(文本/图片/视频),缩放拖拽、连线传参考图、逐节点真实生成,自动保存
- 📕 小说封面 — 上传 TXT/DOCX 自动提取书名/作者/简介,一键生成 3:4 标准封面
- ✨ 提示词专家 — 中文想法一键扩写成专业中英文提示词
- ✍️ 创作台 — 把 Oh Story 的创作流程搬进面板:选工作区 → 一键建项目(长篇/短篇)→ 创作流程逐步引导(总纲 / 世界观 / 正文…,每步显示文件是否已写、自动标出下一步)→ 文件树与编辑器 → 从面板发起创作任务(写下一章 / 拆文 / 去 AI 味)。
- 写完后不用切到对话框:面板每 3 秒自己检查目标文件,直接显示「正在生成 → ✅ 已完成」
- 章节步骤是动态的:写完一章,按钮自动变成「✍️ 写下一章」,可以一直往下续
- 🧩 模型清单(已并入设置页) — 设置页直接列出全部可用模型与数量:文本 8 个 · 图像 6 个 · 视频 6 个;每行标注厂商与「内置 / 需 Key」「免费 / 按量」,并可增删自定义 API 兼容模型
- 🕘 生成历史 — 最近 24 条生成结果的缩略图走马灯,刷新页面、重启浏览器都不丢
- 🎚 面板尺寸三档 — 标题栏 🪟 按钮循环切换 紧凑 / 标准 / 全屏,选择写进 localStorage
- 📚 Oh Story 创作技能(宿主半) — 原 @oh-story/dsh 的宿主半(技能 + 工具)静态并入本包,不再是独立插件行;技能在会话里直接可用。面板侧的「✦ 创作套件」页签已撤销(功能不完善),不再占用面板空间:
- 小说 / 短剧 / 游戏 / 视频 四个板块,直接读写当前 DSH 会话工作区里的项目文件
- 短剧 11 技能:short-drama 路由 + develop / write / assets / image-prompts / storyboard / video-prompts / produce / edit / review / novel-analyze
- 网文 13 技能:story 路由 + long/short 拆文与写作、封面、去 AI 味、导入、审查、扫榜
- 视频解说 6 技能:understanding / script / cut / voiceover / assemble / recap
- 小说改游戏 7 技能:novel-to-game 及 analyze / concept / world-design / art-direction / build / qa
- 另含 oh_story_role、oh_story_production、oh_story_bundled_reference 三个工具

与 Oh Story 的合并方式(v0.6.0)

合并不是把两份代码混着改,而是两个 half 各自保持原样、在入口处组合:

lib/host-entry.js ← build.mjs 生成:agnes 宿主半 + vendor/oh-story 宿主半,apply() 依次调用, inject 取并集(webServer/systemPrompt/credentials + skills/subagents/tools/typert) lib/index.js ← tsdown 产物,Agnes 宿主半本身,未改动 lib/client.js ← build.mjs 生成:同一个文件里两个 __ModuleLoader__ 注册(dsh-agnes-studio 与私有的 dsh-agnes-studio/oh-story), Agnes 工厂用 require() 取到对方工厂并组合 apply()/inject vendor/oh-story/ ← 上游 ~23MB 原样存放(index.js/client.js/四套技能与角色树), Oh Story 靠自身目录解析技能根,所以必须整树同放

两处设计上的取舍:

1. 宿主半没有塞进 src/index.ts:两边都导出 name/apply,且 vendored 文件必须与其自身目录保持相对关系(技能根 = dirname(import.meta.url)/<pack>/skills)。因此新增一个 lib/host-entry.js 作为 main。
2. 客户端注册用私有 id:DSH 把全部插件的客户端 bundle 拼成一个 combo 脚本,模块系统禁止重复注册同一 id。若某个 profile 尚未重启、仍把 @oh-story/dsh 当独立行加载,原样注册会直接冲突。用 dsh-agnes-studio/oh-story 这个私有 id 后,两种 profile 都能正常启动。

宿主半改动需要重启 DSH 才生效;客户端半刷新页面即可。
已并入的实例请把 @oh-story/dsh 从 profile 的 dsh.profile.bundles 与 dependencies 中移除,避免技能重复注册。

环境依赖

短剧合成与口播需要本机具备:

| 依赖 | 用途 | 缺失时 |
| ffmpeg + ffprobe | 视频拼接、字幕烧录、音画合成 | 面板顶部提示安装方法;可设 AGNES_FFMPEG 指定路径 |
| 中文字体 | 烧录中文字幕 | 明确报错(不会静默输出豆腐块);可设 AGNES_SUBTITLE_FONT |
| MIMO_API_KEY | 口播 TTS 配音 | 口播页提示配置(mimo-api-key 凭据或环境变量) |

安装 ffmpeg: Linux
apt-get install -y ffmpeg fonts-wqy-zenhei
macOS
brew install ffmpeg && brew install --cask font-noto-sans-cjk-sc
Windows: 安装 ffmpeg 加入 PATH(或设 AGNES_FFMPEG),系统自带微软雅黑即可

技术亮点

- 不堵对话框 — 使用 shell.overlay 浮层,对话框完全可用
- API Key 安全 — 走 Host 端代理,浏览器不暴露 Key
- 真实可用性验证 — 生图/生视频/拼接/TTS/字幕全部有端到端实测脚本
- 字幕按真实像素排版 — 用 ASS + PlayResY 声明分辨率,字号/边距不受 libass 默认 288 行缩放影响
- 拼接自动归一化 — 镜头分辨率或帧率不一致时逐个归一化再拼,避免时间轴错乱

安装

cd /dsh/profiles/web
npm install /root/软件/dsh-agnes-studio
编辑 package.json 的 dsh.profile.bundles 添加 "dsh-agnes-studio" 编辑 package.json 的 dependencies 添加 "dsh-agnes-studio": "file:/root/软件/dsh-agnes-studio" 若 profile 里还有 "@oh-story/dsh":从 bundles 和 dependencies 中移除(能力已并入),否则技能会重复注册重启 DSH 容器

首次使用:获取 Agnes API Key

1. 打开 <https://platform.agnes-ai.cn> 注册 / 登录(免费)
2. 在控制台「API Keys」创建密钥,复制 sk- 开头的那串
3. 填到本机(任选一种):
- 在 DSH 设置 → 模型 → 凭据 中新增 agnes-api-key
- 或在本机 /dsh/.env 写入 AGNES_API_KEY=sk-...

面板首屏会显示同样的指引;Key 只由宿主进程读取,浏览器不会接触。

使用

1. 侧边栏点击「🎬 泡泡猫的影视工具」
2. 生图 / 生视频:输入提示词(或点「试试:」下的示例一键填入),选模型与尺寸,点击生成
3. 短剧:剧本导入 → 生成分镜 → 「一键生成全部镜头」→「合成成片」(可选烧字幕)→ 下载
4. 口播:切到「🎙 口播」→ 输入文稿 → 选形象图 → 开始生成 → 预览/下载
5. 画布:切到「🕸 画布」→ 拖空白平移、滚轮缩放、节点右圆点拖到左圆点连线(图片节点连到视频节点即作为参考图)→ 节点上直接生成
6. 封面:切到「📕 封面」→ 上传 TXT/DOCX 或手填书名 → 选风格 → 生成封面
7. 提示词:切到「✨ 提示词」→ 选专家类型 → 中文想法 → 生成中英文提示词
8. 创作台:切到「✍️ 创作台」→ 选工作区 → 输入名字建项目 → 照流程逐步点「✨ 生成」→ 点「🔄 刷新进度」看结果
9. 模型:切到「🧩 模型」→ 查看全部可用模型(标注厂商)→ 增删自定义模型
10. 设置:切到「⚙ 设置」→ 查看各厂商 API Key 状态与配置指引
11. 关闭:标题栏 ✕、Esc,或再次点击侧边栏入口导航分三组:生成(生图 / 生视频)· 创作(短剧 / 画布 / 口播 / 封面 / 提示词)· 配置(模型 / 设置)。
标题栏 🪟 切换面板尺寸;生图/生视频右侧参数栏可点「⇥ 收起参数」让预览占满。

⚠️ 改动了插件宿主半(lib/index.js)后需重启 DSH 才生效;只改客户端刷新页面即可。
画布状态保存在浏览器 localStorage,无需后端。
预览分享卡片长什么样 ↓zmm863-commits/dsh-agnes-studio
分享 · DeepSeek Harness Hub
zmm863-commits/dsh-agnes-studio

🎬 泡泡猫的影视工具 — AI 影视创作工作站:文生图、图生图、文生视频、图生视频、短剧剧本拆解与提示词专家。支持 Agnes / DeepSeek / Qwen / 豆包 / MiniMax / Ollama 六大厂商…

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部