前言¶
在 DeepSeek Harness 里做视频,常见路径是:模型写脚本、再分别对接图像/视频 API、最后在桌面用 FFmpeg 拼片。手机上的 DSHA(Linux arm64 + glibc,proot 容器)缺少一套把「分镜、生成、落盘、导出」串在同一工作区里的插件。下面介绍维护者 dttGitHu 的 dsh-video-android(目录名 dttgithu/dsh-video-android,当前 v0.2.0):纯 JavaScript、无原生模块,面向窄屏工作台与 13 个 film_* 工具,把供应商池调度与本地 MP4 合成收进同一套 workspace 布局。
这是什么¶
dsh-video-android 是 DSHA 上的视频制作工作台插件,按 README 所述的「整合式二次开发」思路,从现有 DSH 插件拆出可复用模块再组装。它不依赖 Windows 专有路径,读写项目落在可配置的 workspaceDir(默认 $DSH_WORKSPACE_DOCUMENTS/film-studio)。
插件在 package.json 中声明:兼容 DSH >= 0.2.0、Node >= 20,许可证 MIT。SkillHub 分类为可安装客户端;GitHub 仓库:https://github.com/dttGitHu/dsh-video-android。
核心功能¶
分镜与项目布局¶
每个项目在 workspace/projects/<projectId>/ 下维护:
storyboard.json:分镜(原子写:临时文件 + rename,读改写串行)assets/:生成后下载的素材output/final.mp4:导出结果
默认 projectId 为 default;旧的 workspace/storyboard.json 与 workspace/assets/ 会在首次访问时迁移到 projects/default/。工具、工作台 API、素材路由均带 projectId。
对应工具:film_create_storyboard、film_list_scenes、film_update_scene(含 kind=image/video)、film_regenerate_scene。
多供应商生成与失败切换¶
调度层统一适配 6 家供应商,默认顺序为:jimeng → doubao-seedream → doubao-seedance → wanx → tongyi-wanx → kling。图像任务会跳过 doubao-seedance,视频任务会跳过 doubao-seedream;失败会分类并自动切换,尝试记录写入 attempts。
- 即梦 / 豆包:火山方舟 Bearer API Key(
JIMENG_API_KEY等,Seedream 仅图像、Seedance 仅视频) - 通义万相:DashScope(
DASHSCOPE_API_KEY;TONGYI_WANX_API_KEY回退DASHSCOPE_API_KEY,见 README 配置表) - 可灵:
KLING_ACCESS_KEY/KLING_SECRET_KEY签 JWT
工具:film_generate_image、film_generate_video。未配置的供应商会被跳过,不会发请求。
FFmpeg 探测与 MP4 导出¶
film_probe_ffmpeg 探测 FFmpeg / ffprobe,验证 proot 子进程链路。路径优先级:config.ffmpegPath → DSH_FFMPEG_PATH → FILM_STUDIO_FFMPEG → PATH(ffprobe 同理)。
导出流程(README 已逐步说明):
film_check_assets预检每个镜头;有缺失时film_export_mp4拒绝执行并列出原因。- 逐镜头:图片可
-loop并可选 Ken Burns(zoompan);视频按时长裁剪;统一 scale/pad 到 1280×720、30fps、H.264(yuv420p),音频 AAC。 - concat 拼接,
ffprobe复核;全程默认 120 秒超时,超时 SIGKILL;插件卸载时会清理 ffmpeg/ffprobe 子进程与临时目录。
进度查询:film_export_progress,或工作台轮询 GET /film-studio/api/export/status?project=。
提示词自优化¶
优化由当前会话的模型完成,插件不另调第二个 LLM。工具链包括:
film_evaluate_scene_prompt:四要素、旁白长度、空泛词、三维规则评分与建议(不改数据)film_optimize_scene_prompt:两阶段 start/submit,写promptHistory与currentPromptfilm_optimize_all_prompts:批量优化 draft 镜头,单镜头失败不阻断
规则与上限(README 原文):第 0 轮原始版本不删;历史保留最近 5 轮;达标或达最大轮次(1–3,默认 1)停止;风格可选写实电影感 / 动画漫剧 / 悬疑 / 治愈等。
窄屏工作台¶
同源访问:http://127.0.0.1:<DSH端口>/film-studio?project=<id>,复用 DSH 登录态。页面为自包含窄屏 UI(assets/workbench.html),支持卡片分镜、参数抽屉、重新生成、项目切换与导出进度展示。
普通用户可在右上角 ⚙ 打开供应商设置抽屉,密钥合并写入 <workspaceDir>/providers.json(权限 600);优先级为 cordis.patch.yml > 环境变量 > providers.json。保存后需重启 DSHA 生效(密钥在插件启动时解析)。
安装与启用¶
SkillHub 目录页:https://www.skillhub.cn/plugins/dttGitHu/dsh-video-android。页面提供 「发送给 DeepSeek Harness 安装」 入口(维护者 dttGitHu);README 与已抓取资料中未单独给出 dsh plugin add … 一类 CLI 字符串,安装请以 DSH 客户端与目录页指引为准,勿凭仓库名自行拼接命令。
启用前建议确认:
- 运行环境为 DSHA / 满足 Node >= 20
- 系统或配置中可用的 ffmpeg / ffprobe(可先调用
film_probe_ffmpeg) - 需使用的供应商 API Key(YAML、环境变量或工作台面板三者择一或组合)
典型用法¶
1. 探测 FFmpeg¶
在 Harness 中让智能体调用工具 film_probe_ffmpeg,确认 proot 下子进程与可执行文件路径正常。
2. 创建分镜并生成素材¶
film_create_storyboard生成分镜(指定projectId,可追加)。film_list_scenes查看镜头;必要时film_update_scene改旁白、画面描述或params.kind(图片/视频)。film_regenerate_scene按镜头重生成,素材下载到projects/<projectId>/assets/。
生成走供应商池;某家失败会自动尝试下一家(在已配置密钥的前提下)。
3. 预检并导出 MP4¶
film_check_assets确认每个镜头status与本地/远程素材就绪。film_export_mp4合成;需要时可传 Ken Burns 参数(工作台 localStorage 中的kenBurnsDirection/kenBurnsStrength与导出请求一致)。- 用
film_export_progress({ exportId })或工作台查看checking → downloading → segment → concat → verifying → done/failed各阶段。
输出默认路径:workspace/projects/<projectId>/output/final.mp4。
4. 优化镜头提示词(可选)¶
对 draft 镜头先 film_evaluate_scene_prompt,再 film_optimize_scene_prompt(start 取得改写指令 → 模型生成 → submit 回传 JSON)。批量场景用 film_optimize_all_prompts,注意会话总超时默认 90 秒等 README 限制。
5. 浏览器里改片¶
打开 /film-studio?project=<id>,在窄屏 UI 中编辑卡片、切换项目(GET/POST /film-studio/api/projects*),与工具读写同一套 storyboard.json。
仓库内附带验证脚本(如 npm run verify 对应 scripts/verify.mjs 等),供开发者在有 FFmpeg 的环境做模块自检;日常使用以 Harness 工具与工作台为主。
适用场景与注意¶
适合:在 Android DSHA 上希望用自然语言 + 工具链完成「分镜 → 多平台 AI 出图/出视频 → 本地合成 MP4」的创作者或集成该能力的智能体作者;已具备至少一家供应商密钥与 FFmpeg 的环境。
注意:
- 插件以当前 DSH 进程权限运行,会读写 workspace、发起对外网络请求(火山方舟、DashScope、可灵等,见 package.json
capabilities.network)。安装前应阅读源码与 MIT 许可证,并自行保管 API Key。 - 供应商费用、配额与内容策略由各平台负责;调度器只做失败切换,不保证某一镜必成功。
- 导出依赖 FFmpeg 与磁盘空间;远程素材下载受超时与大小上限约束(见
media/download.js说明于 README 目录结构)。 - SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系;插件星标与版本以 GitHub / 目录页为准(目录页显示 v0.2.0)。
结尾¶
dsh-video-android 把分镜数据、六家供应商池、提示词优化与 FFmpeg 导出收进同一 workspace,并提供 /film-studio 窄屏工作台,适合在手机上把 Harness 会话延伸成可落地的短视频流水线。进一步了解能力与配置字段,请查阅 GitHub README 与 SkillHub 目录页: