封面设计助手 · dsh-cover-studio
一个安装在 DeepSeekHarness (DSH) 里的本地视频封面工作台:用中转站生图模型生成无字背景,本地用思源宋体/黑体排版标题,再在画布里改字、加图层、抠图、换人物,最后导出 PNG / JPG。
仓库地址:https://github.com/2307918080lmx-lang/dsh-cover-studio
项目不另训模型,所有风格、参考图和项目数据都保存在本机 DSH 数据目录;中转站 Key 只保存在本机,不会写进仓库,也不会通过设置接口回显。
功能
- 1–6 张不同版式:16:9、9:16、4:3、3:4、1:1、3:2、5:4、2.35:1、21:9 和自定义 W:H。
- 单张封面精确复刻:对分区库里的任意一张参考封面点「复刻这张」,视觉模型会单独拆解构图、标题位置、字体、颜色、行数、字距和画面气质,生成专用复刻卡;生成时字体/文字位置/颜色作为硬约束,并会把参考封面作为第二张图片辅助版式。
- 参考封面 AI 模板:参考图库「拆成模板」会用视觉模型识别文字和版式,让中转站生成干净无字背景,再把文字变成可编辑图层;编辑器里可以「AI 重绘 / 换人物」,修改反推提示词、选择人物参考图重新生成同风格画面。
- 保持内容改比例:后台任务把原封面扩展/重绘到新比例,可选 AI 扩图或本地快速扩展;原图始终保留,完成后并排展示原图和新图。
- 手动画布:底图裁切/缩放、横竖排文字、导入字体、图片/贴纸、AI 找素材、形状/箭头/批注、亮度/对比度/饱和度/模糊、图层面板、快速标题组、标题安全区。
- 抠图:AI 框选 + Silueta 本地分割、对象级去边、画笔抠图(红色=将去除,涂抹=保留),工具条可停靠、浮动、收起。
- 分区风格库:动画/生活/科技/知识/游戏等分区,抓取 B 站高播放封面,支持指定 UP 主、全局去重、随机翻页、分区学习、加入参考图库和批量操作。
- 灵感板:AI 给出 4 个真正不同的构图方向与免费草图。
- 文档参考:读取 TXT / MD / PDF / DOCX,把文档内容和参考图一起用于创作。
- 主题与窗口:多套主题、自定义强调色/明暗/圆角;窗口标题栏拖动、四边四角缩放、最大化、可拖动的最小化胶囊。
- 问题反馈:工作室左侧「问题反馈」直接打开制作人的飞书问题反馈表单(支持上传截图);链接只在源码常量里,设置界面不提供修改入口。
- 版本更新:左下角显示当前版本和是否已是最新;发现 GitHub 新版本时可在插件内查看更新说明、一键下载并替换,重启 DSH 后生效。
环境要求
- DeepSeekHarness(建议 0.2.x 或更高)
- Node.js 20+
- Windows / macOS / Linux;本地字体、裁剪和抠图使用
@napi-rs/canvas与onnxruntime-node - 一个 OpenAI Images 兼容的生图中转站(OpenAI 官方、硅基流动、302.AI 或其他兼容服务)
- 可选:标题宋体/黑体字体文件。未配置时使用系统安装的中文字体。
安装到 DSH
克隆或下载本仓库到本机,例如
D:/plugins/dsh-cover-studio。在 DSH 的 desktop profile(通常是
$DSH_HOME/profiles/desktop/package.json)的dependencies里加:"dsh-cover-studio": "link:D:/plugins/dsh-cover-studio"macOS / Linux 使用
file:/Users/you/plugins/dsh-cover-studio或你的包管理器支持的写法。在同一个
package.json的dsh.profile.bundles末尾加"dsh-cover-studio"。在插件目录安装依赖:
cd D:/plugins/dsh-cover-studio npm install npm run fetch-model # 可选:下载本地抠图模型(约 43MB)npm run fetch-model会从 rembg 官方 release 下载 Silueta 并校验 SHA-256。不下载也能使用,抠图会自动回退到本地边缘算法。重启 DSH(或重载插件)。输入框上方/页面右下角会出现「封面」按钮,点击打开可拖动的工作室窗口;对话中提到封面/缩略图/B 站封面时也会触发 Agent 工具。
如果只想预览 UI,不安装 DSH:
npm install
npm run dev
# 打开 http://127.0.0.1:8790/
独立预览默认使用 ~/.dsh-cover-studio-dev 数据目录。
第一次使用
- 打开「封面」→ 设置 → 中转站 API。
- 可以直接点 OpenAI 官方 / 硅基流动 / 302.AI 预设,自动填入接口地址、模型和尺寸;也可以添加任意多个自定义中转站。
- 填入自己的 API Key,点「测试连接」。
- 主模型默认跟随 DSH 的 DeepSeekFlash;若需要,可以在设置里切到自定义 API。
- 回到「开始创作」:写主题、标题、副标题,选择风格、张数和画幅,生成。
- 生成结果可以「编辑」改字/图层,「保持内容改比例」换画幅,「导出」保存 PNG+JPG。
参考封面与模板
- 复刻某一张封面:风格库 → 分区风格库 → 展开分区 → 封面卡片「复刻这张」。每张封面单独生成一张复刻卡,不会混合整个分区。
- 把一张封面拆成可编辑模板:参考图库 → 卡片「拆成模板」。AI 识别文字和版式并生成无字背景;进入编辑器后可以改字、移动图层。
- AI 重绘 / 换人物:模板编辑器顶部「AI 重绘 / 换人物」。反推提示词已预填,可修改;可填写新人物描述,或选择/上传人物参考图。文字图层保留,新版本独立保存,不会覆盖原模板。
- 旧版复刻卡:第一次用于生成时会自动补做一次视觉拆解,补齐字体/标题框/版式;也可以手动点「重新拆解」。
隐私与安全
- 项目、参考图、风格卡、回收站和设置都在本机 DSH 数据目录;没有云端项目库,也没有遥测。
- 中转站 Key 和自定义主模型 Key 只保存在本机(优先 DSH credentials,其次本机 secrets 文件),设置接口只返回
keySet状态,不回显密钥。 - 仓库不包含任何用户数据、生成记录、运行时设置或 API Key;
node_modules/、本机 secrets、测试数据和模型文件均已排除。 - 本地抠图模型不随仓库分发,由
npm run fetch-model下载并校验;模型来源和许可证见assets/models/LICENSE-NOTICE.md。 - 参考封面/视频封面来自公开页面,仅供个人学习版式、配色和字体气质;请遵守原平台版权与作者权益,不要复制具体角色或文字用于商业冒充。
- 问题反馈表单链接是公开分享链接;用户提交的内容会进入制作人的飞书表单,不代表插件自动上传其他本地数据。
- 更新检查只访问本仓库固定的 GitHub Release / Tag 地址,下载官方发布包;不会上传项目、参考图、设置或 Key。更新只替换插件源码,备份保存在系统临时目录。
免责声明
本插件是本地封面创作辅助工具,生成内容仅供学习、研究和个人创作参考。使用者应自行确认所用图片、字体、角色、商标、视频封面等素材的版权与授权,不得用于侵权、冒充、虚假宣传、违法内容或商业冒充。AI 生成结果可能存在偏差,发布前请人工审核。
中转站 API 的费用、额度、稳定性和数据处理由使用者与对应服务商负责;插件不会把本地素材、项目数据或 API Key 上传到作者服务器。因使用本插件、第三方中转站或生成内容产生的一切后果由使用者自行承担,作者不对第三方服务、生成内容及使用结果承担责任。第三方开源组件与模型遵循各自许可证。
开发
npm run check # 检查主要 JS 语法
npm run dev # 独立预览服务器
主要目录:
index.js Cordis 插件入口、Agent 工具、系统提示、HTTP 路由
lib/server.js /dsh-cover-studio/* API、静态文件、字体
lib/generate.js 规划 → 生图 → 本地排版 → 项目保存
lib/render.js @napi-rs/canvas 排版、画幅、抠图辅助图
lib/relay.js OpenAI Images 兼容中转站(generations / edits,多图参考回退)
lib/llm.js DSH 主模型 / 视觉分析 / 风格拆解 / 灵感
lib/styles.js 内置风格、分区风格、单张复刻卡
lib/template.js AI 拆模板、无字背景、提示词重绘
lib/creator.js 只读制作人信息与反馈链接
web/studio.js 工作室 UI、创作页、参考库、风格库、画布编辑器
web/studio.css UI 主题与工作室样式
web/client.js DSH 浮动「封面」按钮与加载器
styles/ 默认风格 / 内置风格
scripts/fetch-model.mjs Silueta 模型下载与校验
常见问题
测试连接显示 200,但模型列表是 0 个 / 生成 404
Base URL 填成了中转站控制台网页(例如 .../dashboard)。请改成 API 接口地址,通常以 /v1 结尾;插件会自动纠正常见的控制台地址,但最好直接填对。
主模型不能跟随 DSH / 选不到模型
设置 → 主模型 → 跟随 DSH → 点「读取 DSH 模型列表」,再点下面的模型名选中,最后保存。跟随 DSH 不需要单独填 Key;如果切到「自定义 API」但没填 Key,生成时会自动回退 DSH。
中转站填了模型,保存后不见了
升级到 1.2.1 后,默认模型和「读取模型」结果都会保存;如果仍为空,点「读取模型」或把模型名同时填进「模型(逗号分隔)」和「默认模型」。
生成失败 / 没有 API Key
设置 → 中转站 API 填写 Base URL、Key、模型并测试连接。Base URL 通常填到 /v1。
中转站不支持 images/edits / 多图
插件会自动从多图参考退回单图;如果中转站完全不支持图片编辑,模板的 AI 清字会明确报错,而不是生成一张马赛克假模板。换一个支持 OpenAI Images edits 的中转站即可。
抠图很慢或不可用
运行 npm run fetch-model 下载 Silueta;首次加载约 1–2 秒。没有模型时会退回本地边缘算法。
字体不对
在设置里指定中文宋体/无衬线字体文件;本地排版优先使用思源宋体 Heavy / 系统字体。参考封面里的字体气质只用于提示词和复刻参数,不会直接复制字体文件。
反馈问题
工作室左侧「问题反馈」直接打开飞书表单;请填写操作步骤、实际现象并上传截图。
更新后没有变化
更新器只替换磁盘上的源码,运行中的 DSH 仍在使用旧代码。关闭并重新打开 DSH(或在 DSH 里点重启)后生效。项目、参考图、Key 不需要重新配置。
发布新版本
已安装旧版的用户会通过左下角版本号收到更新提示。1.3.0 之前的版本没有更新器,需要手动更新一次;从 1.3.0 起才能收到后续更新提示。
维护者发布新版:
- 修改
package.json的version和CHANGELOG.md,提交并推送。 - 创建并推送标签:
git tag vX.Y.Z && git push origin vX.Y.Z。 - 建议创建 GitHub Release:
gh release create vX.Y.Z --title "vX.Y.Z" --notes "更新说明"。
插件优先读取 latest Release,没有 Release 时回退到 tags;版本号需使用 vX.Y.Z 格式。更新器只接受包名为 dsh-cover-studio 且版本与发布标签一致的发布包。
许可证与致谢
- MIT License,见 LICENSE。
- 制作人:明代宗(Bilibili UID: 478925908)。
- Silueta 模型来自
danielgatis/rembg(MIT);U²-Net(Apache-2.0);具体见assets/models/LICENSE-NOTICE.md。 - 感谢 Fabric.js、@napi-rs/canvas、onnxruntime-node 等开源项目。
欢迎 Issue / PR,但请先确保不提交任何 API Key、用户图片、运行时项目数据或个人配置。
No comments yet. Be the first to write one.