# dsh-oil-creator

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

## Metadata

- Author: [@oil-oil](https://github.com/oil-oil)
- Repo: <https://github.com/oil-oil/dsh-oil-creator.git>
- GitHub: [oil-oil/dsh-oil-creator](https://github.com/oil-oil/dsh-oil-creator)
- Stars: 93
- Language: TypeScript
- License: [MIT](https://spdx.org/licenses/MIT.html)
- Topics: `creator`, `deepseek-harness`, `dsh-plugin`
- Forks: 18
- Open Issues: 0
- Last push: 2026-08-20T00:40:08.000Z
- Added: 2026-08-20T00:00:00.000Z

## Install

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

## Wiki

## 一句话定位
为 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 Harness | 0.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.0 | `package.json#engines.node` 强制；`@types/node` 锁在 22.x |
| 平台 | macOS / Windows / Linux | 跨平台；Screen Studio 工程绑定和打开、Ego Browser 发布与数据同步仅 macOS，其余能力在三平台均可使用 |
| 原生模块 | 无 | 插件本体不依赖 node-gyp / native binding；不调用 `child_process` 执行原生二进制（外部 skill 自行负责 Python / FFmpeg） |

## 安装方式
```bash
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.yml` 的 `ui-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:54`、`src/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-66`、`src/service.ts:920-922`）

---

This document is auto-generated by [deepseek-plugin.org](https://deepseek-plugin.org). HTML page: [dsh-oil-creator](https://deepseek-plugin.org/plugins/oil-oil/dsh-oil-creator)
Wiki generated by AI (model: `MiniMax-M3`)
