๐ŸŽง dsh-audiogen

August 31, 2026 ยท View on GitHub

AI audio generation for DeepSeek Harness (DSH) โ€” turn your DSH web GUI into an audio studio: text-to-speech, music, sound effects and voice design, from the sidebar panel or straight from the Agent.

English | ็ฎ€ไฝ“ไธญๆ–‡

npm version license DSH plugin Node

Main panel

โœจ Features

  • Four generation modes: text-to-speech, music, sound effects, and voice design
  • Multi-vendor channels in one place: OpenAI-compatible TTS, MiniMax, ElevenLabs, Stability AI, or any custom OpenAI-compatible / generic POST endpoint
  • Per-channel model & voice catalogs with one-click discovery, display aliases, capability categories, and per-model advanced fields (duration, seed, steps, cfg_scale, loop, prompt influence, โ€ฆ)
  • Model comparison: run the same prompt across 2โ€“4 models at once with per-model parameter overrides โ€” results are grouped side by side
  • Prompt enhancement: rewrite a rough idea into a ready-to-generate description with an LLM (pick any model from Settings โ†’ Models; falls back to the agent default model)
  • History with one-click restore: prompt, config, model set and the original audio come back into the panel โ€” no regeneration, no extra cost
  • Resource library: auto-save generated audio (or opt in per run), organized by type โ€” voices / music / SFX / TTS โ€” with search, tags, rename, category moves, and full provenance (channel, model, voice id, prompt, params snapshot). Reuse a voice or music bed instead of regenerating
  • Agent tools: generate_audio and search_audio_library, manage_audio_voices (vendor voice browsing/deletion), plus bundled session skills โ€” the Agent can generate and find audio on demand
  • Panel voice management: a ยซ้Ÿณ่‰ฒยป tab in the AI ้Ÿณ้ข‘ panel โ€” browse/filter vendor voices (language/keyword/source + official ElevenLabs shared-voice filters), preview, delete account-owned voices (confirmed) and backfill the chosen voice_id into the TTS form
  • Keys stay local: API keys live in the local DSH settings document and generation is proxied by the local host; the browser and the Agent never touch plaintext credentials

๐Ÿ“ธ Screenshots

Generation panelResource library
GenerationLibrary
Library โ€” full provenance drawerChannels settings
Library detailSettings
Channel editor (model catalog & auto capabilities)LLM models (Settings โ†’ Models)
Channel editorModels page

๐Ÿ“ฆ Installation

The plugin is published on npm. DSH host (Node โ‰ฅ 20) required.

dsh plugin --profile web add dsh-audiogen

Local development install:

dsh plugin --profile web add /path/to/dsh-audiogen

Restart dsh web after install โ€” the sidebar will show the AI Audio entry.

๐Ÿš€ Quick start

  1. Open Settings โ†’ Plugins โ†’ AI Audio
  2. Add a channel: pick a preset provider (+ Add provider) or a custom endpoint (+ Add custom provider)
  3. Fill in the API URL, API key, and the model/voice catalog (use Fetch available models to import them)
  4. Save, then open the AI Audio sidebar panel:
    • choose a mode (Speech / Music / Sound effects / Voice design)
    • type your text or prompt (optional: โœจ Enhance prompt)
    • pick a model โ€” or tick Model comparison for 2โ€“4 models at once
    • press Start generation and play the results, download them, or add them to the resource library

๐ŸŽ› Modes supported by each vendor

ModeMiniMaxElevenLabsStability AIOpenAI-compatible / custom
TTSโœ… (8 voices)โœ… (voices + streams)โ€”โœ…
Musicโœ… (music-3.0 / music-2.6 / music-cover)โœ… (music_v2)โœ… (stable-audio-*)โœ… (generic POST)
Sound effectsโ€”โœ… (eleven_text_to_sound_v2, loop / prompt influence)โœ… (stable-audio-* โ€” same text-to-audio protocol; auto-detected in both Music and SFX)โœ… (generic POST)
Voice designโœ… (/v1/voice_design)โœ… (/v1/text-to-voice/design)โ€”โ€”

๐Ÿค– Agent usage

ToolPurpose
generate_audioSubmit a TTS / music / SFX / voice-design task; waits for completion and returns same-origin audio URLs. Optional enhance_prompt, save_to_library, per-vendor params.
manage_audio_voicesBrowse/filter the vendor voice libraries (MiniMax, ElevenLabs) with language/keyword/source filters, and delete account-owned voices (official/shared/system voices are read-only and refused). Then use the returned voice_id with generate_audio (mode=tts).
search_audio_librarySearch the local resource library (type / category / keyword) and reuse an existing voice, music bed or effect.

Typical session commands (skills bundled with the plugin):

/audio:tts      Read this sentence with a warm voice
/audio:music    Generate a 30-second lo-fi background track
/audio:sfx      Create a sci-fi UI cue
/audio:design   Craft a warm retro synth voice

๐Ÿ” Security & data notes

  • API keys are stored in the local DSH settings document; requests are proxied by the local host (/api/dsh-audiogen/*, loopback-only routes)
  • Generation consumes your upstream provider quota; audio content is produced by the upstream model
  • History & library persist under ~/.dsh/dsh-audiogen/
  • Prompt enhancement calls the LLM model you choose (default: agent default model) โ€” no extra API key

๐Ÿ›  Development

pnpm install
pnpm run typecheck
pnpm run build      # outputs lib/ (host + client bundles)

๐Ÿ“„ License

Apache-2.0