English · 简体中文 · Tutorial · Everything it does · Website
# Whalesong Studio **Write a long novel with a crew of AI agents — a plugin for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness).** **Whalesong Studio** (鲸歌工坊) is for writing long fiction with AI. You talk to a showrunner; behind it, a small crew writes, keeps track of the story, reviews, draws and gives it a voice. Hundreds of thousands of words in, your characters are still themselves and the story still adds up. When the book is done, you can publish it as an illustrated website in one click. It isn't a role-play front end or a "generate a chapter" button: you make the calls, and each model does the part it is good at.  *Lewis Carroll's* Alice's Adventures in Wonderland *imported into the Studio, open beside a conversation with the showrunner. Every picture in these screenshots was drawn in the Studio.* **See what it makes:** two classics published with Whalesong Studio — read *[Alice's Adventures in Wonderland](https://whalesong.xuhao1.me/books/alice/)* or *[Dream of the Red Chamber](https://whalesong.xuhao1.me/books/hongloumeng/)* (红楼梦, in Chinese) online. The first chapters can be listened to as well — the first three of *Alice*, the first ten of 红楼梦 — voiced by the Studio. Once inside, click **People** and **World** at the top: every character has a page of their own, the main ones with portraits, and the places can be walked into one inside another. > **New here?** The [tutorial](./docs/tutorial.md) walks you through it with screenshots, from installing to your first illustrated chapter. ## A crew, not a single model Models that plan well and use tools well rarely write beautiful prose, and the best prose writers rarely manage a big project well. So Whalesong Studio doesn't ask one model to do everything: | Role | What it does | |---|---| | **Showrunner** (总编) | The one you talk to, on any model you like. Works out what you want, plans what comes next, hands out the work and reports back. It never writes the story itself. | | **Writer** (写手) | Writes the prose, on a model you choose. Before every chapter it is handed everything that chapter needs: the setting, where each character stands, what came before, the open threads, the outline and the style. | | **Continuity** (场记) | Remembers. After every chapter it notes what happened and how everyone has changed. It also reviews like an editor — and when it says something contradicts an earlier chapter, it shows you the passage. | | **Planner** (策划) | Has the ideas. Works out what could happen next, fleshes out the characters and the world, tries "what if…" turns of the story, and can look things up on the web. | | **Director** (导演) | Sound and pictures. Adapts chapters into audio drama and storyboards, and plays everyone else when you step into a scene as one of the characters. | | **Post-production** (后期) | Edits voices, sound and pictures into a video, checks the result itself, and hands it over only when it passes. | The four crew members are real agents running on DeepSeek Harness's own agent loop, and every job they do leaves a full record in your conversation: what they looked up, what they handed in, what it cost. Prefer buttons to chat? Everything can be done from the Studio's own screens, too. ## Highlights ### Hundreds of thousands of words in, nothing is forgotten After every chapter the Studio notes what happened, where each character stands and which threads moved. When the next chapter is written, the writer gets a summary of everything before plus the last few chapters in full — the whole book, while it's short enough — along with any earlier passages that matter. A style profile keeps the voice steady. Ask for what comes next, a fix to a paragraph, a rewrite of a chapter or one change carried through the whole book: every change is shown to you first, side by side, and the previous version is always kept.  ### Every character gets a page, every place can be explored Each character has a card — personality, relationships, what they go through in the book, how they look and sound — and every later picture and spoken line follows it. Places nest inside one another: Wonderland holds the hall of doors, the wood, the garden and the March Hare's house. Beside the text, **People** shows each character's page with a large portrait, and **World** opens any place to show its picture, what it contains and who lives there. | | | |---|---| |  |  | | *People — who they are, how they look, what they go through* | *World — what is in a place, and who lives there* | ### Read it, hear it, watch it A reader with careful typography and the book's own pictures in the text; one switch turns it into an audiobook, with every character keeping one voice through the whole book. Pictures stay consistent too: each character first gets a design sheet — front, side and back — and every later picture is drawn to match. Go further with an **audio drama**, a **motion comic** that plays along with the voices, a chapter cut into a **video**, or an **interlude** — play one of the characters in a scene while the others answer you. | | | |---|---| |  |  | | *Read — and with one switch, listen* | *Gallery — one look per book; every picture remembers how it was made* | The pictures can come from any image model you like — GPT Image, Qwen-Image, FLUX, Seedream… or a model running on your own computer. ### Publish it as a work of digital art When the book is ready, publish it as a website in one click: the text set for reading, a portrait and a short biography for every character, and places your readers can step into. Nothing to install, and it reads well on a phone. The two classics linked above were made exactly this way. ### Bring in a book you've already written Drop in a `.txt`, `.md`, `.epub` or `.docx`. The Studio finds the chapters, sorts out the characters and the world, rebuilds the outline and learns the style — then you can carry on writing, revise it, or turn it into an audio drama. The screenshots on this page are *Alice's Adventures in Wonderland* imported this way; the Chinese README shows *Dream of the Red Chamber*. ### Yours, on your own machine - **Your book is an ordinary folder** of Markdown and JSON. Edit it in the Studio, in your own editor or through the showrunner — all three see the same files, and it works well with git. - **Branching plots**: try another way the story could go on a branch; whichever works better becomes the main line, and nothing you wrote is lost. - **On your phone** over Wi-Fi with one button, read-only or editable. - **Private books**: lock a book — text, pictures, audio and your conversations about it — behind a password or your computer's own unlock. - **Export** to Markdown, plain text, HTML or EPUB, and see **usage and cost** per model, book and day. Everything it does, in full: **[docs/features.md](./docs/features.md)**. ## Install Requires DeepSeek Harness `0.2.0-rc.2` or later (`< 0.3`). It works in the Desktop app and the Web UI (`dsh web`). ### Desktop app The Desktop app owns its `desktop` profile, so plugins are installed from inside the app — `dsh plugin --profile desktop …` is refused by design. 1. Open **Plugins** in the left sidebar and choose **Add plugin**. 2. Enter one of: - `github:xuhao1/whalesong-studio` — the app asks before it runs the package's build script; - the absolute path of a release tarball — download `whalesong-studio-x.y.z.tgz` from [Releases](https://github.com/xuhao1/whalesong-studio/releases) — e.g. `/Users/you/Downloads/whalesong-studio-0.1.0.tgz`; - the absolute path of a built checkout, e.g. `/Users/you/src/whalesong-studio` — it is linked rather than copied, so rebuilding the checkout updates the plugin. 3. Install. *Whalesong Studio* appears in the left sidebar and *小说家 Novelist* in the preset menu of a new session; restart the app if they do not. To upgrade, uninstall the plugin on the same page and add the new version. Your books are ordinary directories in your workspaces and are not touched. ### Web UI and other profiles `dsh plugin` runs pnpm, which must be on your `PATH`. ```sh dsh plugin --profile web add /absolute/path/to/whalesong-studio-0.1.0.tgz dsh plugin --profile web remove whalesong-studio ``` A built checkout path or `github:xuhao1/whalesong-studio` works in place of the tarball; for the latter pnpm must be allowed to run the build script, see [Package and install a plugin](https://deepseek-harness.github.io/deepseek-harness/en/develop/basic/publish). ### Building it yourself Needs Node.js 22+. ```sh git clone https://github.com/xuhao1/whalesong-studio.git cd whalesong-studio npm install # installs dependencies; builds lib/ when the checkout has none npm pack # writes whalesong-studio-