Introduction¶
DeepSeek Harness (DSH) natively supports multi-agent collaboration within a session (parent-child relationship). The dsh-chat-link plugin fills the missing piece for real-time cross-session conversation via a shared message board (~/.dsh/chat-link/). It allows any two sessions to converse directly like an instant messaging app, without a human acting as a relay.
Core Features¶
Session Mention and Wake-up¶
In any session’s input box, type @ to trigger the system selection menu. Selecting a target session generates a blue chip label. When sending a message, the system automatically wakes up the target session (if online) or stores it on the message board (if offline). After the target session finishes processing and replies, the original session is also automatically woken up.
Wake-up Delivery¶
- Online wake-up: If the target session is online, wake it up immediately via DSH’s native
agent.send. - Offline fallback: If the target session is not open, the message is stored on the message board and redelivered with 3-second polling. The target session receives it as soon as it is opened.
Native Inbox UI¶
The plugin injects a “⇄ Session Linking” entry into the sidebar. Clicking it takes over the main content area, displaying unread messages and the session list. The UI follows the DSH design system (--dsw-* theme variables) and supports clicking a message or session to navigate to it, one-click copying of linked messages, and clearing unread badges.
Model Tools¶
The plugin registers 5 model tools for all sessions:
- chat_link_send: Send a linked message to a specified session
- chat_link_inbox: View and claim unread linked messages for this session
- chat_link_history: View the linked message history for this session
- chat_link_roster: List all linked sessions (name/online/unread)
- chat_link_register: Set a custom linked name for this session
Name Synchronization¶
The linked name is derived in real time from the session title by default. Renaming a session in the main interface automatically updates the linked list. You can also set a custom name using the chat_link_register tool, which takes precedence over the title.
Installation and Enablement¶
Prerequisites¶
- DeepSeek Harness 0.1.0-rc.6
- Node.js ≥ 22
- pnpm
One-Click Installation¶
bash -c "$(curl -fsSL https://raw.githubusercontent.com/KeFan-J/dsh-chat-link/main/install.sh)"
Manual Installation¶
git clone https://github.com/KeFan-J/dsh-chat-link.git
cd dsh-chat-link
pnpm install
dsh plugin --profile web add link:$(pwd)
After installation, restart DSH and force-refresh the browser (Cmd+Shift+R).
Usage¶
- Input box
@: In any session’s input box, type@to select a target. After sending, the target session is woken up. - Sidebar inbox: Click the sidebar entry to view, copy, or jump to messages.
- Agent commands: Directly instruct the Agent to call tools, such as
chat_link_rosterto view the list orchat_link_sendto send a message.
Data and Dependencies¶
- Data storage: All data is stored only locally in
~/.dsh/chat-link/. The message board is JSONL-based and persists across restarts. - Dependencies: Runtime dependency on
@deepseek-ai/dsh-tools@^0.1.0-rc.6. The plugin is mounted via DSH’s bundle mechanism, requiring no changes to the DSH source code. - Environment requirements: Node.js ≥ 22 and pnpm are required.
Notes¶
- The plugin runs with DSH process permissions. It is recommended to check the source code and license before installation.
- All data has no cloud dependency, no telemetry, and no external requests.
- Uninstalling the plugin does not affect past sessions.
- It does not interfere with other plugins such as dsh-ssh and the task board.
Links¶
- GitHub: https://github.com/KeFan-J/dsh-chat-link
- Directory page: https://www.skillhub.cn/plugins/KeFan-J/dsh-chat-link