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¶
- Move the Sprite: Drag the whale icon to dock it anywhere on the page; the position will be saved.
- Open/Minimize: Click it (without dragging) to open the chat window; press
—in the window to minimize it back to the sprite. - Send a Message: Press
Enterin the input box to send, and pressShift+Enterfor a line break. - Copy Content: Hover over a message and click the
📋icon on the right side of the message to copy it. - 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
webordesktopprofile, 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
localStorageand 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
dependenciesanddsh.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.
- Plugin catalog: dsh-temp-chat (winditer)
- Project source: winditer/dsh-elf