Skills Plugins MCP Prompt Model 导航 博客 资讯 我的中心
工具与能力 #deepseek-harness#deepseek-harness-plugin#deepseek-harness-plugins#collaboration#yjs#websocket

dsh-collab

Minimal room-based real-time code collaboration plugin for DeepSeek Harness. Install it, enter a room number and password, then collaborate with Yjs.

lhenlihai-hub @lhenlihai-hub ⬇ 2 ★ 0 main

安装

dsh plugin --profile web add github:lhenlihai-hub/dsh-collab
下载安装清单

需要可复现安装时,可在仓库后追加 #commit 固定提交。

Minimal room-based real-time code collaboration plugin for DeepSeek Harness. Install it, enter a room number and password, then collaborate with Yjs.

该插件未提供要点说明,请参考仓库 README。

deepseek-harnessdeepseek-harness-plugindeepseek-harness-pluginscollaborationyjswebsocket
  1. 安装并启动 DeepSeek Harness:npx @deepseek-ai/dsh web
  2. 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
  3. 用 dsh plugins list 确认已安装,必要时重启 Harness 生效

插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。

代码仓库github.com/lhenlihai-hub/dsh-collab
许可证MIT
主要语言main
下载量2
GitHub 星标0
最近推送2026-08-17
收录日期2026-09-19
分类工具与能力

事实信息来自公开插件目录快照(2026-10-03),介绍文案由本站再加工。

以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。

# dsh-collab

[English](README.en.md) | 中文

DeepSeek Harness (dsh) 插件:极低门槛的多人代码协作。

用户只需要安装插件,打开 dsh 右侧的 👥 面板,输入同一个**房间号 + 信任密码**,就能开始一起编辑同一个代码缓冲。

- 不需要注册账号。
- 不需要用户部署任何服务器。
- 插件自动启动本地协作服务。
- 默认连接方式会自动尝试公共中继和本机服务。
- 实时协同使用 **Yjs(CRDT)**。
- 内置最基础的 **commit 快照**和**工作记录**。
- 支持**一键卸载**。

> 这是刻意保持简单的 MVP/框架:一个房间、一个共享代码缓冲、内存态历史。后续可以加多文件、多项目、持久化。

## 功能

- 🔢 房间号 + 密码:创建房间后把房间号和密码发给同伴即可加入。
- 👤 随机身份:不注册、不登录,自动生成随机中文名和颜色,可修改。
- ⚡ Yjs 实时协同:多人同时编辑,自动合并冲突。
- 📦 基础 commit:编辑者可以提交当前快照,附上说明。
- 📋 工作记录:自动记录创建房间、加入、离开、提交等事件。
- 🧹 一键卸载:面板底部可以直接卸载插件并提示重启。
- 🌍 内置公共中继配置:用户不需要自己部署;项目维护方只需部署一次公共 relay。

## 安装

每个参与者只需要在自己的 dsh 中安装同一个插件:

```bash
# 从源码目录本地安装
cd dsh-collab
npm install
npm run build
dsh plugin --profile web add link:$(pwd)

# 或发布到 npm/GitHub 后
dsh plugin --profile web add dsh-collab
```

装完重启 `dsh web`,右侧会出现 👥 入口。

## 使用

1. 创始人打开 👥 面板。
2. 输入一个**房间号**(例如 `1024`)和你想设置的**信任密码**。
3. 点击 **创建房间**。
4. 把“房间号 + 密码”告诉同伴。
5. 同伴在各自 dsh 的 👥 面板中填入同样的房间号、密码,点击 **加入房间**。
6. 进入后即可实时编辑;编辑者可以填写提交说明并点击 **提交** 留下快照。

> 服务器地址默认保持 `auto` 即可。它会自动尝试公共中继,失败时回退到本机/局域网服务。高级用户也可以手动填写其他 relay 地址。

> 不填密码的人以只读身份加入;填错密码会被拒绝。

## 一键卸载

打开 👥 面板,拉到底部,点击 **一键卸载插件** 并确认。

插件会调用 dsh 官方插件管理命令移除自己,然后提示重启 `dsh web`。也可以手动执行:

```bash
dsh plugin --profile web remove dsh-collab
```

## 用户零部署说明

插件自身已经包含完整的协作服务:

- **本机服务**:每个安装插件的 dsh 都会自动启动 `ws://0.0.0.0:47823/relay`。
- **公共中继**:客户端默认还会尝试项目维护的公共中继地址。这个中继只需要项目维护方部署一次,普通用户不需要做任何部署。
- **自建 relay(可选,仅高级用户)**:仓库提供 `server/relay-server.mjs`,项目维护方或高级用户可以部署到任意公网服务器。

> 发布到 GitHub/npm 前,请把 `src/client/app.tsx` 中的 `PUBLIC_RELAY_URL` 改成你实际部署的公共 relay 地址。未部署时 `auto` 会自动回退到本机/局域网服务。

因此普通用户的完整路径就是:安装插件 → 重启 dsh → 输入房间号/密码 → 协作。

## 开发

```bash
npm install
npm run build      # 产出 lib/index.js(宿主半侧)+ lib/client.js(浏览器半侧)
npm run typecheck  # 类型检查
npm run relay      # 启动独立公共 relay(可选)
```

### 结构

```text
src/
├── index.ts          # dsh 宿主半侧:本地 relay + 配置/卸载路由
├── collab-server.ts  # 房间/密码/Yjs 同步/commit/工作记录
├── uninstall.ts      # 一键卸载实现
└── client/
    ├── index.tsx     # dsh 浏览器半侧入口
    ├── app.tsx       # 房间面板 + 编辑器 + 提交历史 + 工作记录 + 卸载
    └── styles.ts
server/
├── relay-server.ts   # 独立公共 relay 源码
└── relay-server.mjs  # 构建后可直接运行的公共 relay
cordis.patch.yml      # dsh 插件 bundle patch
```

### 工作原理

- **宿主半侧**是标准 Cordis 插件,`inject: ['webServer', 'appExit']`。
- 插件启动一个绑定 `0.0.0.0` 的 WebSocket relay,路径为 `/relay`。
- 浏览器半侧默认以 `auto` 方式连接:公共中继优先,本机地址回退。
- 房间内通过 Yjs update 做实时协同。
- `commit` 消息会把当前代码快照存入内存并广播给所有成员。
- `event` 消息形成工作记录。
- `/collab/uninstall` 仅允许本机访问,并调用官方 dsh CLI 移除插件。

## 安全说明

- 当前是**信任密码模型**,密码通过 WebSocket 明文传输,适合可信局域网或测试环境。
- 公共 relay 上,房间密码就是唯一的编辑凭证;请使用足够随机的密码。
- 公网正式使用建议启用 TLS(wss),并考虑后续增加持久化和更完整的账户体系。

## 开源协议

[MIT](./LICENSE)

数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。