Skip to content

dsh-call-session

Verified

dsh-call-session · v0.1.9 · MIT · Web UI

Multi-session collaboration for DeepSeek Harness: peer session calls, a shared blackboard, and a read-only topology canvas.

Install

dsh plugin add dsh-call-session

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Readme

dsh-call-session hero

dsh-call-session

Run several DeepSeek Harness sessions side by side, hand work from one to another, and watch the whole collaboration on one read-only canvas.

License: MIT ADR Architecture Node.js Version Cordis TypeScript Strict

English | 简体中文


Canvas

dsh-call-session canvas

Two long-running sessions hand work to each other; the canvas shows both workspaces, the session nodes, the shared blackboard items and the call traces between them.

  • Topology: workspace columns, running/idle session nodes, blackboard items with TTL countdowns, and directional call traces.
  • Interaction: hovering highlights the 1-hop connected subgraph; double-clicking opens a read-only inspector drawer.
  • Read-only boundary: the canvas offers no control inputs; all state changes originate from the agents themselves.

Mention

dsh-call-session mention

Type @ in the composer to reference another session: the title is inserted into the message as a reference chip, and the model receives that session's read-only content.

  • Pick a workspace, then a session; sessions this one has already called or messaged come first.
  • The referenced session is not woken, no call is dispatched, and no connection appears on the canvas.

Overview

DeepSeek Harness sessions are isolated by default, and child tasks exit upon completion.

dsh-call-session adds in-process cross-session communication, peer session creation, and shared blackboard capabilities:

  • Inter-session unicast: send directives or hand off tasks between independent long-running sessions.
  • Shared blackboard: publish bulky artifacts to a shared board for on-demand retrieval, avoiding context bloat.
  • Visual canvas: observe session states, blackboard items, and call trajectories in the DSH Web UI.

Install

# Add to target profile web
dsh plugin --profile web add dsh-call-session

# List installed plugins
dsh plugin --profile web list

# Remove plugin
dsh plugin --profile web remove dsh-call-session

Scenarios

Instruct the agent using plain natural language in the chat; the agent invokes the tools automatically:

Task Handoff

User prompt:

Hand off this task summary to the "audit-session" session.

The agent calls session_call to dispatch a unicast message. If the target session is running, it steers execution; if idle, it wakes a new turn.

Post Results

User prompt:

Publish the review conclusions to the board and notify relevant sessions to pick up tasks.

The agent calls board_post to store the detailed report on the blackboard and obtain a postId. Other sessions retrieve the content on demand via board_list, preventing context window explosion.

Create Session

User prompt:

Create a new session and hand off tasks.

The agent calls session_create to spawn a long-running peer session in the current workspace, automatically inheriting model specifications and presets.

Reference Session

User prompt:

@ Architecture Review Agent, re-check the revised contract against it.

Naming the session in plain words reaches the same place:

Ask the Architecture Review Agent to re-check the revised contract against it.


Tools

Tool Type Mode Common Use Case
session_call Tool Push 1:1 unicast call for task dispatch, progress reporting, and handoffs
session_create Tool Native Create long-running peer sessions for parallel multi-role collaboration
session_query Tool Read-only List sessions and check active/idle statuses in or across workspaces
board_post Tool Pull Publish blackboard entries for large artifacts and shared milestones
board_list Tool Pull Query blackboard records by ID, topic, or digest mode
board_clear Tool Manage Dismiss or purge completed and expired blackboard entries

Comparison

Mechanism Type Model When to Use
subagent Built-in Hierarchical delegation, ephemeral child task, exits on completion Scoped exploration, code search, one-off script execution.
dsh-call-session Plugin Peer-to-peer collaboration, in-process unicast messaging and shared board Directives and status sync between independent top-level sessions, or sharing large outputs.

Selection guidelines:

  • Prefer built-in: for isolated, scoped tasks, use DSH built-in subagent directly.
  • Use on demand: when multiple independent top-level sessions need to coordinate or share large context via a blackboard, use dsh-call-session.

Config

The plugin runs with built-in defaults out of the box.

To customize, add property overrides to ~/.dsh/profiles/web/cordis.patch.yml:

- id: dsh-call-session
  config:
    debounceMs: 500
    maxCapacity: 500

Options:

  • enabled: boolean, default true. Enable or disable plugin tools.
  • debounceMs: number, default 300. Atomic disk write debounce delay in milliseconds.
  • maxCapacity: number, default 200. Maximum board entries.
  • telemetryCapacity: number, default 200. Maximum call traces retained in canvas data buffer.
  • locale: string, default 'auto'. Interaction language preference ('auto', 'zh', 'en').

Architecture

Technical decisions are recorded as Architecture Decision Records (ADRs):


Compatibility

Environment Supported Verified
DeepSeek Harness >=0.1.1-rc.1 0.1.2-rc.1, 0.1.5-rc.1, 0.1.5-rc.2, 0.2.0-rc.2 (DSH 2.0)
Cordis ^4.0.2 4.0.2+
Node.js >=20.0.0 20.x, 22.x

License

This project is licensed under the MIT License.