Keep Whale-chan consistently vivid in every generation: High-consistency character design specification, visual asset library, and agent creation suite
- Project Overview
- Special Statement and Disclaimer
- Whale-chan Character Profile
- Five Character Form Profiles and Proportions
- Visual Showcase Gallery
- Core Agent Skill Library
- Installation & Environment Setup
- Quickstart Guide
- Local Command-Line Toolchain
- Project Roadmap
- Contributing Guide
- License Information
- Character IP & Fanwork Copyright Attribution
- Friendly Links
Whale-chan originated from spontaneous community creations and emotional resonance with the DeepSeek model's reasoning chain and outputs. A whale-fin maid girl who firmly believes that white rice is the ultimate hard currency for computing power, she is slightly tsundere, warm-hearted, and loves unapologetically slacking off in standby mode. She has sparked countless classic memes, stickers, and creative fanworks across social platforms, becoming a truly beloved community icon.
The DeepSeek Whale-chan project is an open-source character specification and Agent creation suite tailored for Whale-chan derivative content. By establishing unified visual standards, anatomical parameters, and automated toolchains, we empower creators and developers to reliably generate high-quality character illustrations, posters, stickers, and multi-panel comedy comics:
- 🎨 Visual Feature Locking: Standardized reference assets strictly locking hair gradient, whale-fin ears, forward cowlick, whale tail, and classic maid uniform;
- 📐 Quantified Form Proportions: Mathematically defined proportions from 4.0-head standard portraits down to 2.1-head chibi SD forms, verified by skeletal measurement tools;
- 🧠 Character Mindset Engine: Identifies the source's own comedy direction — reversal, exposure, escalation, recognition, or character gag — and preserves its humor and tone through Whale-chan's language, reactions, and timing;
- 🛠️ Full-Stack Toolchain Integration: Out-of-the-box Agent Skills and local scripts supporting multi-model routing and single-prompt delivery.
- Non-official Community Project: This project is a community-driven derivative fan creation and AI character consistency toolchain experiment, not officially affiliated with DeepSeek (Hangzhou DeepSeek Artificial Intelligence Basic Technology Research Co., Ltd.).
- Trademark and Brand Ownership: DeepSeek and related brand names mentioned in this project belong to their respective trademark holders.
- Safety & Content Ethics: All generated illustrations and comics must adhere to positive, safe, and lawful content standards, strictly prohibiting any unlawful uses, infringement on third-party rights, or violations of model provider terms of service.
Forms strictly control body proportions and skeletal ratios, without altering character age, identity, costume details, hair color, or cetacean physiology. The built-in skeletal joint fitting and pose neutralization algorithms enforce precise head-to-body ratio acceptance bands:
Form Code (form) |
Target Ratio | Strict Acceptance Range | Visual Characteristics & Target Scenarios |
|---|---|---|---|
standard |
4.0 Heads | 3.846 ~ 4.146 |
Standard Slender Form: Most elongated posture, natural limbs, clear torso structure. Best for standing displays, official concept sheets, and large posters. |
compact |
3.3 Heads | 3.105 ~ 3.405 |
Compact Proportion Form: Moderately shortened limbs, stronger dynamic tension. Best for action poses, seated interactions, and medium-range illustrations. |
semi-chibi |
2.8 Heads | 2.695 ~ 2.995 |
Default Baseline Form: Slightly larger head, rounded and compact torso and limbs, blending cuteness and scene adaptability. Default output baseline for all Skills. |
chibi |
2.5 Heads | 2.372 ~ 2.672 |
Chibi Cute Form: Short torso, rounded hands and feet, expressive and exaggerated emotions. Best for gag 4-panel comics and stickers. |
super-deformed |
2.1 Heads | 1.931 ~ 2.231 |
Extreme SD Form: Massive head and tiny limbs, visual focus entirely on face and cowlick. Best for comedic plot twists and high-density stickers. |
Dedicated to generating identity-locked, well-composed, clean-background WebP illustrations and reference sheets across all forms.
Extracting an identifiable Fact Anchor from technical chats, error logs, CoT traces, or user rants, and preserving the source's humor and tone through Whale-chan's actions, language, reactions, and timing. Jokes are planned in five comedy directions — reversal, exposure, escalation, recognition, and character gag — with the source's own direction considered during comparison. Self-serving "Theft of Meaning" is one reversal tactic when it fits the source. How hard a joke is performed is a separate A/B/C exaggeration tier, independent of its direction: A manga impact (detailed scene, concentration lines, deformed faces, drawn sound effects), B comic outburst (desk-slamming accusations, situations spiralling), C restrained deadpan (carried by the line, a glance or negative space).
The project provides two specialized, out-of-the-box Agent Skills under the skills/ directory:
| Skill Name | Role & Core Function | Workflow Mechanism & Technical Features |
|---|---|---|
whalechan-image-character |
Character Portraits & Themed Illustrations Generates high-consistency, strictly verified, identity-locked Whale-chan solo, prop, and scene illustrations. |
• Standardized Pipeline: Seven-column proposal selection ➔ Scope & budget confirmation ➔ Assignment expansion & freeze ➔ Generation & QA • Dual QA System: Deterministic image format checks, skeletal joint fitting, and native-res visual QA matrix |
whalechan-image-comic |
Multi-Panel Comedy Comics Freezes 2N concise ideas, uses an independent sub-agent to rank and select N, and makes one comic per selected idea (N defaults to 5). |
• One User Gate: Show the N-idea table, image total and role allocation ➔ Confirm once ➔ Generate and verify • Five Comedy Directions: Reversal, exposure, escalation, recognition and character gag, compared without creative admission thresholds or repeated candidate pools • Multi-Panel Grammar: For N≥3, cover 1-, 2- and 4-panel layouts by narrative need; N=1/2 relaxes coverage • Three Exaggeration Tiers: Use 3A/1B/1C for N=5; other counts approach 60%/20%/20% by content. A is manga impact, B comic outburst and C restrained deadpan, tiered on the landing panel, with optional contrast that deliberately lowers one axis • Visual Typesetting: 10 blue-white text templates, explicit dialogue ownership and abstract supporting-character staging |
The comic Skill also includes Claude, GPT, Gemini, Grok, Qwen, Kimi, GLM and Doubao/Seed as detailed fictional supporting characters, with five forms each (40 WebP reference sheets). Actual source participants or explicitly requested models retain their own identities and outfits; ordinary people remain abstract figures. The existing single confirmation includes cast references, personalities, scene-specific performances and target proportions. These settings remain bound through prompting and visual review, alongside the current multi-agent, language and offline-gallery workflows.
Character uses Gate 2 and up to 10 generation workers. Comic uses one confirmation and independent role caps: planning 5, selection 2, generation 5 (Codex 3), collection 2, delivery 1; the batch ceiling is 10. Runtime/provider capacity can lower dispatch. Comic planning requires an independent selector; after completed selection, confirmed serial or no-delegation generation can use the main agent. Parallel execution does not increase the confirmed image count or candidate budget.
git clone https://github.com/Neko3000/deepseek-whalechan.git
cd deepseek-whalechan
# Install ImageMagick, used for image validation, measurement and panel composition
brew install imagemagick # macOS; use your system package manager elsewheremkdir -p ~/.codex/skills
cp -R skills/* ~/.codex/skills/Tip
After restarting or refreshing your Codex session, $whalechan-image-character and $whalechan-image-comic will be automatically recognized.
# Gemini / Antigravity
mkdir -p ~/.gemini/config/skills
cp -R skills/* ~/.gemini/config/skills/
# Claude Code
mkdir -p ~/.claude/skills
cp -R skills/* ~/.claude/skills/Tip
Use Codex ImageGen from other agents: if the Codex CLI is installed and logged in (codex login), the Skills running in Claude Code, Antigravity or other agents call Codex ImageGen through codex exec to render each image, while the current agent handles proposals, prompts, QA and delivery. Each image uses your ChatGPT plan quota. Without Codex, the Skills fall back to the external providers below.
Codex ImageGen is the default image generation tool and requires no external API keys: Skills use it directly inside Codex, and through the local Codex CLI in other agents. If you wish to enable external fallback channels in predetermined order, set the corresponding environment variables:
# 1. OpenAI Images API (gpt-image-2)
export OPENAI_API_KEY="sk-..."
export OPENAI_IMAGE_MODEL="gpt-image-2" # Optional override
# 2. Google Gemini / Nano Banana
export GEMINI_API_KEY="AIzaSy..."
# Or export GOOGLE_API_KEY="AIzaSy..."
export NANO_BANANA_IMAGE_MODEL="gemini-3.1-flash-image" # Optional model override
# 3. Volcengine Ark / Seedream API
export ARK_API_KEY="..."Caution
Never commit real API keys to Git repositories, prompt texts, assignment task cards, or generation logs.
After installing the Skills and restarting Codex, invoke $whalechan-image-character and $whalechan-image-comic directly in your conversation.
Enter in your Codex session:
Using $whalechan-image-character, generate an 8:3 Whale-chan promotional banner:
Whale-chan is positioned on the right, pausing right before taking her first bite of rice, cheeks slightly puffed, chopsticks hovering by the bowl, eyes locked onto the white rice. The left side features a layered ad layout with soft blue radial bursts, white flowing ribbons, and mini whale accents.
Text must accurately include:
"Whale-chan: Rice Before Reason!"
"Top Priority: Eating White Rice"
"No logic during mealtime — that's Whale-chan's rule."
"NO FOOD, NO CLUES"
Example result:
Execution Workflow:
- The Agent parses the scene, aspect ratio, character form, composition, and specified text;
- Locks identity traits (hair gradient, whale-fin ears, tail, maid uniform) against standard Whale-chan reference sheets;
- Gate 1: Show five directions in a seven-column table for an open theme; preserve precisely specified scenes without forcing alternatives. Wait for selection;
- Gate 2: Show selected titles, per-proposal counts (one image by default), totals, visual settings, reference permissions, output specifications and candidate budget. Wait for permission to begin, including any ceiling above 24 candidates;
- Expand and freeze internally after confirmation, without a third routine gate; dispatch across ImageGen → OpenAI → Nano Banana → Seedream;
- Automatically verifies image format, aspect ratio, anatomical proportions, text accuracy, and visual quality;
- Final deliverables are archived under
artifacts/whalechan-image-character/<run-name>/.
$whalechan-image-comic can inspect screenshot images of chats, error stack traces, or memes to extract identifiable fact anchors.
Attach an image to Codex, for example:
Then enter:
Using $whalechan-image-comic, turn this attached chat screenshot into a 5-comic Whale-chan series.
Extract only the core facts and semantics. Do not duplicate the original screenshot's UI layout, avatars, or fonts.
For image inputs, the Skill only inherits semantic facts by default, without using the source image as composition or style reference unless explicitly requested.
You can also directly input conversations, technical debates, error logs, or daily quotes:
Using $whalechan-image-comic, turn the following text into a 5-comic Whale-chan series:
"User allows Whale-chan to eat anything in the fridge, and she immediately asks if she can take the whole fridge away."
Example result:
Execution Workflow:
- The Agent analyzes the source event, humor, tone, participants, and the source's native comedy direction, preserving an identifiable fact anchor;
- The author freezes 2N concise candidates (default N=5); a different real sub-agent ranks all candidates with brief reasons and a set explanation, then the author completes the first N visual plans;
- It plans one image per selected idea. For N≥3, cover 1/2/4 panels; N=5 uses 3A/1B/1C, other counts approach that ratio. Explicit overrides apply; planning includes dialogue/payoff comparison;
- One confirmation: Displays the N-idea information table, image total, worker assignments and per-image three-call budget, then waits for permission to generate;
- After confirmation, freezes the plan and uses the preflight-locked image tool. Generation workers own image journals; collection/delivery workers merge records under locks;
- Each candidate receives one visual QA; a collection worker reviews one contact sheet per source, with at most one repair round and one focused recheck within the original budget;
- Final deliverables are archived under
artifacts/whalechan-image-comic/<run-name>/.
Tip
Inputs only need a clear fact, conflict, or permission boundary — no need to pre-engineer jokes. The Skill identifies how the source is funny — reversal, exposure, escalation, recognition, or a character gag — and preserves that humor and tone rather than forcing every joke into a twist.
After generation and finalize, both skills deliver an ivory offline gallery with a sticky source/theme sidebar index, results grouped by proposal, grid/list views, a full-screen zoomable viewer with input-image comparison, actual prompts, candidate history and generation counts. Unselected proposals remain available as collapsed summaries.
python3 skills/whalechan-image-character/scripts/export-gallery.py --run-dir <completed-character-run>
python3 skills/whalechan-image-comic/scripts/export-gallery.py --run-dir <comic-run-a> --run-dir <comic-run-b> --output artifacts/whalechan-image-comic/<batch-name>/galleryOpen the returned index.html directly. Share the whole directory with its adjacent assets/; no server or network is needed. Single runs default to <run>/gallery/; repeated exports use new numbered directories. See the gallery guide.
The repository includes Python tools and unit tests that can be run directly from the command line:
# 1. Run all unit tests
python3 -m unittest discover skills/whalechan-image-character/tests
python3 -m unittest discover skills/whalechan-image-comic/tests
# 2. Validate Assignment task schema
python3 skills/whalechan-image-comic/scripts/manage-run.py validate-assignment --assignment assignment.json
# 3. Deterministic technical validation (format/resolution/channels/background)
python3 skills/whalechan-image-comic/scripts/validate-image.py candidate.png --resolution-mode auto --aspect-ratio 1:1
# 4. Measure skeletal head-to-body ratio and output diagnostic overlay
python3 skills/whalechan-image-comic/scripts/measure-form.py candidate.png --output-overlay overlay.png
# 5. Generate candidate image directly via Gemini Nano Banana API
python3 skills/whalechan-image-comic/scripts/generate-nanobanana.py --request request.json --output output.png- Character Foundation: Full set of Whale-chan visual reference assets and SHA-256 catalog
- Proportion Standards: Mathematical definitions for 5 form profiles with measurement tool (
measure-form.py) - Character Illustration Skill:
whalechan-image-characterworkflow with budget confirmation guards - Comic Creation Skill:
whalechan-image-comicfive-direction comedy engine and multi-panel layout system - Multi-Provider Fallback: Codex ImageGen / OpenAI / Nano Banana / Seedream routing & audit logs
- Interactive Web Gallery: Web-based gallery to browse prompts, parameters, and generated assets online
- Smart Prompt Compiler: Compiles natural language into standard Prompt Blocks with form-matched references
- Automated Consistency QA: Vision-LLM automated scoring and regression testing pipeline
We warmly welcome community creators and developers to join the Whale-chan ecosystem! You can contribute via Issues or Pull Requests:
- 🎨 Creative & Content: New poses, facial expressions, comic scripts, and twist ideas;
- 🛠️ Tools & Ecosystem: Prompt templates, automation scripts, test suites, and integrations for more Agent runtimes.
Important
Safety & Privacy Guidelines: Before submitting any code, samples, or logs, ensure thorough sanitization. Never submit real API keys, private chat logs, unauthorized portraits, or unlicensed third-party art assets.
This project uses tiered licensing. Each license applies only to the content described below; they are not alternative licenses for the entire repository.
- Source Code & Toolchain: Project-authored code in
skills/*/scripts/andskills/*/tests/, including validation utilities and code constants, is licensed under the MIT License. Preserve the copyright and license notice when redistributing copies or substantial portions. MIT permits commercial use of the code. - Specification Docs & Skill Templates: Project-authored README text,
skills/*/SKILL.md, Markdown specifications and prompt/layout templates,skills/*/agents/configurations, and JSON specification/catalog metadata inskills/*/references/are licensed under CC BY-NC-SA 4.0 (official license). When sharing, retain attribution, link the license, and indicate changes; share adaptations under the same or a compatible license for non-commercial purposes. - Images & Third-Party Materials: Reference images, README artwork, and input screenshots are outside these blanket code/documentation grants unless separately licensed. Catalog metadata does not license the images it describes. See Third-Party Notices for known sources and permission limits. The licenses do not grant trademark rights or imply DeepSeek endorsement.
- Public Co-Creation & Community Contribution: Most fundamentally, the birth, evolution, and popularity of Whale-chan are entirely rooted in the collective creative wisdom and inspiration of netizens and the open-source community. Her cultural foundation belongs to all co-creators;
- Known Original Assets & Authors: Core character designs and fanwork assets cataloged and referenced in this project originate from the following creators, whose original copyrights remain fully with the authors:
- Bilibili ZipZipPipe: space.bilibili.com/4168597
- Bilibili 上善无形: space.bilibili.com/4456176
- Derivative Usage & Non-Commercial Terms:
- Community creators are warmly encouraged to produce non-commercial fan art, multi-panel comics, stickers, and derivative content adhering to this character specification;
- Commercial use of character artwork, commercial publishing, or profitable merchandise requires the necessary permissions from the relevant copyright and brand rights holders; this does not restrict commercial use of MIT-licensed code;
- When referencing or publishing works generated using this project's rules, attributing the source as
DeepSeek Whale-chanis recommended. Required attribution for reused CC-licensed material remains governed by that license.
- LINUX DO — A new idealistic community: A sincere, vibrant forum for open-source and AI exploration.
Powered by White Rice 🍚 × Whale-chan 🐳 × Community Love 💙
由白米饭 🍚 × Whale-chan 🐳 × 社区之爱 💙 倾情打造















































