返回目录
其他 待识别

dsh-gal

william-jin-cmu/dsh-gal

Galgame / visual-novel UI plugin for the DeepSeek Harness: a whale-girl companion with animated expressions, scene-at-a-time dialogue, and an LLM emotion judge

Stars
0
Forks
0
Issues
0
更新
今天

PROJECT TOPICS

项目标签

PROJECT README

README

dsh-gal

A galgame / visual-novel UI for the DeepSeek Harness (dsh), packaged as a dsh plugin.

Your agent becomes a whale girl. Each reply plays as a dialogue scene — typewriter text, one turn at a time, no scrolling wall of history — while she reacts with animated expressions chosen by an emotion judge. The backlog is one click away, just like a real visual novel.

dsh-gal

What it does

  • Scene-at-a-time dialogue — only the latest exchange is on screen, rendered with a typewriter effect. Long replies page like VN text boxes (click / Space to advance, Auto mode available).

  • Animated whale girl — six expressions (neutral, happy, thinking, surprised, sad, excited), each a looping micro-animation (Seedance 2.0 mini / MiniMax H3 image-to-video on fal.ai, from AI-generated base sprites); layers cross-fade on emotion change.

  • Emotion judge — after each assistant turn, a tiny side LLM call classifies the reply's tone into one of the six expressions; a keyword heuristic covers fallback. While the agent works, she switches to thinking and a status ticker shows tool activity.

  • Backlog — press L or click History for the full scrollable conversation log.

    backlog

  • Drive the session from the UI — the input box sends real user turns into the live dsh session.

Install

git clone https://github.com/william-jin-cmu/dsh-gal
cd dsh-gal && ./scripts/build.sh   # links against your dsh checkout and compiles src/ → lib/

Register it in ~/.dsh/cordis.patch.yml (older builds: ~/.dsh/config.yaml):

- insert:
    - id: dsh-gal
      name: /absolute/path/to/dsh-gal/lib/index.js
      config:
        port: 4877          # UI at http://127.0.0.1:4877/
        characterName: Cetus

Start dsh web as usual and open http://127.0.0.1:4877/. If no session is open yet, the first message you send opens one on your default model — the novel is playable standalone.

Configuration

key default description
port 4877 Listen port on 127.0.0.1
token "" Optional shared token appended to the URL
characterName Cetus Name shown on the dialogue nameplate
judgeEnabled true Use an LLM call to pick the expression (heuristic fallback otherwise)
judgeTimeoutMs 4000 Deadline for the emotion judge before falling back

Regenerating the art

The sprites and motion loops ship with the repo, but everything is reproducible:

  • Base sprite + expression variants: any strong image model — generate one base portrait, then edit it per expression with the base as reference so the character stays consistent
  • Micro-animations: scripts/animate.sh <sprite.png> <out.mp4> "<motion prompt>" [h3] — Seedance 2.0 mini image-to-video on fal.ai (bytedance/seedance-2.0/mini/image-to-video, 720p ≈ $0.15/s) by default, MiniMax H3 (minimax/h3/image-to-video, 768P) with the h3 arg

License

BSD-3-Clause

CLASSIFICATION EVIDENCE

分类依据

项目类型待识别
功能分类其他
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。