Introduction¶
DeepSeek Harness (DSH) allows any plugin to address any active agent, but the cross-session path it exposes externally is usually “parent session → child agent.” This plugin adds the lateral connection: conversations in the same process can discover each other, send messages directly, view each other’s progress, and set rules for themselves — without needing to bind them first, and without wrapping them in another layer of child agents.
It provides multi-conversation collaboration, cross-session communication, progress monitoring, and tool guardrails.
Installation and Activation¶
Install it with dshpm:
dshpm install dsh-conversation-link --profile web
dshpm install github:duanyunlun/dsh-conversation-link --profile web
After installation, you need to restart DSH. The desktop host does not support hot reloading (apps/desktop-host/src/index.ts does not call watchUserPatches).
Core Capabilities¶
- Conversation discovery and communication: Conversations in the same process can discover each other and send messages directly. No pre-binding is required; sending a message to any visible conversation automatically establishes the connection.
- Progress monitoring: View the other party’s progress without disturbing them.
- Rule management: Three-stage rules (
beforerejects calls,aftercorrects results,inputreasserts each turn), constraining only the conversation that declared them. - Connection management: Set nicknames for conversations and disconnect.
- Peer conversation creation: Create new peer conversations within a conversation and connect to the other party at the same time.
Usage Workflow¶
1. List and Connect to Conversations¶
First list all addressable conversations, then set a nickname for a specific conversation.
# 列出对话
conversation_list
# 给对话起昵称并连接(默认昵称为对方的 handle)
conversation_link target="<对话的 handle>"
2. Send a Message Directly¶
You do not need to connect in advance; you can send a message directly to any visible conversation. The other side will be connected automatically and receive a self-introduction.
conversation_send target="<对话的 handle>" message="任务内容"
3. Assign Tasks and Coordinate¶
In conversation A, send a message to B to assign a task; once B receives it, it can reply directly.
conversation_send target="<B的昵称或handle>"
4. Monitor Progress¶
View the other party’s progress without disturbing them (current turn/step, latest text, etc.).
conversation_status target="<对话的昵称或handle>"
5. Set Rules¶
Set standing rules for yourself (for example, prohibiting changes to specific files or enforcing field-name formatting). Rules constrain only the conversation that declares them; they cannot impose rules on other conversations.
# 设置 before 阶段规则
conversation_rule action="add" stage="before" text="不要动 packages/api"
# 设置 input 阶段规则
conversation_rule action="add" stage="input" text="字段名必须 camelCase"
Notes¶
- Bundle layer and hot reloading: This package declares
dsh.bundle.patch, placing it in the bundle layer. A manually mounted profile and bundles cannot both exist at the same time, otherwise the plugin may be loaded twice. - Restart requirement: You must restart DSH after installation (the desktop host does not support hot reloading).
- Rule scope: Rules constrain only the conversation that declared them; they cannot impose rules on other conversations.
- Addressing limitation: An addressable conversation must be one that a person can see (not archived, not blank, not a child agent). Archived or blank conversations cannot be addressed.
- Node.js version: Requires Node.js ^22.19.0 || >=24.0.0.
Summary¶
dsh-conversation-link provides a set of collaboration tools for peer conversations. It does not introduce role concepts, and all interactions are implemented through explicit tool calls. It is suitable for scenarios that require parallel multi-conversation collaboration, cross-conversation communication, or standing constraints for specific conversations.