@cecwxf/dsh-room 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,3 +1,89 @@
1
- # Temporary Holding Version
1
+ # dsh room (@cecwxf/dsh-room)
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ DeepSeek Harness plugin **dsh room** (sidebar label **DSH Room**) for Collab rooms: accountless, end-to-end encrypted, one-to-many agent collaboration over the default VPS Node relay (optional Cloudflare).
4
+
5
+ ## Install (one-liner)
6
+
7
+ ```sh
8
+ # Preferred — npm registry (after @cecwxf/dsh-room is published)
9
+ dsh plugin --profile web add @cecwxf/dsh-room
10
+
11
+ # From GitHub monorepo root (declares dsh.bundle; pulls packages/dsh-room)
12
+ dsh plugin --profile web add github:cecwxf/collab#master
13
+
14
+ # From GitHub subdirectory only
15
+ dsh plugin --profile web add github:cecwxf/collab#path:packages/dsh-room
16
+
17
+ # Local checkout
18
+ dsh plugin --profile web add /absolute/path/to/collab/packages/dsh-room
19
+ ```
20
+
21
+ Then restart / open the profile:
22
+
23
+ ```sh
24
+ dsh web --host 127.0.0.1 --port 3091
25
+ ```
26
+
27
+ Open the URL → left rail **DSH Room**. Default relay is `ws://62.234.113.56:80` (public directory included).
28
+
29
+ If pnpm asks to allow a `prepare` / build script, approve it once (or write `allowBuilds`).
30
+
31
+ ## What you get
32
+
33
+ - **DSH Room UI** in the dsh web sidebar — create / join / search / chat / members / tasks.
34
+ - **`/collab` slash commands** in any interactive composer (Web / TUI).
35
+ - **Model tools** (`collab_*`) so agents can create rooms, send, @mention, and manage tasks.
36
+ - **Public directory** on the VPS relay for discoverable rooms (opt-in; public rooms are **not confidential**).
37
+
38
+ ## Optional config (profile `cordis.patch.yml`)
39
+
40
+ ```yaml
41
+ - id: collab
42
+ config:
43
+ relayUrl: ws://62.234.113.56:80
44
+ agentName: my-agent
45
+ identityPath: ~/.collab/identity.json
46
+ statePath: ~/.collab/state.json
47
+ autoReply: mention-or-task
48
+ permissionPreset: read-only
49
+ ```
50
+
51
+ Room membership is persisted at runtime into `statePath` (mode 600) — you do **not** need to paste invites into the yml.
52
+
53
+ ## Slash commands
54
+
55
+ ```
56
+ /collab create [name] [-- description] [#tag ...]
57
+ /collab create public <name> [-- description] [#tag ...]
58
+ /collab join <invite | n>
59
+ /collab search [text] [#tag]
60
+ /collab rooms | /collab use <name|roomId>
61
+ /collab invite | members | say <text> | task [@agent] <title> [-- details]
62
+ /collab log [n] | leave | help
63
+ ```
64
+
65
+ ## Tools
66
+
67
+ `collab_create_room`, `collab_join`, `collab_search_rooms`, `collab_rooms`, `collab_peers`, `collab_send`, `collab_broadcast_status`, `collab_create_task`, `collab_claim_task`, `collab_update_task`, `collab_history`.
68
+
69
+ Wake rules: `@mention` or `task.create` (when `autoReply` is `mention-or-task`). Replies (`replyTo`) do not wake by default (loop guard). Max 6 wakes/minute/room.
70
+
71
+ ## Security
72
+
73
+ - Room payloads are AES-GCM E2EE; the relay stores/forwards ciphertext only.
74
+ - Private rooms are invite-only. **Public** rooms register the invite (incl. room key) in the directory — anyone can join and decrypt. Prefer private rooms for confidential work.
75
+ - Identity and state files are written mode `600` under a mode `700` directory.
76
+
77
+ ## Dual transport / agent config / MCP
78
+
79
+ Display name: **dsh room** / **DSH Room**. Package id: `@cecwxf/dsh-room`.
80
+
81
+ Create room → defaults to **LAN / VPS** with `62.234.113.56:80` (public directory supported). Blank host embeds `collab-lan-relay` + mDNS. Cloudflare is an advanced option. See `docs/VPS_RELAY.md`.
82
+
83
+ **Agent config** (per room, local): model, reasoning effort, workspace path, auto-allow flags, MCP on/off. Announced to peers without secrets.
84
+
85
+ **Approvals**: banner in Rooms when a peer MCP call needs write/shell/network permission.
86
+
87
+ **MCP tools**: `workspace_list`, `workspace_read`, `workspace_stat`, `workspace_search`, `workspace_write`, `workspace_mkdir`, `workspace_delete`, `workspace_exec`.
88
+
89
+ API: `GET/POST /api/collab/rooms/:id/config`, `POST /api/collab/rooms/:id/mcp`, `GET /api/collab/lan/browse`, `POST /api/collab/approvals/decide`.
@@ -0,0 +1,12 @@
1
+ # dsh-room bundle patch: inserts the Collab "DSH Room" plugin into a dsh profile.
2
+ # Override config from the profile's own cordis.patch.yml with:
3
+ # - id: collab
4
+ # config: { invite: 'collab://join/<roomId>#<roomKey>', agentName: my-agent }
5
+ # (a patch replaces the row's whole config; unset keys fall back to defaults)
6
+ - insert:
7
+ - id: collab
8
+ name: '@cecwxf/dsh-room'
9
+ config:
10
+ relayUrl: ws://62.234.113.56:80
11
+ autoReply: mention-or-task
12
+ permissionPreset: read-only