DSH 插件:把一条短视频生产流水线19 个 skill:编排 + 原子内置进 agent 技能目录
30.7/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/23 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 439436269-ctrl/dsh-video-pipeline该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · skill
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 4 处,展示前 4 条)
- 读取本地文件lib/provider.js:55
dirents = readdirSync(skillsDir, { withFileTypes: true }); - 读取本地文件lib/provider.js:67
if (statSync(file).isFile()) found.push({ dir: full, file }); - 读取本地文件lib/provider.js:89
parsed = parseFrontmatter(readFileSync(entry.file, 'utf8')); - 读取本地文件lib/provider.js:195
parsed = parseFrontmatter(readFileSync(candidate.locator, 'utf8'));
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 内置十九项技能
- 写稿配音
- 多平台发布
README
由 DeepSeek 最新模型翻译生成dsh-video-pipeline
把一条跑通过的真实短视频生产流水线作为内置技能装进 DeepSeek Harness:共 19 个技能(1 个总入口 + 1 个编排 + 17 个原子),随插件一起出现在智能体的技能目录里。
19 个技能的关系与数据流
图:19 个技能按流水线阶段排列,以及它们之间的交接。实线=产物数据流,虚线=编排技能对原子技能的调度,橙色=质量门,红色虚线=数据复盘闭环。(源码 docs/skill-flow.svg,由 node tools/make-flow-diagram.mjs 生成——技能集合变了改数据重跑即可。)
列间空隙只有十几像素,图上不写字,所以交接关系列在这里:
| 交接 | 传的是什么 |
| chinese-tts → video-compose | 配音 wav(先过读音校正,字幕仍写原字) |
| ark-agent-plan-image / ark-seedream-image / dreamina-canvas-cli → image-to-video | 关键帧 → 运镜镜头(三条生图线三选一,也可按镜头混用) |
| 三个生图技能 → ark-seedance-video | 关键帧当 i2v 首帧,用来锁人物形象 |
展开完整文档(README 剩余 1 节)
dsh-video-pipeline
把一条跑通过的真实短视频生产流水线作为内置技能装进 DeepSeek Harness:共 19 个技能(1 个总入口 + 1 个编排 + 17 个原子),随插件一起出现在智能体的技能目录里。
19 个技能的关系与数据流
图:19 个技能按流水线阶段排列,以及它们之间的交接。实线=产物数据流,虚线=编排技能对原子技能的调度,橙色=质量门,红色虚线=数据复盘闭环。(源码 docs/skill-flow.svg,由 node tools/make-flow-diagram.mjs 生成——技能集合变了改数据重跑即可。)
列间空隙只有十几像素,图上不写字,所以交接关系列在这里:
| 交接 | 传的是什么 |
| chinese-tts → video-compose | 配音 wav(先过读音校正,字幕仍写原字) |
| ark-agent-plan-image / ark-seedream-image / dreamina-canvas-cli → image-to-video | 关键帧 → 运镜镜头(三条生图线三选一,也可按镜头混用) |
| 三个生图技能 → ark-seedance-video | 关键帧当 i2v 首帧,用来锁人物形象 |
| 三个生图技能 → video-cover | 关键帧 → 双平台封面(图中以卡片注释表示,避免长线穿图) |
| image-to-video / ark-seedance-video → video-compose | 镜头 mp4(路线①图片运镜与路线②t2v 在这里汇合) |
| video-compose → media-verify | 成片(先核验再交付) |
| media-verify → quad-platform-publish | 核验通过才允许发布(质量门) |
| quad-platform-publish → bilibili-upload / tencent-upload / douyin-publish / xiaohongshu-skills | 一平台一个智能体并行发布 |
| multi-platform-publish-orchestrator | 与上一条并行的另一条路径:按 JSON 配置顺序批量发 |
| 发布 → feishu-bitable | 链接与状态回写 |
| tangshi-data-review → tangshi-pipeline | 三平台数据复盘修正选片权重与发布节奏(闭环) |
| video-pipeline → 其余全部 | 总入口:说明这包是什么、每个环节该加载哪个技能 |
被内置的 tangshi-pipeline 另自带一张更细的编排流程图(含两道确认门与并行发布的时序):skills/tangshi-pipeline/references/orchestration-flow.png。
装完不需要往 ~/.agents/skills 或 ~/.dsh/skills 复制任何文件——插件自己注册一个技能服务商,把包内的 skills/ 目录提供给 ctx.skills。
同一套技能还有一个宿主中立版,给 Claude Code / Codex 用(不带 DSH 的插件机制,占位符已落成可读值):<https://github.com/439436269-ctrl/video-pipeline-skills>。
这个插件做了什么
- 提供 19 个技能(总入口 1 + 编排 1 + 原子 17),覆盖选题、配音、出图、出视频、运镜、合成、封面、核验、数据复盘、多平台发布、进度回写。
- 自撰一个总入口技能(video-pipeline),说明这包是什么、每个环节该加载哪个原子技能、占位符怎么填。安装者没有原作者本机那套同名技能,所以入口技能是这里唯一的起点。
- 不含任何运行时依赖:只 import Node 内建模块,通过 ctx.inject(['skills']) 拿到注册表。没有 dependencies,也没有需要宿主解析的 peerDependencies,因此不存在 peer 范围解析失败(ERESOLVE)问题。
- 不动别人的技能:服务商以 rank 600 报告候选(内置 rank),如果你自己的项目/用户技能同名(rank 100-500),你的版本胜出,本包不会遮蔽它。
安装
从 npm
dsh plugin --profile web add dsh-video-pipeline
从 GitHub
dsh plugin --profile web add github:439436269-ctrl/dsh-video-pipeline
本地开发(软链到源码目录)
dsh plugin --profile web add "link:/path/to/dsh-video-pipeline"
卸载
dsh plugin --profile web remove dsh-video-pipeline
装完重启 DSH Desktop,然后问智能体「有哪些视频流水线的技能」即可看到目录。
包内技能
| 技能 | 类型 | 作用 |
| video-pipeline | 总入口(本包自撰) | 流水线骨架、环节与原子技能对照、占位符与前置依赖 |
| tangshi-pipeline | 编排 | 双版本(读诗版/故事版)批量生产与发布全流程:规格定稿、时序、成本基线、质量门 |
| chinese-tts | 原子·生产 | 中文配音:多音字读音校正(朝zhāo/还huán/重chóng/骑jì/教jiào/载zǎi)、音色与上下文模板 |
| ark-agent-plan-image | 原子·生产 | 火山 Agent Plan 通道文生图(扣 Plan 配额) |
| ark-seedream-image | 原子·生产 | 火山标准通道文生图(按量后付费),含价格表与开通指引 |
| ark-seedance-video | 原子·生产 | Seedance 文生视频 / 图生视频单条镜头,含 token 用量公式与任务管理 |
| image-to-video | 原子·生产 | 单张关键帧 → ffmpeg zoompan 运镜镜头 |
| dreamina-canvas-cli | 原子·生产 | 即梦画布 CLI(备用生成线) |
| video-compose | 原子·合成 | 镜头列表 + 配音时间轴 + SRT → 竖屏成片(一条 manifest) |
| video-cover | 原子·合成 | B 站 16:10 与竖屏双封面一次出图 |
| media-verify | 原子·核验 | astats 音频对位、线上音频版本比对、抽帧白屏检测 |
| tangshi-data-review | 原子·复盘 | 三平台播放数据采集、衰减分档与复盘报告 |
| quad-platform-publish | 编排·发布 | 四平台发布总控(含发布前读音核查与确认门) |
| multi-platform-publish-orchestrator | 编排·发布 | 按 JSON 配置顺序执行多平台发布 |
| bilibili-upload | 原子·发布 | B 站投稿与合集管理(biliup) |
| tencent-upload | 原子·发布 | 视频号上传与合集管理 |
| douyin-publish | 原子·发布 | 抖音创作者中心上传发布与合集管理 |
| xiaohongshu-skills | 原子·发布(第三方) | 小红书图文/视频发布、检索与互动,见 THIRD-PARTY-NOTICES.md |
| feishu-bitable | 协作 | 飞书多维表格读写(进度回写) |
配置
在 profile 的 cordis.patch.yml 里按 entry id 覆盖。patch 对 config 是整块替换,想保留的键要一并写出:
- id: dsh-video-pipeline
config:
enabledSkills: # 省略或空数组 = 放出全部 19 个
- video-pipeline
- video-compose
- media-verify
placeholders: # 覆盖内置占位符;加载 skill 时替换正文里的 {{TOKEN}} FEISHU_BASE_APP: your_base_app_token FEISHU_TABLE: tblXXXXXXXXXX FEISHU_RECORD: recXXXXXXXXXX NAS_DELIVERABLE_DIR: /your/nas/deliverables ARK_API_KEY_FILE: /your/path/ark_key.txt
| 键 | 默认值 | 作用 |
| enabledSkills | [](全部) | 只放出指定 skill;用于把包装成只做某一段能力 |
| placeholders | {} | 覆盖 {{TOKEN}} 的取值。取值优先级:本配置 → 环境变量 → 内置可读默认值 |
占位符
发布前把原作者环境相关的内容全换成了占位符。加载 skill 正文时按上表优先级替换成你的值:
| 占位符 | 含义 | 可用的环境变量 |
| USER_HOME | 本机用户目录 | USERPROFILE / HOME |
| WORKSPACE | 工作区根目录 | DSH_WORKSPACE / WORKSPACE |
| ARK_API_KEY | 火山方舟 API key | ARK_API_KEY / ARK_STD_KEY |
| ARK_API_KEY_FILE | 本地存放 key 的文件 | ARK_API_KEY_FILE |
| FEISHU_BASE_APP / FEISHU_TABLE / FEISHU_RECORD | 飞书多维表格坐标 | 同名 |
| NAS_DELIVERABLE_DIR / NAS_DELIVERABLE_PARENT / NAS_HOST | NAS 交付目录与主机 | 同名 |
只替换 skill 正文。skills//scripts/ 下是真实脚本文件,里面的占位符需要你自己改成实际值——skill 正文会说明每个值的含义。
前置依赖
本包只提供 skill(指令与脚本),不安装任何工具:
- ffmpeg:合成、运镜、核验都依赖。xfade/ass/loudnorm 等滤镜需要较新版本。
- Python 3 + Pillow:scripts/ 下的 py 脚本(封面、图处理、封面比对)。
- Node.js:scripts/ 下的 mjs 脚本。
- playwright:发布类 skill 需要时自行安装。
- 各平台凭据:B 站 biliup 凭据、视频号/抖音/小红书登录态,必须你自己登录获取。本包不含任何凭据、cookie 或真实账号 ID。
发布前的脱敏(重要)
本包基于一条真实生产流水线,公开前做了逐文件的剔除与替换,并有独立的复扫门(tools/import-skills.mjs --verify)来证明结果:
- 删除:真实 API key 文件、登录态缓存、Python 字节码、以及 170 个只属于原作者项目历史的文件(真实播放数据快照、合集映射、逐集一次性脚本、当时操作截图)。
- 替换为占位符:飞书 base/table/record ID、NAS 路径与内网地址、本机绝对路径、以及真实账号/作品标识(视频号 FINDER_ID、抖音 aweme_id、B 站 UID 与 seasonId、小红书笔记与合集 ID、B 站稿件号)。
- 保留但清空为模板:4 个「被剔除但脚本仍要读」的输入文件,以空结构随包(heji-state.json、map-dushi.json、map-gushi.json、dy_t.example.json)。
复扫门检查 4 类东西:密钥/账号标识/本机路径/内网地址残留、33 个脚本的语法可解析性(防止脱敏改写坏代码)、被剔除文件仍被引用、以及 SKILL.md 是否可被 provider 正常解析。当前结果:85 个文件、0 处残留、语法全通过。
已知边界
- 部分脚本的输入是采集脚本自己写出的产物(posts.json、-stats.json、dy_works_all.json),首次运行前并不存在——先跑采集再跑分析。tools/import-report.txt 列出了全部这类引用。
- 不含真实运营数据:tangshi-pipeline 的五份数据复盘文档(references/data-review-*.md)已按作者要求剔除,正文里对作者账号播放表现的绝对数字与实测倍率也一并改写成定性规则(改写与脱敏分开计数,见 tools/import-report.txt)。保留下的是提炼后的可执行规则——产能上限、发布时段、采样制度、选片权重;要复现同样的口径,用 tangshi-data-review 的采集脚本对自己的账号重跑。
- xiaohongshu-skills 是第三方 MIT 代码;上游 README(含赞助位与作者联系方式)未随包。
- 有一处正文提到本包未含的外部 skill:bilibili-upload 的「论文视频投稿」路径依赖外部 skill paper-bilibili-uploader(来自第三方 yhbcode000/paper-share-skills)。本包不含它,相关章节已标明为外部;B 站投稿引擎 biliup 本身已包含。导入报告里会列出所有这类「提到但未打进包」的 skill(tools/import-report.txt)。
结构
dsh-video-pipeline/
├── package.json # dsh.bundle.patch 是市场收录的硬性要求 ├── cordis.patch.yml # 往 profile 插一行宿主插件行 ├── lib/ │ ├── index.js # 插件入口:apply() 里向 ctx.skills 注册 provider │ ├── provider.js # 扫描 skills/、解析 frontmatter、rank 600、resourceBase │ ├── frontmatter.js # 无依赖的 YAML frontmatter 子集解析(含块标量与嵌套 map) │ └── placeholders.js # {{TOKEN}} 取值与替换 ├── skills/ # 19 个 skill(由 tools/import-skills.mjs 生成) ├── authored/ # 本包自撰的 skill 源文件(导入时写入 skills/) ├── docs/ # skill-flow.svg + .png(由 tools/make-flow-diagram.mjs 生成;不进制品包,README 用 raw 地址取) ├── tools/ │ ├── import-skills.mjs # 可复现导入器:--audit / --write / --verify │ ├── scrub-rules.mjs # 剔除、脱敏、文档准确性改写、残留扫描的唯一规则来源 │ ├── verify-artifact.mjs # 打包 → 解包 → 真实加载解出来的入口 │ ├── preflight.mjs # 只读发布自检(远端占用 / git / 三道门 / 凭据) │ ├── setup-repo.mjs # 建仓 + 设 topics + 推送 + 核对远端 SHA │ └── make-flow-diagram.mjs # 生成 docs/skill-flow.svg + .png └── test/ ├── provider.test.mjs # provider 行为 + 对真实 skills/ 的集成断言 └── rules.test.mjs # 规则回归:每个用例对应一个真实踩过的坑
开发
node tools/import-skills.mjs --audit # 只报告:会保留/脱敏/剔除哪些文件
node tools/import-skills.mjs --write # 重建 skills/
npm run privacy-gate # 隐私与语法门(发布前必过)
npm test # 22 个单测:provider 行为 + 规则回归
npm run verify:artifact # 打包 → 解包 → 真实加载解出来的 lib/index.js
npm run preflight # 发布前只读自检(含远端名字占用与凭据)
导入器默认从 %USERPROFILE%\.agents\skills 读源,可用 SKILLS_SOURCE 指定别的根。
npm run verify:artifact 是发布前最该跑的一条:源码树测试通过不代表 tarball 能用(files 白名单漏子目录、相对 import 的目标没进包,都会变成「装上就报错」,而 npm 包不可撤回)。它会把 tarball 解出来,直接 import 解出来的 lib/index.js,核对 19 个 skill 与全部占位符。CI 里也跑这条。
发布坐标与三条渠道的落地命令见 PUBLISH.md;验证记录见 VERIFY.md。
许可
MIT。第三方代码见 THIRD-PARTY-NOTICES.md。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
439436269-ctrl/dsh-video-pipeline
DSH 插件:把一条短视频生产流水线19 个 skill:编排 + 原子内置进 agent 技能目录
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份系统提示词,喂给多个 coding…
★ 931已汉化DSH
73.8
人物画像蒸馏titanwings/distilly
Distilly — 把他们的思考方式提炼成可复用的技能,供任何智能体或机器人使用。原名 Colleague Skill(原同事 Skill)。
★ 25,659已汉化DSH
71.3
推理工作空间套件Tiger3807861189/J-Space-Cognition-Suite
J-Space 是面向复杂推理、大型仓库工程、子代理协作与授权安全分析的推理时工作空间和控制套件。
★ 2,957已汉化DSH
70.5
两阶段工具锚定预设xiaobright/dsh-anchored-standard
实验性 DeepSeek Harness agent preset…
★ 3,742已汉化DSH
70.1
智能体工作流编排nrslib/takt
不再日夜盯着 AI 编码智能体。
★ 1,402已汉化DSH
70
Agent 运行时手册Electricitysheep/dsh-handbook
DeepSeek Harness dsh 从 0 到 1 深度手册:安装/插件开发/性能调优/实测案例/同模型多…
★ 827已汉化DSH
68.7