dsh-oil-creator

93Star18Fork0Issue1Watching

为 DeepSeek Harness 提供本地内容工作台,把每条视频对应到一个本地文件夹,从选题、脚本到字幕、封面、发布状态统一管理。

语言
TypeScript
License
MIT
分支
main
creatordeepseek-harnessdsh-plugin

安装

$ dsh plugin --profile web add github:oil-oil/dsh-oil-creator

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

一句话定位

为 DeepSeek Harness 装上的本地内容工作台插件:把"一条视频"映射成"内容目录里的一个文件夹",让 AI 在选题、写脚本、剪辑等待、字幕、封面、多平台发布和数据回收的每一步都跟着真实文件走,而不是再造一份私有数据库。

核心能力

  • 把每条内容实体化成磁盘上的 日期_可读标题 子文件夹,AI 与插件都按文件而不是私有数据来协作
  • 通过侧栏、检查器和设置卡查看每条内容的阶段、工程绑定、字幕、封面、文章、发布状态
  • 支持自定义长期脚本规则(语气、结构、禁忌、目标观众),AI 写或改 script.md 前会自动复用
  • 启动字幕转录、预览、烧录以及三画幅封面生成后立即返回,由工作台继续跟踪文件和任务状态
  • 一键整理旧文件夹名称(仅改名、不会删除文件),并在改名前先预览
  • 通过 Ego Browser 从已登录的创作者后台同步播放量、点赞、评论、作品链接并写回 overlay
  • 内置 creator-workbench Skill,让 AI 自举完成首次体检、目录选位和配置预览(先看再保存)

技术实现

  • 语言: TypeScript(含 Zod / Schemastery Schema)
  • 关键依赖: @deepseek-ai/cordis(插件生命周期)、@deepseek-ai/dsh-tools(Tool 框架)、@deepseek-ai/dsh-typert-protocol(Host 与 Client 通信)、@deepseek-ai/dsh-settings(设置命名空间)、@deepseek-ai/schemastery(Config Schema)
  • 架构模式: 通过 Cordis apply() 注入 settings / tools / systemPrompt / skills 四个上下文;自身维护 ~/.dsh-oil-creator/overlay.json 作为状态真源;通过 cordis.patch.yml 关闭官方侧栏并挂入自定义 "内容" 标签
  • 入口文件: Host 入口 src/index.ts:14,Client 入口 src/client/index.tsx:107,配置 Schema src/config.ts:59,核心服务 src/service.ts:128,工具注册 src/tools.ts:31

适用场景

独立创作者或小团队在 DeepSeek Harness 之外需要一个不会被某一台应用绑死的本地片库,并且希望 AI 助手在浏览选题、推进进度、生成资产时把每一步落到真实文件;插件不替你做录制和最终发布,但在状态推进、字幕和封面脚本调度、发布数据回收等机械环节都能代劳。

前置依赖与兼容性

依赖最低版本说明
DeepSeek Harness0.1.0-rc.6 / 0.1.0-rc.7同时声明在 dependencies 与 peerDependencies,0.1.0-rc.6 与 0.1.0-rc.7 兼容
Node.js>=22.19.0package.json#engines.node 强制;@types/node 锁在 22.x
平台macOS / Windows / Linux跨平台;Screen Studio 工程绑定和打开、Ego Browser 发布与数据同步仅 macOS,其余能力在三平台均可使用
原生模块插件本体不依赖 node-gyp / native binding;不调用 child_process 执行原生二进制(外部 skill 自行负责 Python / FFmpeg)

安装方式

dsh plugin --profile web add github:oil-oil/dsh-oil-creator

配置项

配置类型说明默认值
内容目录(libraryRoot字符串,绝对路径存放所有内容子文件夹的根目录;每个直接子文件夹代表一条视频/节目macOS: ~/Movies/视频项目;其他系统: ~/Videos/视频项目
数据目录(dataDir字符串,绝对路径存放插件的状态文件(overlay.json、回收缓存、preview 注册表)~/.dsh-oil-creator
字幕工具路径(subtitleSkillDir字符串,留空走自动发现oil-subtitle 技能的安装位置;为空时按 ~/.claude/skills~/.codex/skills~/.agents/skills~/.grok/skills 顺序查找
封面工具路径(coverSkillDir字符串,留空走自动发现oil-cover 技能的安装位置;查找顺序同上一项
已启用发布平台(overlay profile.enabledPlatforms枚举数组允许参与自动发布与数据回收的平台;可在设置页或 oil_creator_profile 修改;全空时两项动作都不执行小红书、抖音、B 站、视频号
脚本规则(overlay scriptRules自由文本长期人设:语气、结构、禁忌、目标观众;写或改 script.md 之前 AI 会自动读取;空串表示清除不设置

常见问题

Q: 安装后还需要额外配置吗?

A: 默认无需复杂配置。首次使用时只需选择一个内容目录,其它能力(字幕、封面、发布同步)都会在设置页统一显示状态,缺哪一项只关闭对应环节,不会阻断片库核心功能。

Q: 没有 Screen Studio、字幕、封面、发布工具也能用吗?

A: 可以。核心片库不依赖这些外部工具;Screen Studio、oil-subtitle、oil-cover、video-publisher、Ego Browser 都按可选依赖处理,缺一项时仅降级对应环节,其它能力照常工作。

Q: 正文和状态存在哪里?会不会被复制一份藏起来?

A: 成片、字幕、封面、发布包、公众号文章都保存在你选择的内容目录下;插件只把阶段、工程绑定、手写发布标记、同步数据和任务状态存进 ~/.dsh-oil-creator/overlay.json,不会把正文复制一份藏起来。

Q: API Key 会回显到聊天或页面吗?

A: 不会。字幕和封面 Key 通过 Harness 官方凭据服务保存,设置页只显示"已配置 / 未配置",不会被读回对话、设置页或会话日志。

Q: Screen Studio 和多平台数据同步支持哪些平台?

A: Screen Studio 工程绑定和打开、Ego Browser 自动发布和数据回收都仅限 macOS;其他内容管理能力在 macOS、Windows、Linux 上都能使用。

Q: 卸载或更新配置后需要做什么?

A: 用 dsh plugin --profile web remove dsh-oil-creator 卸载,或更新配置后都需要重启 dsh web profile,让插件重新装配侧栏。旧版本曾手写进 ~/.dsh/profiles/web/cordis.patch.ymlui-sidebar disabled: true 需要手动删除,否则官方侧栏仍被关闭。

Q: 长任务调用后会一直阻塞到结束吗?

A: 不会。字幕生成、烧录和封面生成都设计成"立即返回、由后台观察",例如 oil_wait_export 启动观察后立刻返回,成片稳定落盘或超时(默认 2 小时)才更新状态;不要把这类调用当作同步操作。

Q: 能自动跑剪辑或自动发布吗?

A: 不能。剪屏仍由人在 Screen Studio 或 screen-studio-editor skill 里完成,最终发表按钮也由人按;插件只负责盯导出落盘、烧字幕、准备平台草稿和回收已发布数据。

上手难度

入门 — 设置页把内容目录选好、给 AI 一句自然语言指令即可走第一条内容;字幕和封面等可选能力有缺失时设置卡会直接指出,不会让人被安装步骤卡住。

已知问题与限制

  • 自动剪辑不会被插件调度,仍需在对话里让 screen-studio-editor 技能介入(docs/implementation.md:51
  • 导出开始后同时启动字幕和封面的并行编排目前没有串成自动流水(docs/implementation.md:52
  • 字幕生成不会自动改专有名词,校对仍由人在油条字幕预览编辑器里完成(docs/implementation.md:53
  • 封面主标题必须由调用方按 oil-cover 规则提炼后再传入,插件不会自己拆标题或验错别字(docs/implementation.md:54src/service.ts:798
  • 4 平台长文案、视频上传、oil-video-article 公众号成稿三类自动化尚未集成,插件只展示已有状态不调度执行(docs/implementation.md:55-57
  • 历史已发布作品如果本地没有对应文件夹,oil_sync_publish 不会自动创建目录,只在已存在条目里回填播放/赞/评(docs/implementation.md:58
  • Screen Studio 工程绑定和打开仅在 macOS 上可用,Windows / Linux 用户仍可正常使用片库、字幕、封面和发布状态记录(src/capabilities.ts:60-66src/service.ts:920-922