by zenstory-ai
DeepSeek 写网文/小说的工作流插件:DeepSeek Harness 社区插件,内置小说、短剧、游戏、视频解说四个工作台 | Community DeepSeek Harness plugin with novel, short-drama, game and video-recap workbenches.
# Add to your Claude Code skills
git clone https://github.com/zenstory-ai/oh-story-dshLast scanned: 9/12/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-09-12T08:23:44.763Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how oh-story-dsh compares with popular alternatives.
oh-story-dsh is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by zenstory-ai. DeepSeek 写网文/小说的工作流插件:DeepSeek Harness 社区插件,内置小说、短剧、游戏、视频解说四个工作台 | Community DeepSeek Harness plugin with novel, short-drama, game and video-recap workbenches. It has 619 GitHub stars.
Yes. oh-story-dsh passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/zenstory-ai/oh-story-dsh" and add it to your Claude Code skills directory (see the Installation section above).
oh-story-dsh is primarily written in Python. It is open-source under zenstory-ai on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh oh-story-dsh against similar tools.
No comments yet. Be the first to share your thoughts!
30 days in the Featured rail · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
oh-story-dsh 是 DeepSeek Harness(DSH)的社区插件,与 DeepSeek 无隶属关系。装上它,DSH Web 里多出四个创作工作台:小说、短剧、游戏、视频解说。Agent、会话、模型、权限审批和 Chat 仍然全是 DSH 原生的,插件只添加创作 Skills、专业 Roles、项目文件协议和工作台界面,不带第二套 Agent 运行时或项目数据库。
以下清单对应当前源码;已发布安装包的上游提交固定在该版本的 manifest 中,未发布更新见 Unreleased。
| 工作台 | 上游能力(固定版本,随插件打包) | 主要入口 |
|---|---|---|
| 小说 | Oh Story 0.9.0 · 13 Skills · 7 Roles | /story、/story-long-write、/story-review |
| 短剧 | Drama Skills 0.9.0 · 11 Skills | /short-drama、/short-drama-write、/short-drama-storyboard、/short-drama-edit |
| 游戏 | NovelToGame 0.6.0 · 7 Skills · 《金瓶梅》ADV 可玩示例(18+) | /novel-to-game quick、/game-build、/game-qa |
| 视频 | video-recap-skills 0.6.2 · 7 Skills(3 个用户入口) | /video-recap、/video-script、/video-reference |
最新版本 v0.1.18(2026-10-19)。默认安装固定使用 DeepSeek Harness
0.2.1-rc.2;仍支持更早的0.2.0-rc.2。变更见 CHANGELOG.md 与 Releases;升级步骤见常见问题「升级到新版本后要做什么」。
下面四段动图都是打包后的插件装进官方 DSH Web 的真实画面,取自原生集成测试的录制;右侧 Chat、模型、用量和耗时都是 DSH 自己的。

文件树、编辑器、Chat 三栏。Agent 写文件时编辑器跟着它走,点 Chat 里的文件名就能在编辑器打开。覆盖长篇、短篇、选题、扫榜、拆文、导入、审稿、去 AI 味与封面。

每集按需维护最多五份核心创作 Markdown:剧本.md、视觉设定.md、分镜.md、图片提示词.md、视频提示词.md。「生产」视图把它们投影成镜头板、素材板、任务/版本、成片顺序和可平移缩放的无限关系画布,并就地指出重复 ID、悬空引用与格式错误。生图、生视频、配音、生音乐的任务先预览、你确认后才调用供应商 API;成片由 /short-drama-edit 按《剪辑单.md》渲染到 剧集/<EP>/制作成果/成片/。

左侧实时试玩、右侧 Chat。/novel-to-game quick 的产物写进 game-adaptations/<project>/,build/app/index.html 就绪后自动进入项目列表,可刷新、全屏、切换项目。游戏在独立 origin 与 iframe sandbox 里运行。随包的《金瓶梅 · 风月总账》ADV 示例不用 API Key 也能玩:还没有作品时点欢迎卡上的「先玩内置示例」,之后在「游戏项目」下拉的「内置示例」里选择。示例改编自古典小说,含成人内容(18+),进入前会确认年龄。

左侧预览、右侧 Chat。项目放在 video-recaps/<project>/:原片在 sources/,工作产物在 work/,交付在 outputs/。可在原片、剪后片、成片之间切换,查看阶段提示、运行清单与质检产物;视频经 HTTP Range 流式预览。还没有视频项目时,空状态先列出运行环境:Python 3.10+、ffmpeg/ffprobe 与 MIMO_API_KEY 是否就绪。
各工作台的边界与协议见架构说明。
需要 Node.js 24+。安装命令会临时提供 pnpm,只装了 Node.js 的机器也能执行:
npx -y --package pnpm@11.7.0 --package @deepseek-ai/dsh@0.2.1-rc.2 dsh plugin --profile web add @oh-story/dsh@0.1.18 &&
npx -y @deepseek-ai/dsh@0.2.1-rc.2 web
保持终端运行,浏览器默认自动打开;没有自动打开就复制终端打印的完整 http://127.0.0.1:3080/?token=... 链接访问,首次认证需要链接里的 token。关闭终端会停止服务。安装与启动请使用同一个 dsh 版本。本页默认命令固定使用 npm latest 的 0.2.1-rc.2;本插件接受 >=0.2.0-rc.2 <0.2.1-0 与 >=0.2.1-alpha.1 <0.2.2-0。仍在用 0.2.0-rc.2 时,安装与启动两条命令都要换成 @deepseek-ai/dsh@0.2.0-rc.2;不要把两个宿主版本混用。DSH 会在安装与加载时检查版本,不匹配时给出明确提示(dsh plugin allow-version 可自担风险放行)。
开始 AI 创作前,在 DSH 的「设置 → 模型」中添加 Provider 并填入 API Key,或在启动前设置环境变量 DEEPSEEK_API_KEY。只查看已有作品可在首次引导中选择「稍后配置 / Configure later」。
GitHub Release 中的预构建包经过同一套测试:
npx -y --package pnpm@11.7.0 --package @deepseek-ai/dsh@0.2.1-rc.2 dsh plugin --profile web add https://github.com/zenstory-ai/oh-story-dsh/releases/download/v0.1.18/oh-story-dsh-0.1.18.tgz &&
npx -y @deepseek-ai/dsh@0.2.1-rc.2 web
视频流水线还需要宿主机安装 Python 3.10+ 与 ffmpeg/ffprobe(Debian/Ubuntu sudo apt install ffmpeg)。带 libass subtitles 滤镜时会烧录字幕;未提供该滤镜的构建交付外部 SRT,也可另装带 libass 的构建。视频解说另用 MIMO_API_KEY(Fish Audio TTS 另需 FISH_API_KEY)。Key 与 PATH 在启动 DSH 的终端里设置,重启 DSH 后生效。
DeepSeek 负责写剧本、分镜和提示词;生图、生视频、配音、生音乐由短剧「生产」交给 short-drama-produce Skill,再调用下面的供应商 API 完成。生产与检查脚本需要宿主机上的 Python 3.9+。Key 在启动 DSH 之前写入宿主机环境变量:
| 能力 | 供应商 | 必需环境变量 | 可选 |
|---|---|---|---|
| 图片 | GPT Image 2 | OPENAI_API_KEY |
OPENAI_BASE_URL |
| 视频 | Seedance(火山方舟) | ARK_API_KEY、SEEDANCE_MODEL |
SEEDANCE_BASE_URL、SEEDANCE_ALLOWED_RATIOS、SEEDANCE_MIN_DURATION/SEEDANCE_MAX_DURATION |
| 视频 | MiniMax H3 | MINIMAX_API_KEY、MINIMAX_VIDEO_MODEL、MINIMAX_VIDEO_RESOLUTIONS、MINIMAX_VIDEO_MIN_DURATION/MINIMAX_VIDEO_MAX_DURATION |
MINIMAX_VIDEO_BASE_URL、MINIMAX_VIDEO_RATIOS |
| 语音 | MiniMax Speech | MINIMAX_API_KEY |
MINIMAX_BASE_URL |
| 音乐 | MiniMax Music | MINIMAX_API_KEY |
MINIMAX_BASE_URL |
export OPENAI_API_KEY=... # 图片
export ARK_API_KEY=... SEEDANCE_MODEL=... # 视频,模型/Endpoint ID 以账号开通的为准
npx -y @deepseek-ai/dsh@0.2.1-rc.2 web
只配置用得到的那几个即可:没有视频 Key 仍然可以写分镜、生成关键帧图片。「生产」视图顶部会显示每个供应商是否已配置、缺哪个变量。插件启动时会把这五个内置 adapter 登记到一份不含凭据的配置文件(默认在系统临时目录下仅当前用户可读写的 oh-story-dsh-<uid>/ 里,「生成环境」条会显示完整路径),Agent 运行 production_tool.py run 时直接引用它;自己写 adapter 或改超时,就把文件路径写进 OH_STORY_DRAMA_ADAPTER_CONFIG。每个供应商的参数、分辨率与时长约束见随包的 short-drama-produce/references/providers/。小说封面使用当前 Preset 里可见的图片生成工具。
声音参考需要额外显式配置:自动生成的通用 profile 不声明 reference_audio,因为环境变量里的具体模型未必支持声音输入;只有确认所选模型支持后,才在项目外的自定义 adapter 配置里为该 profile 声明 reference_roles(包含 reference_audio),并用 OH_STORY_DRAMA_ADAPTER_CONFIG 指向它。未声明时会在付费提交前拒绝,不会静默丢掉声音。
插件装进哪个 profile,那个 profile 的每个 Session 就都会加载创作 Skills。想让原版 web 保持干净,就把插件装进独立 profile:
npx -y --package pnpm@11.7.0 --package @deepseek-ai/dsh@0.2.1-rc.2 dsh plugin --profile story add @oh-story/dsh@0.1.18
新 profile 默认没有界面。编辑 ~/.dsh/profiles/story/package.json,把 dsh.profile.bundles 改成:
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"@oh-story/dsh"
]
@deepseek-ai/dsh-web-app 是 DSH 自带的 Web 界面包,需要在创作插件之前加载。之后两个 profile 用不同端口可以同时运行,模型、凭据、workspace 与历史会话由 DSH 统一保存:
npx -y @deepseek-ai/dsh@0.2.1-rc.2 web # 原版 DSH
npx -y @deepseek-ai/dsh@0.2.1-rc.2 --profile story --port 3081 # 创作工作台
首次启动时,DSH 会在「文稿」目录下自动建一个 默认工作区 / Default workspace(deepseek-harness/default-workspace),并直接打开其中的空白会话,Oh Story 的使用引导显示在会话首页。要在自己的作品目录里创作,点击左侧 Workspaces 旁的 添加工作区 / Add workspace,选择存放作品的文件夹,再在下方 选择工作区 / Choose workspace 中选中该目录;创作文件会写进当前会话所属的工作区。目录里已有创作项目时,会显示「小说 / 短剧 / 游戏 / 视频」四个工作台标签;空目录保留 DSH 原生 Chat,输入 /story、/short-drama、/novel-to-game quick 或 /video-recap 开始,Agent 写出第一个创作文件后工作台自动出现。
下面的请求复制改一改就能用,替换方括号内容后发送。
开一本新书:
我想开一部 [类型/题材] 新书。先从我提供的材料中分开已确定事实与待决问题;只规划一个有边界的开篇,交付核心冲突、视角限制、前三章变化和待决项。不要自动写正文;题材取舍、角色动机和长期方向留给我确认。
已有稿件,第一轮只讨论续写方案:
我想规划这部自有或已获授权小说的下一场戏。只阅读当前 workspace 中我点名的 [章节文件] 和 [设定文件];[末尾片段] 尚未写完,不要把它算成完整章节。先列出与下一场戏有关的已知事实、视角人物目前知道的事,以及尚缺或冲突的信息。再给两个续写方向,分别说明人物要什么、阻力是什么、行动造成什么可见变化;不要提前揭示 [秘密],停在 [场景边界]。本轮只在 Chat 回复,不创建、移动或改写任何文件。
短剧、游戏、视频解说,直接说目标:
用 /short-drama 初始化一个都市打脸题材的短剧项目,竖屏 9:16,只写第 1 集,先不生成任何媒体。
用 /novel-to-game quick 把 [小说文件] 改编成可玩游戏,平台、类型和引擎由你推荐,首个构建控制在 15 分钟以内。
给 /path/to/video.mp4 做一个 3 分钟中文解说成片,保留关键原声,字幕烧进画面。
节选自随包示例工程(同步自 oh-story-claudecode 的 demo 与 drama-skills 的公开样例),省略处以「……」标出。
写第 21 章之前,追踪/上下文.md 记录了当前位置与风险;继续前先用它定位,再按写作流程读取本章细纲、相关设定与必要原文:
## 当前位置
- 当前章:第20章
- 场景:火箭军文工团,钟嘉嘉送来老兵书法礼后
……
## 活跃伏笔
- F016|钟嘉嘉并非普通军报实习生,她的军方家庭背景仍未完全公开|埋第7章|回收章未定|高
……
## 连贯性风险
- 第21章尚无细纲,不能直接写正文。
最后一行是硬门禁。没有细纲就写正文,写入会被 DSH 的 tools/pre-execute 钩子拒绝:
Oh Story 阻止写入第 21 章:未找到对应的 大纲/细纲_第021章*.md。先按 story-long-write 单章流程补建细纲再写正文。
视觉设定.md 给跨镜不变的造型上锁,锁面能原样贴进提示词;分镜.md 只写起点、唯一动作、终点和依据;视频提示词.md 把两点之间的动作写成模型能执行的英文:
- 连续性锁:LOCK-JIANGCHEN-DRESS《江晨松枝绿常服》(镜头:SHOT-EP001-002、SHOT-EP001-003、SHOT-EP001-007……;图片提示词项:IMG-JIANGCHEN-SHEET)· 锁面:pine-green lapel service jacket
## SHOT-EP001-002 · 四个号,四个粉
- 来源:EP001-SC001
- 时长:4s
- 起点:周薄森面对笔记本坐得笔直,右手搭在茶杯旁;江晨双手掌心朝下撑在玻璃桌沿,眼神涣散。
- 唯一动作:哄笑声滚过来,周薄森下颌收紧、腰背又挺直一分;江晨眨了一下眼,眼神猛地聚拢。
- 终点:画面停在周薄森绷紧的脸与屏幕冷光;江晨仍