工具与能力
#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
- 安装并启动 DeepSeek Harness:
npx @deepseek-ai/dsh web - 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
- 用 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)及插件作者均无隶属或背书关系。