🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

鲸歌工坊 xuhao1/whalesong-studio

DeepSeek Harness
xuhao118 天前有提交已提供中文文档扫描:含敏感能力

和一支 AI 剧组一起写长篇小说——DeepSeek Harness 插件。

36.4/100
综合分
5
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xuhao1/whalesong-studio
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · tool
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/10/23·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 18 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(unknown · 2026/10/23) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包whalesong-studio(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖要求 >=0.2.0-rc.2 <0.3.0 · 最新 0.2.1-rc.5 兼容
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 20:50:26

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 19 处,展示前 19 条)
  • 读取本地文件
    scripts/prepare.mjs:24
    if (existsSync(resolve(root, 'lib', 'build.json'))) {
  • 执行外部命令来自配置/变量
    scripts/prepare.mjs:27
    const built = spawnSync(process.execPath, [resolve(root, 'scripts', 'build.mjs')], { cwd: root, stdio: 'inherit' })
  • 读取本地文件
    scripts/dev.mjs:34
    const pkg = JSON.parse(readFileSync(resolve(root, 'package.json'), 'utf8'))
  • 读取本地文件
    scripts/dev.mjs:49
    if (!existsSync(dsh)) {
  • 读取本地文件
    scripts/dev.mjs:54
    if (!existsSync(resolve(stage, 'lib/index.js'))) {
  • 执行外部命令来自配置/变量
    scripts/dev.mjs:56
    const built = spawnSync(process.execPath, [resolve(root, 'scripts/build.mjs'), '--stage-dir', stage], { stdio: 'inherit' })
  • 写入本地文件
    scripts/dev.mjs:60
    mkdirSync(home, { recursive: true })
  • 写入本地文件
    scripts/dev.mjs:61
    mkdirSync(workspace, { recursive: true })
  • 读取本地文件
    scripts/dev.mjs:66
    if (!existsSync(resolve(profileDir, 'package.json'))) {
  • 执行外部命令来自配置/变量
    scripts/dev.mjs:67
    const init = spawnSync(dsh, [profile, '--dump-config'], { env, cwd: workspace, encoding: 'utf8' })
  • 读取本地文件
    scripts/dev.mjs:76
    const manifest = JSON.parse(readFileSync(manifestPath, 'utf8'))
  • 删除本地文件递归
    scripts/dev.mjs:82
    rmSync(resolve(profileDir, 'node_modules', name), { recursive: true, force: true })
  • 写入本地文件
    scripts/dev.mjs:89
    writeFileSync(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`)
  • 写入本地文件
    scripts/dev.mjs:92
    mkdirSync(dirname(link), { recursive: true })
  • 删除本地文件递归
    scripts/dev.mjs:98
    rmSync(link, { recursive: true, force: true })
  • 执行外部命令来自配置/变量
    scripts/dev.mjs:105
    const child = spawn(dsh, [profile, '--no-open', '--port', port], { env, cwd: workspace, stdio: 'inherit' })
  • 执行外部命令固定命令
    scripts/push.mjs:132
    return execFileSync('git', args, { cwd: root, encoding: 'utf8', maxBuffer: 1 << 30, stdio: ['ignore', 'pipe', 'pipe'] })
  • 读取本地文件
    scripts/push.mjs:164
    const read = (path) => (existsSync(resolve(root, path)) ? readFileSync(resolve(root, path), 'utf8') : undefined)
  • 读取本地文件
    scripts/push.mjs:164
    const read = (path) => (existsSync(resolve(root, path)) ? readFileSync(resolve(root, path), 'utf8') : undefined)
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh@deepseek-ai/dsh-tools@deepseek-ai/dsh-subagent
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

6 张 · 点击查看大图

DeepSeek Harness 的小说写作插件。

README

由 DeepSeek 最新模型翻译生成
English · 简体中文 · 新手教程 · 全部功能 · 项目网站 鲸歌工坊 和一支 AI 剧组一起写长篇小说——DeepSeek Harness 插件。 鲸歌工坊(Whalesong Studio)是用 AI 写长篇小说的工具。你和总编聊;在它身后,一个小剧组分头去写、去记、去审、去画、去配音。写到几十万字,人物还是那个人物,前后还对得上。书写完了,还能一键发布成配图的网站。 它不是角色扮演的聊天前端,也不是"一键生成一章"的按钮:你拿主意,每个模型做它最擅长的那部分。 鲸歌工坊开在和总编的对话旁边 导入工坊的《红楼梦》前八十回,开在和总编的对话旁边。截图里的每一张画都是在工坊里画的。 看看做出来的作品:两部用鲸歌工坊发布的经典,在线就能读——《红楼梦》、《爱丽丝漫游奇境》(英文原版)。前几章还能直接听:《红楼梦》前十回、《爱丽丝》前三章,都是工坊配的音。点进去以后,别忘了点点上面的「人物」「世界」:每个人物都有自己的一页,主要人物配了画像;书里的地方可以一层层走进去看。 第一次用? 看新手教程,带着截图一步步走:从安装到画出第一章的插图。 一个剧组,而不是一个模型 会规划、会用工具的模型,文笔往往一般;文笔最好的模型,又管不好一部长篇。所以鲸歌工坊不指望一个模型包办一切: | 角色 | 做什么 | | 总编 | 和你对话的那一位,模型由你挑。
展开完整文档(README 剩余 1 节)
English · 简体中文 · 新手教程 · 全部功能 · 项目网站

鲸歌工坊

和一支 AI 剧组一起写长篇小说——DeepSeek Harness 插件。

鲸歌工坊(Whalesong Studio)是用 AI 写长篇小说的工具。你和总编聊;在它身后,一个小剧组分头去写、去记、去审、去画、去配音。写到几十万字,人物还是那个人物,前后还对得上。书写完了,还能一键发布成配图的网站。

它不是角色扮演的聊天前端,也不是"一键生成一章"的按钮:你拿主意,每个模型做它最擅长的那部分。

鲸歌工坊开在和总编的对话旁边

导入工坊的《红楼梦》前八十回,开在和总编的对话旁边。截图里的每一张画都是在工坊里画的。

看看做出来的作品:两部用鲸歌工坊发布的经典,在线就能读——《红楼梦》、《爱丽丝漫游奇境》(英文原版)。前几章还能直接听:《红楼梦》前十回、《爱丽丝》前三章,都是工坊配的音。点进去以后,别忘了点点上面的「人物」「世界」:每个人物都有自己的一页,主要人物配了画像;书里的地方可以一层层走进去看。

第一次用? 看新手教程,带着截图一步步走:从安装到画出第一章的插图。

一个剧组,而不是一个模型

会规划、会用工具的模型,文笔往往一般;文笔最好的模型,又管不好一部长篇。所以鲸歌工坊不指望一个模型包办一切:

| 角色 | 做什么 |
| 总编 | 和你对话的那一位,模型由你挑。听懂你想要什么,安排下一步写什么,把活派给大家,再向你汇报。它自己不写正文。 |
| 写手 | 专门写正文,模型由你挑。每次动笔前,都会拿到这一章需要的一切:设定、人物此刻的状态、前情、伏笔、章纲和文风。 |
| 场记 | 记性最好的那一位。每写完一章,就记下发生了什么、每个人变成了什么样;也像责任编辑一样审稿,说哪里前后矛盾,会把原文找出来给你看。 |
| 策划 | 出主意的那一位。推演接下来的情节,充实人物和世界观,陪你试试"如果……会怎样"的另一种走向,需要时上网查资料。 |
| 导演 | 管声音和画面。把章节改编成有声剧和分镜;你想亲自扮演书里的某个人时,由它来演其他所有人。 |
| 后期 | 把配音、音效和画面剪成一段视频,自己先检查一遍,合格了才交给你。 |

场记、策划、导演、后期都是真正的 agent,跑在 DeepSeek Harness 自己的 agent 循环上。每次干活,都会在对话里留下完整的记录:查了什么、交了什么、花了多少,一清二楚。不想聊天也没关系——所有功能在工坊的界面里都能直接点。

亮点

写到几十万字,也不会忘了前面

每写完一章,工坊都会记下这一章发生了什么、每个人物此刻怎样、哪些伏笔有了进展。写下一章时,前情梗概和最近几章的原文都会交到写手手里(书不长的时候就是全文),相关的旧段落也会一起找出来。文风档案让语气始终如一。想往下写、改一段、重写一章,还是全书统一改一处,说一声就行:所有改动都先给你看,改了哪里一目了然;采纳之后,原来的版本也一直留着。

写作页:章节列表、正文,右边是这一回的章纲

每个人物都有自己的一页,每个地方都能走进去

每个人物有一张卡:性格、关系、在书里经历了什么,还有长相和声音——之后的每一张画、每一句配音都照着它来。书里的地方一层套一层:贾府里有大观园,大观园里有潇湘馆、怡红院。正文旁边,人物里每个人一页,配大幅画像;世界里有画的地方会展开成一幅场景,园中各处、住在里面的人都标在画上,点一下就进去。

| 王熙凤的人物页:大幅画像,旁边是外貌、性格和来历 | 大观园:园中各处和住在里面的人都标在画上 |
| 人物——是谁、长什么样、经历了什么 | 世界——走进一个地方,园中各处和人都标在画上 |

读、听、看

阅读页排版讲究,书里的画就插在正文里;一个开关切到"收听",就是一部有声书,每个人物的声音全书一致。画面也前后一致:每个人物先画一张正面、侧面、背面的设定图,之后每次画这个人都以它为准。还可以更进一步:导演改编的有声剧、跟着配音播放的有声漫画、剪成视频的一章,或者亲自演一场——扮演书中的一个人物,和其他角色对戏。

| 阅读:第三回,插图就在正文里 | 图库:人设图、立绘、地方和封面 |
| 阅读——一个开关就能换成收听 | 图库——一本书一种画风,每张画都能查到是怎么画出来的 |

画图可以用任何你喜欢的模型:GPT Image、Qwen-Image、FLUX、Seedream……或者在自己电脑上跑的本地模型。

一键把你的创意变成电子艺术品

书写好了,一键发布成一个网站:正文排好了版,每个人物有画像和小传,书里的地方可以一层层走进去看。读者不用装任何东西,手机上也能读。上面那两部经典就是这样做出来的。

导入写完的书,接着写

把已有的书拖进来(.txt、.md、.epub、.docx),工坊会自动分章、整理人物和世界观、重建大纲、学会原作的文风——然后就能接着写、修改,或者做成有声剧。这一页的截图就是这样导入的《红楼梦》;英文 README 里是《爱丽丝漫游奇境》。

都在你自己的电脑上

- 你的书就是一个普通文件夹,里面是 Markdown 和 JSON。在工坊里改、用自己的编辑器改、让总编改,三边看到的是同一批文件;放进 git 管理也很顺手。
- 剧情分支:想试试另一种走向?开一条支线写写看。哪条更好,就把哪条定为主线,写过的一个字都不会丢。
- 手机上读:一个按钮,同一个 Wi-Fi 下手机就能读,可以只读也可以编辑。
- 加密:不想让人看到的书可以整本加密——正文、图片、音频,连同你和 AI 关于它的对话——用密码或电脑自带的解锁方式打开。
- 导出为 Markdown、纯文本、HTML 或 EPUB;用量和花费按模型、书和日期记账。

所有功能的完整说明:docs/features.zh.md。

安装

需要 DeepSeek Harness 0.2.0-rc.2 及以上(< 0.3)。桌面版和 Web 界面(dsh web)都能用。

桌面版

桌面版的 desktop 配置档由应用自己管理,所以插件要在应用里安装——dsh plugin --profile desktop … 会被命令行直接拒绝,这是有意的设计。

1. 打开左侧栏的插件,点添加插件。
2. 在"包名或地址"里填下面任意一种:
- github:xuhao1/whalesong-studio——应用会先询问是否允许运行本包的构建脚本;
- 发布包的绝对路径:在 Releases 下载 whalesong-studio-x.y.z.tgz,例如 /Users/you/Downloads/whalesong-studio-0.1.0.tgz;
- 已构建好的源码目录的绝对路径,例如 /Users/you/src/whalesong-studio——这种方式是"链接"而不是复制,之后重新构建源码目录,插件随之更新。
3. 安装。左侧栏会出现鲸歌工坊,新会话的预设菜单里会出现小说家 Novelist;没出现就重启一次应用。

升级:在同一页面卸载后再添加新版本。你的书只是工作区里的普通目录,不会被动到。

Web 界面与其他配置档

dsh plugin 会调用 pnpm,需要它在 PATH 里。

dsh plugin --profile web add /absolute/path/to/whalesong-studio-0.1.0.tgz
dsh plugin --profile web remove whalesong-studio

发布包也可以换成已构建的源码目录,或 github:xuhao1/whalesong-studio;后者需要允许 pnpm 运行构建脚本,见官方文档打包与安装插件。

自己构建

需要 Node.js 22+。

git clone https://github.com/xuhao1/whalesong-studio.git
cd whalesong-studio
npm install # 安装依赖;还没有 lib/ 时构建一份
npm pack # 生成 whalesong-studio-<版本>.tgz

快速开始

想照着图一步步来,看新手教程;下面是最短的版本。

1. 打开左侧栏的鲸歌工坊。第一次打开会先请你接上模型:选一家服务、贴一个 API key、点一键配置——画图、配音、检索就都配好了。写作用的是你在 DeepSeek Harness 里已经接好的文字模型,所以这一步也可以先跳过,之后随时补。有 ChatGPT Plus / Pro 的话,点第一张卡片的用 ChatGPT 登录并配置,在浏览器里登录一次,写作和插图就都接上了,不用 key(详细步骤)。
2. 开一本新书:一句话或一段话讲讲你想写的故事就够了。勾上"让 AI 起草",策划会给出故事核、主要人物、世界观、分卷和开头几章的章纲——都可以随便改。或者导入写完的书:把文件拖进来就行。
3. 用小说家 Novelist 预设开一个会话,直接说你要什么:"把第二章写出来,结尾停在敲门声"、"反派太扁平了,给他一个站得住的理由"、"如果她拒绝了这笔交易会怎样?"、"把第一章做成有声剧"。一开工,工坊就会出现在对话旁边。
4. 在工坊里读这一章,选中想改的地方就能改;在审校里决定要不要采纳改动。需要大一点的地方就点全屏。

接上模型:选一家服务,贴一个 key

输入框里还可以用 /novel status、/novel mode <ideate|bible|outline|draft|revise|review|stage|play>、/novel digest 和 /novel export <格式>。

配置

所有设置都在鲸歌工坊 → 设置里,也可以直接让总编帮你改。写作用的是 DeepSeek Harness 自己的模型——你在它的"设置 → 模型"里接好的任何一个;在工坊里只需要给每个角色挑一个。ChatGPT 订阅是个例外:DSH 自带用 ChatGPT 登录,只是它自己的页面里没有入口——工坊引导页上的 ChatGPT 卡片替它点开,登录一次就把这条路由加进 DSH、给各角色配好 GPT 模型(用 ChatGPT 订阅)。工坊自己只需要画图、配音、检索三种模型,贴一个 key 就能一次配好:

| 服务 | 插图 | 配音 | 语义检索 |
| 阿里云百炼 | Qwen-Image 3.0 | qwen-audio-3.1-tts-next | qwen3.7-text-embedding-flash |
| OpenRouter | GPT Image 2.5 | Gemini 3.8 Flash TTS | Qwen3 Embedding 8B |
| OpenAI | GPT Image 2 | gpt-4o-mini-tts | text-embedding-3-small |
| ChatGPT 订阅(Plus / Pro) | 订阅自带的 GPT Image;写作也用它。登录一次,不用 key | — | — |

也可以一项一项自己配:任意 OpenAI 兼容的服务、ComfyUI,或者你自己电脑上的模型。密钥存在 DeepSeek Harness 的凭据库里,不会写进设置文件。每一项设置的详细说明见 docs/configuration.md(英文)。

文档

| 新手教程 | 从安装到画册,带截图 |
| 用 ChatGPT 订阅 | Plus / Pro 用户:一键登录,写作和插图都用订阅 |
| 全部功能 | 工坊的每一项能力,完整说明 |
| 配置 | 每一项设置、单本书的覆盖、部署默认值(英文) |
| 一本书在磁盘上的样子 | 一本书的文件,逐个字段(英文) |
| 设计与实现 | 角色为什么这样拆、记忆怎么分层、上下文怎么打包、演出的几条流水线(English) |
| 参与开发 | 代码的目录结构、开发服务器、测试(英文) |
| 变更日志 | 每一版改了什么 |

数据去了哪里

- 文本发给你为各角色指定的模型:跟随对话模型或选用 Harness 模型的角色,走 Harness 的模型运行时(与你平时对话相同的线路、凭据和重试策略);单独指定了接口的角色,由工坊直接请求那个接口。
- 绘图提示词、要朗读的台词,以及(启用时)要做向量化的文本片段,会发给你配置的媒体接口。除此之外不向任何地方发送数据;没有遥测。
- 密钥只保存在本机的 Harness 凭据库里,只发往它所属的那个接口域名。
- 书留在你的工作区里。设置保存在 $DSH_HOME/novel-writer/。

许可证

GNU Lesser General Public License v3.0 或更高版本(LGPL 是在 GNU GPL v3 之上附加的许可)。你可以在任何 Harness 环境中使用本插件,并与其他插件按各自的许可组合;对本插件自身的修改须继续以 LGPL 发布。

你用它写出的小说,版权归你。

作者:Dr. Xu · <https://whalesong.xuhao1.me>

DeepSeek 娘的形象参考了上善无形的“溟月”和 ZipZipPipe 的 DeepSeek 女仆设定。
预览分享卡片长什么样 ↓xuhao1/whalesong-studio
分享 · DeepSeek Harness Hub
xuhao1/whalesong-studio

和一支 AI 剧组一起写长篇小说——DeepSeek Harness 插件。

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部