Introduction¶
The design philosophy of DeepSeek Harness (DSH) is plugin-based, aiming to extend client functionality. During multi-step tasks or long conversations, background running states, sub-agent progress, and session overviews are often scattered across the interface and can be difficult to manage centrally. The dsh-task-console plugin flips the interface to reveal a floating, frosted-glass task console that consolidates core data from the current session into a unified view.
Plugin Positioning¶
This is a DSH client plugin maintained by He2way. It flips the current conversation page to the back, presenting a frosted-glass task board that displays the session overview, background tasks, sub-agents, workspace, and plugin status in real time. The plugin supports custom cards, infinite canvas collaboration, and generating cards directly through conversation.
Core Features¶
Dual-Sided Flip and Unified Floating Window¶
Click the glass button in the lower-right corner of the page. The page rotates around the vertical center axis, revealing the task console on the back. The conversation input field remains fixed and automatically transforms into a floating window, ensuring that you can still enter and send messages normally while viewing the task board. Close the window or press Esc to return to the conversation interface. The initial window size is 440×480. You can move it by dragging the top bar and resize it by dragging the lower-right corner (limited to a minimum of 320 and the viewport size).
Real-Time Data for the Current Session¶
The task board provides real-time data through the standard DSH data source useSessions:
- Session Overview: Title, running/idle status, stage, source, and real-time task/sub-agent counts.
- Background Tasks: Real-time status, type labels, tags, and runtime duration of background tasks.
- Sub-Agents: A directory of sub-agents in the session, including subtasks/forks, running/idle status, and IDs.
- Workspace: Current working directory, session ID, and last update time.
- Plugin Management: A dynamic plugin manifest, displaying plugin name, running/stopped status, and actions (stop/remove).
Card Interaction and Persistence¶
The task board consists of multiple cards. Built-in cards (sessions, tasks, etc.) are read-only, while user cards support the following:
- Operations: Pin (📌), delete (🗑, requires confirmation), and collapse (▴/▾).
- Persistence: Card position, size, and state are saved in the browser’s
localStorage(key namedsh.taskconsole.v1). - Reset: Restore the built-in layout while preserving user-customized cards.
Infinite Canvas and Multiplayer Collaboration¶
The task board supports an infinite canvas feature. Click the “Canvas” button at the top to enter full-screen mode. It supports wheel zooming with a pointer anchor and drag panning. Users can publish cards to the canvas; the canvas supports dragging or pasting images.
For multiplayer collaboration, you must start relay/server.mjs (a zero-dependency WebSocket relay). Send a room snapshot using “Copy Share String” and join using “Collaborate → Join”. The conflict resolution strategy is “last writer wins”.
Card Generation from Conversation and Embedded Web Apps¶
- Conversation Generation: Use the
[taskcard]...[/taskcard]syntax in the conversation. The AI can freely create cards based on the content, supporting multiple controls such as text, tables, charts, and buttons. - Embedded Web Apps: Cards can host other Web applications. Configure this through the
embedcontrol or the “Embedded Web App” area in the editor. Only absolutehttporhttpsURLs are supported;javascript,data:,file:, orblob:protocols are not supported.
Installation and Enablement¶
The official installation command is not explicitly provided in the current documentation. It is recommended to visit the GitHub repository directly to check the installation instructions.
Typical Usage¶
- Switch Views: Click the glass button in the lower-right corner to switch to the task console, or use
⇄ Task Console/Escto return. - Adjust Cards: Hold the top bar of a card and drag to move it; hold the lower-right corner and drag to resize it.
- Generate Cards: Enter content containing
[taskcard]in the conversation, and the assistant will automatically generate the corresponding card on the task board. - Load External Apps: Configure the
embedcontrol in the card editor, enter an address such ashttp://localhost:5173, and drag the lower edge of the card to adjust the iframe height.
Notes¶
- Animation Preferences: The plugin respects the system’s
prefers-reduced-motionsetting. - iframe Limitations: Embedded web apps support only
httpandhttpsprotocols. - Collaboration Environment: Multiplayer collaboration requires starting the
relay/server.mjsservice separately. - Permission Scope: The plugin runs with the current DSH process permissions. It is recommended to review the source code and license before installing.
Conclusion¶
dsh-task-console extracts task management from scattered interface elements. Through floating cards and real-time data flows, it provides an intuitive management approach for long conversations and complex tasks. For more details and updates, consult the project directory or GitHub repository.