DeepSeek Harness plugin

dsh-collab-lhenliha

Minimal room-based multi-person code collaboration for DeepSeek Harness. Install the plugin, enter a room number + password, and collaborate in real time with Yjs. Includes basic commit snapshots and

Jump to install

Source facts

Repository
lhenlihai-hub/dsh-collab
Latest update
Aug 17, 2026
Category
Plugin Markets & Managers
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-21

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/lhenlihai-hub/dsh-collab
Plugin: dsh-collab-lhenliha
Author: lhenlihai-hub

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.en.mdSource · read only
README language

dsh-collab

A DeepSeek Harness (dsh) plugin for extremely low-barrier multi-person code collaboration.

Users just install the plugin, open the 👥 panel on the right side of dsh, and enter the same room number + trust password to start editing one shared code buffer together.

  • No account registration.
  • No server deployment required from users.
  • The plugin starts a local collaboration service automatically.
  • The default auto connection tries a public relay first, then falls back to the local/LAN service.
  • Real-time collaboration is powered by Yjs (CRDT).
  • Includes minimal commit snapshots and a work log.
  • Supports one-click uninstall.

> This is intentionally a simple MVP/framework: one room, one shared code buffer, and in-memory history. Multi-file, multi-project and persistence support can be added later.

Features

  • 🔢 Room number + password: create a room, then share the room number and password with teammates.
  • 👤 Random identity: no registration or login. A random name and color are generated automatically and can be edited.
  • ⚡ Yjs real-time collaboration: multiple people edit at the same time and conflicts merge automatically.
  • 📦 Basic commits: editors can snapshot the current code with a short message.
  • 📋 Work log: room creation, joins, leaves and commits are recorded automatically.
  • 🧹 One-click uninstall: uninstall the plugin from the bottom of the panel and restart dsh.
  • 🌍 Built-in public relay configuration: users do not deploy anything. Only project maintainers need to deploy the public relay once.

Installation

Every participant installs the same plugin in their own dsh:

# Local installation from source
cd dsh-collab
npm install
npm run build
dsh plugin --profile web add link:$(pwd)

# Or after publishing to npm/GitHub
dsh plugin --profile web add dsh-collab

Restart dsh web after installation. The 👥 entry appears on the right side.

Usage

1. The founder opens the 👥 panel. 2. Enter a room number (for example 1024) and a trust password. 3. Click Create room. 4. Share the room number and password with teammates. 5. Teammates open their own 👥 panel, enter the same server address, room number and password, then click Join room. 6. Start editing together. Editors can enter a commit message and click Commit to create a snapshot.

> Keep the server address as auto by default. It tries the public relay first and falls back to the local/LAN service. Advanced users can enter a custom relay address.

> Leaving the password empty joins as read-only. A wrong password is rejected.

One-click uninstall

Open the 👥 panel, scroll to the bottom, click Uninstall plugin and confirm.

The plugin calls the official dsh plugin manager to remove itself, then asks you to restart dsh web. You can also run:

dsh plugin --profile web remove dsh-collab

Zero deployment for users

The plugin already contains the full collaboration service:

  • Local service: every dsh with the plugin installed starts ws://0.0.0.0:47823/relay automatically.
  • Public relay: the client also tries the project-maintained public relay by default. This relay only needs to be deployed once by project maintainers.
  • Self-hosted relay (optional, advanced users only): the repository provides server/relay-server.mjs, which maintainers or advanced users can deploy to any public server.

> Before publishing to GitHub/npm, replace PUBLIC_RELAY_URL in src/client/app.tsx with your actual public relay address. Until then, auto falls back to the local/LAN service.

The complete path for ordinary users is: install the plugin → restart dsh → enter room number/password → collaborate.

Development

npm install
npm run build      # produces lib/index.js (host half) + lib/client.js (browser half)
npm run typecheck  # type check
npm test           # build + integration tests
npm run relay      # start the standalone public relay (optional)

Structure

src/
├── index.ts          # dsh host half: local relay + config/uninstall routes
├── collab-server.ts  # rooms/passwords/Yjs sync/commits/work log
├── uninstall.ts      # one-click uninstall implementation
└── client/
    ├── index.tsx     # dsh browser half entry
    ├── app.tsx       # room panel + editor + commit history + work log + uninstall
    └── styles.ts
server/
├── relay-server.ts   # standalone public relay source
└── relay-server.mjs  # runnable public relay after build
cordis.patch.yml      # dsh plugin bundle patch

How it works

  • The host half is a standard Cordis plugin with inject: ['webServer', 'appExit'].
  • It starts a WebSocket relay bound to 0.0.0.0 at path /relay.
  • The browser half connects with auto by default: public relay first, local address fallback.
  • Yjs updates provide real-time collaboration inside a room.
  • A commit message stores the current code snapshot in memory and broadcasts it to all members.
  • event messages form the work log.
  • /collab/uninstall is loopback-only and removes the plugin through the official dsh CLI.

Security notes

  • This is a trust password model. Passwords travel over plain WebSocket, so use it on trusted LANs or for testing.
  • On a public relay, the room password is the only edit credential. Use a sufficiently random password.
  • For production public use, enable TLS (wss) and consider adding persistence and a more complete account system.

License

[MIT](./LICENSE)