dsh-phone-bridge 0.2.0 → 0.2.2
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/LICENSE +21 -0
- package/README.md +76 -0
- package/package.json +1 -2
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 KaiyeZeng
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# dsh-phone-bridge
|
|
2
|
+
|
|
3
|
+
Drive an existing DeepSeek Harness **desktop** session from a chat app, and manage
|
|
4
|
+
sessions from the sidebar.
|
|
5
|
+
|
|
6
|
+
> **Status as of October 2026:** DSH ships no way to reach a running desktop session
|
|
7
|
+
> from a phone, and no delete button. This package fills both gaps. It is unofficial
|
|
8
|
+
> and may break when DSH changes.
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
```powershell
|
|
13
|
+
dsh plugin --profile desktop add dsh-phone-bridge
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Then restart DSH. The package carries its own `dsh.bundle.patch`, so no config file
|
|
17
|
+
has to be edited by hand.
|
|
18
|
+
|
|
19
|
+
## What it adds
|
|
20
|
+
|
|
21
|
+
**Desktop UI** — a delete button on every session row (with a confirmation), and a
|
|
22
|
+
trash panel at the bottom of the sidebar where each entry can be restored or purged.
|
|
23
|
+
|
|
24
|
+
**HTTP routes** under `/phone-bridge/*`, for a chat-side client to call:
|
|
25
|
+
|
|
26
|
+
| Route | Purpose |
|
|
27
|
+
|---|---|
|
|
28
|
+
| `GET /sessions` | list sessions, the same set the sidebar shows |
|
|
29
|
+
| `GET /search?q=` | search session message content |
|
|
30
|
+
| `POST /create` | create a session |
|
|
31
|
+
| `POST /rename` | set a session title |
|
|
32
|
+
| `POST /delete` | move a session to the trash |
|
|
33
|
+
| `GET /trash` | list the trash and its size |
|
|
34
|
+
| `POST /restore` | put a trashed session back |
|
|
35
|
+
| `POST /purge` | erase trashed data permanently |
|
|
36
|
+
| `GET /status` | running state, working directory, last activity |
|
|
37
|
+
| `POST /stop` | cancel the session's running turn |
|
|
38
|
+
| `GET /models` | the deployment model catalog |
|
|
39
|
+
| `POST /model` | switch the model a session uses |
|
|
40
|
+
|
|
41
|
+
Deleting **moves** a session to `~/.dsh/deleted-sessions/` instead of unlinking it,
|
|
42
|
+
so a delete stays recoverable and purging is a separate, explicit step.
|
|
43
|
+
|
|
44
|
+
## The chat side
|
|
45
|
+
|
|
46
|
+
This package is only the DSH half. To talk to it from WeChat, Telegram or Yuanbao
|
|
47
|
+
you also need the OpenClaw plugin:
|
|
48
|
+
|
|
49
|
+
```powershell
|
|
50
|
+
openclaw plugins install openclaw-dsh-bridge --force --accept-capabilities
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Both flags are required and the error does not say which one is missing. `--force`
|
|
54
|
+
because the package lives on npm rather than OpenClaw's own ClawHub, and
|
|
55
|
+
`--accept-capabilities` because the plugin declares capabilities.
|
|
56
|
+
|
|
57
|
+
Make sure `~/.openclaw/extensions/` holds no second copy of the plugin: OpenClaw
|
|
58
|
+
loads every subdirectory there that carries an `openclaw.plugin.json`, so a stale
|
|
59
|
+
backup folder gets loaded too, and two copies sharing one id forward every message
|
|
60
|
+
twice.
|
|
61
|
+
|
|
62
|
+
Source and setup guide: <https://github.com/KaiyeZeng/dsh-phone-bridge>
|
|
63
|
+
|
|
64
|
+
## Notes
|
|
65
|
+
|
|
66
|
+
- **Zero runtime dependencies.** Only `node:` builtins are imported, so the file can
|
|
67
|
+
be mounted straight from disk with `file://` and no `node_modules` directory.
|
|
68
|
+
- `/sessions` reads DSH's workspace registry rather than the disk, so the phone lists
|
|
69
|
+
what the desktop sidebar lists. Sessions that were never registered in a workspace
|
|
70
|
+
(subagent sessions, ones made before the registry existed) have files but no
|
|
71
|
+
sidebar row, and listing the disk alone made the phone show rows the desktop did
|
|
72
|
+
not have.
|
|
73
|
+
- The model catalog is read structurally. The exact shape is not a stable surface, so
|
|
74
|
+
a change there shortens the list instead of crashing.
|
|
75
|
+
|
|
76
|
+
MIT licensed.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-phone-bridge",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Drive an existing DSH desktop session from a chat app, plus a sidebar delete button and trash panel",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
"client.js",
|
|
19
19
|
"cordis.patch.yml",
|
|
20
20
|
"README.md",
|
|
21
|
-
"README.zh.md",
|
|
22
21
|
"LICENSE"
|
|
23
22
|
],
|
|
24
23
|
"keywords": [
|