Introduction

DeepSeek Harness (DSH) adopts a plugin-based architecture. In debugging or temporary conversation scenarios, developers usually need a lightweight interaction entry point that can quickly invoke large models without interfering with the main session’s history. dsh-temp-chat was designed specifically to solve this problem. It places a floating “sprite” (whale icon) and a draggable temporary chat window on the DSH page.

Core Features

  • Drifting Sprite: The sprite drifts slowly near an anchor point (with sine-wave drift and vertical bobbing animation), supports dragging, and its position is persisted after restart.
  • Instant Chat: Click the sprite to open the window; drag the title bar to move it, and press — to minimize it back to sprite state.
  • Zero Configuration: By default, the plugin automatically follows the session’s default model, with no manual API Key input required.
  • Custom Endpoint: Independent configuration can be enabled to connect to DeepSeek, OpenAI, Moonshot, GLM, Qwen, or any OpenAI-compatible custom Base URL.
  • True Streaming Output: In host routing mode, it supports polling-based streaming output with approximately 55 ms latency; in custom endpoint mode, it uses native SSE.
  • Utility Features: Supports copying a single message, one-click clearing, model badge display, dark/light theme switching, empty-state hints, and drag constraints to prevent the sprite from being dragged off-screen.
  • Language Follow: The interface language automatically switches between Chinese and English based on DSH’s language setting.

Installation and Enablement

Install using the npm package:

dsh plugin --profile desktop add dsh-temp-chat

After installation, restart DSH, and the whale sprite will appear in the bottom-right corner of the page. Installing from source requires a Node.js environment.

Typical Usage

  1. Move the Sprite: Drag the whale icon to dock it anywhere on the page; the position will be saved.
  2. Open/Minimize: Click it (without dragging) to open the chat window; press — in the window to minimize it back to the sprite.
  3. Send a Message: Press Enter in the input box to send, and press Shift+Enter for a line break.
  4. Copy Content: Hover over a message and click the 📋 icon on the right side of the message to copy it.
  5. Configure the Model: Click the ⚙ icon at the top of the chat window to toggle whether to follow the session’s default model, or to configure the Provider, API address, and Key for a custom endpoint.

Use Cases and Notes

  • Environment Requirements: It needs to run under DSH’s web or desktop profile, and the build environment must have Node.js ^22.19.0 or >=24.0.0 installed.
  • Security: The default routing reuses Harness’s provider and does not send additional credentials; the API Key in custom mode is stored only in the browser’s localStorage and is not uploaded to the server.
  • Data Storage: Chat history is kept only in memory and is not written to DSH session history; the data is lost when the plugin stops running or is cleared.
  • Uninstallation: It must be removed from the profile’s dependencies and dsh.profile.bundles, and the installed links must be cleaned up.

Summary

dsh-temp-chat provides a lightweight, zero-configuration temporary conversation entry point. Through a floating sprite and a temporary window, it keeps the interface clean while offering flexible model-switching capabilities, making it suitable for scenarios where quick temporary interaction or testing is needed within the DSH page.