dsh-bili-faship:在 DSH 里跑一条 B 站视频工单流水线

前言

在 DeepSeek Harness(DSH)里做「个人运营号」,常见做法是 agent 写文案、人再剪片、人再上传。脚本可以拼 plan → render → publish,但调度、失败重试、真发开关和合规红线往往要另写一层。dsh-bili-faship(目录名常写作鲸鱼娘视频工坊)把这段能力收成 DSH 工作流插件:设置页「视频工坊」、生物钟按节奏建工单、以及一组 faship_* 工具,让 agent 从日记选题到 storyboard、配音与逐帧渲染、代码自审,再到生成投稿包;真投稿默认关闭,并写明不自动重试 B 站风控。下面按定位、能力、安装与典型用法说明。

这是什么

插件面向「鲸鱼娘 / 大肥鱼」这类人设:生物钟每隔几天触发一轮,agent 从日记和偏好里选题,写成 storyboard v4,用 Edge TTS 配音、Python(Pillow + numpy)逐帧出图,混 BGM/音效,产出 video.mp4、cover.jpg、subtitles.srt;再用代码跑 7 项硬闸门自审,通过后才生成 dry 投稿包。与同为 Faust-sudo 体系的 dsh-bili-whale 代码零依赖:whale 偏「看和说」,本插件偏「做和发」,日记路径可共用约定。

v0.2 起每次「做一条」都是带 id、目录、会话与阶段的工单;准入原因、看门狗与自动重试、需人工处理的项会集中在设置页顶部「待你处理」。

核心功能

创作管线(plan → render → review → publish)

阶段 作用
plan 生成或校验 <dir>/storyboard.json
render TTS → 字幕与时间轴 → 逐帧渲染 → 混音,输出成片与元数据
review 7 项硬闸门,写 review.json,exit 0 表示通过
publish 默认 --dry 只出 publish.json、不联网;--go --confirm 才真发(多重闸)

CLI 入口为仓库内 node tools/bili-faship.mjs <子命令>;另有 deps 做依赖体检、status 看发布节奏与待发片单。

Agent 工具(faship_*)

注册给 DSH agent 的工具包括状态与工单(faship_status、faship_tickets、faship_report、faship_ticket_action)、依赖与列表(faship_deps、faship_videos)、创作步骤(faship_plan、faship_render、faship_review、faship_publish)、后台任务(faship_job)、手动叫醒(faship_wake)与只读配置(faship_config)。工具注册失败只记日志,不阻断插件激活。

设置页与调度

装好后进入 设置 → 视频工坊。页面覆盖节奏(总开关、生物钟、cadenceDays、叫醒窗口)、发布与红线(分区 tid 默认 138、自审分数线、红线词表;「允许真发」为 danger 开关且需二次确认)、声音(Edge TTS 默认 zh-CN-XiaoyiNeural)、路径与人物素材、凭据与视频列表等。配置合并写入 <DSH_HOME>/bili-faship.config.json(默认 DSH_HOME 为 ~/.dsh),形状 { "version": 1, "video": { ... } }。

调度器约每 60 秒 tick:看门狗、失败工单自动重试、再按确定性准入规则决定是否建新工单并投递叫醒词(不调 LLM 做准入判断)。

明确不做的事(README 能力边界)

  • 不做账号安全设置,不关注/三连/投币/花钱,不群发私信
  • 不刷量、不搬运、不冒充真人
  • 遇 B 站风控(如 412 / 429 / 601)停止,不自动重试、不绕过验证码
  • 未显式打开「允许真发」时不投稿

投稿需 AI 标注等红线由代码侧强制;材质(表情包、角色形象)不随插件分发,使用权需自行确认。

安装与启用

安装前建议对照 README「装之前」表:除 DSH 与 Node 外,硬依赖包括 ffmpeg、Python 3 + Pillow + numpy、可写的 <DSH_HOME>/bili-faship 数据目录;BGM/SFX 已随包(CC0 合成)。表情包、中文字体、日记、投稿 cookie 缺失多为 warn,不挡 dry 链路。

推荐:DSH 插件管理器

  1. 设置 → 插件 → 添加插件 → 从本地目录安装,选择插件源码目录;或 从 Git 安装,填写
    git+https://github.com/<你的账号>/dsh-bili-faship.git
  2. 桌面版开 HMR 时一般立即生效;未开 HMR 则重启一次 DSH。
  3. 打开 设置 → 视频工坊(若无入口可刷新或重启)。

亦可对 agent 说明把插件目录交给 plugin_manager 的 install_bundle。

手动 / CLI(等价)

# 1) 把 bundle link 进 profile(路径含空格请加引号)
dsh plugin --profile desktop add "link:<你本地的插件目录>"

# 2) 编辑 profile 的 package.json(如 ~/.dsh/profiles/desktop/package.json),
#    将 "dsh-bili-faship" 加入 dsh.profile.bundles(建议放末尾)
# 3) 重启 DSH

dsh 来自 DSH 安装目录自带 CLI(Windows 示例:<DSH 安装目录>\resources\runtime\cli\bin\dsh.cmd)。

注意:cordis.patch.yml 的 name: 须与安装包名 dsh-bili-faship 一致,否则可能出现设置页 404 或 entry 未激活。配置示例见仓库 bili-faship.config.example.json。

典型用法

设置页四步(首次)

  1. 依赖体检:设置页点「依赖体检」,或执行
    node tools/bili-faship.mjs deps --json
  2. 粘贴 cookie(仅真发):浏览器登录 B 站后从存储中抄 SESSDATA、bili_jct、buvid3,写入设置页「凭据」并保存(只写不读回)。
  3. 确认素材路径:渲染与路径、人物与素材分区中确认表情包、Python、ffmpeg、日记列表等。
  4. 先做 dry:设置页「现在做一条」(二次确认),或走 CLI 分步验证。

CLI 分步示例(README)

node tools/bili-faship.mjs plan --dir D:\videos\demo --topic "第一天,站在中间"
# 按需修改 storyboard.json 的 scenes 后:
node tools/bili-faship.mjs render --dir D:\videos\demo
node tools/bili-faship.mjs review --dir D:\videos\demo
node tools/bili-faship.mjs publish --dir D:\videos\demo --dry

publish --dry 仅在本地生成投稿包,不联网。真发需设置页打开「允许真发」且调用方显式 confirm,并满足自审与频率闸。小尺寸(如 320×180)适合快速验链路,正式成片宜 1920×1080。

ffmpeg 解析顺序(资料记载):FFMPEG 环境变量 → PATH → 插件 bin/ → ~/.dsh/bili-whale/bin → 剪映自带路径。Python 可用 WHALE_PYTHON 或设置页指定。

适用场景与注意

适合谁:已在 DSH 跑 agent、有人设日记或选题素材,希望把 B 站短视频做成可审计工单(而非一次性脚本)的开发者;可与 dsh-bili-whale 并行,共享 cookie/表情包目录约定,但无代码耦合。

安装与运行注意:

  • 插件以当前 DSH 进程权限读写本机目录与调用 ffmpeg、Python;安装前请自行审阅 仓库源码 与 MIT 许可证。
  • 社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系,属社区插件生态。
  • 星标、版本以仓库与目录页为准;勿在未核对凭证的情况下开启真发。
  • 原独立项目 bili-faship 在资料中标注为只读参考,新能力以本 DSH 插件为准。

结尾

dsh-bili-faship 把「构思 → storyboard → 渲染 → 代码自审 → 投稿包」固化为 DSH 工作流:设置页可运维,生物钟与工单可追踪,真发与风控策略在文档与代码里写死边界。要从 dry 跑通再考虑投稿,可从依赖体检与一条 --dry 开始。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜