@mmmbuto/nexuscrew 0.2.0 → 0.2.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 +79 -66
- package/bin/nexuscrew.js +467 -264
- package/frontend/dist/apple-touch-icon.png +0 -0
- package/frontend/dist/assets/{index-8pw4eMB-.js → index-BG1N7bSL.js} +268 -273
- package/frontend/dist/assets/index-CiAtinNP.css +1 -0
- package/frontend/dist/favicon.svg +20 -0
- package/frontend/dist/icon-192.png +0 -0
- package/frontend/dist/icon-512.png +0 -0
- package/frontend/dist/index.html +11 -3
- package/frontend/dist/site.webmanifest +29 -0
- package/lib/config/hosts.js +67 -0
- package/lib/config/manager.js +23 -6
- package/lib/server/routes/hosts.js +11 -20
- package/lib/server/routes/keys.js +13 -0
- package/lib/server/routes/send.js +52 -12
- package/lib/server/routes/sessions.js +9 -12
- package/lib/server/routes/speech.js +22 -51
- package/lib/server/routes/status.js +8 -6
- package/lib/server/routes/upload.js +2 -1
- package/lib/server/server.js +21 -20
- package/lib/server/services/attachment-manager.js +57 -0
- package/lib/server/services/speech-manager.js +76 -0
- package/lib/services/log-watcher.js +40 -22
- package/lib/services/remote-pane-watcher.js +155 -0
- package/lib/services/session-store.js +3 -3
- package/lib/services/tmux-manager.js +127 -116
- package/lib/setup/postinstall.js +38 -0
- package/lib/utils/paths.js +18 -1
- package/lib/utils/termux.js +38 -1
- package/package.json +3 -3
- package/frontend/dist/assets/index-BF0tdvNT.css +0 -1
package/README.md
CHANGED
|
@@ -1,108 +1,121 @@
|
|
|
1
|
-
# NexusCrew
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
- **Lane-aware models** — Native + Custom per engine
|
|
18
|
-
- **Shell discovery** — Scans .zshrc, .bashrc, providers.zsh for aliases
|
|
19
|
-
- **Remote hosts** — SSH to any machine
|
|
20
|
-
- **SSE streaming** — Real-time AI output
|
|
21
|
-
- **6 languages UI** — Auto-detects browser language
|
|
1
|
+
# NexusCrew
|
|
2
|
+
|
|
3
|
+
Mobile-first `tmux` cockpit for local and remote AI CLI sessions.
|
|
4
|
+
|
|
5
|
+
NexusCrew is built for `Termux` and smartphone-first workflows, but also runs on Linux and macOS. It keeps CLI sessions alive inside `tmux`, exposes them through a web UI, and lets you switch between local and SSH hosts without reopening everything by hand.
|
|
6
|
+
|
|
7
|
+
## Highlights
|
|
8
|
+
|
|
9
|
+
- Persistent `tmux` sessions for Claude, Codex, Gemini and Qwen
|
|
10
|
+
- Local + SSH host switching from one mobile-first UI
|
|
11
|
+
- Remote streaming via `tmux capture-pane`
|
|
12
|
+
- File and image attachments, including remote SSH staging
|
|
13
|
+
- Local STT with `whisper.cpp`, browser fallback, system TTS
|
|
14
|
+
- Dark/light theme
|
|
15
|
+
- Installable web app shell with mobile icon/manifest
|
|
16
|
+
- Termux-oriented CLI with setup, start, status and host management
|
|
22
17
|
|
|
23
18
|
## Install
|
|
24
19
|
|
|
25
20
|
```bash
|
|
26
21
|
npm install -g @mmmbuto/nexuscrew
|
|
27
|
-
nexuscrew
|
|
22
|
+
nexuscrew setup
|
|
28
23
|
nexuscrew start
|
|
29
|
-
# Open http://localhost:41820
|
|
30
24
|
```
|
|
31
25
|
|
|
32
|
-
|
|
26
|
+
`nexuscrew start` runs the server in background, waits for health, and can open the browser for you.
|
|
27
|
+
|
|
28
|
+
Default URL:
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
http://localhost:41820
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Termux
|
|
35
|
+
|
|
36
|
+
Recommended base packages:
|
|
33
37
|
|
|
34
38
|
```bash
|
|
35
|
-
pkg install tmux
|
|
39
|
+
pkg install nodejs tmux openssh termux-services
|
|
36
40
|
npm install -g @mmmbuto/nexuscrew
|
|
37
|
-
nexuscrew
|
|
38
|
-
nexuscrew start
|
|
41
|
+
nexuscrew setup
|
|
39
42
|
```
|
|
40
43
|
|
|
41
|
-
|
|
44
|
+
The setup wizard can also:
|
|
45
|
+
|
|
46
|
+
- prepare `Termux:Boot`
|
|
47
|
+
- create and enable the native `runit` service via `termux-services`
|
|
48
|
+
- configure SSH hosts
|
|
49
|
+
- prepare local STT checks for `whisper.cpp`
|
|
50
|
+
|
|
51
|
+
## Core Commands
|
|
42
52
|
|
|
43
53
|
```bash
|
|
44
|
-
nexuscrew
|
|
45
|
-
nexuscrew start
|
|
46
|
-
nexuscrew
|
|
47
|
-
nexuscrew
|
|
48
|
-
nexuscrew
|
|
54
|
+
nexuscrew setup
|
|
55
|
+
nexuscrew start
|
|
56
|
+
nexuscrew stop
|
|
57
|
+
nexuscrew status
|
|
58
|
+
nexuscrew attach
|
|
59
|
+
nexuscrew sessions
|
|
60
|
+
nexuscrew hosts list
|
|
61
|
+
nexuscrew hosts add --name mybox --host example.com --user dag
|
|
62
|
+
nexuscrew stt doctor
|
|
49
63
|
```
|
|
50
64
|
|
|
51
|
-
##
|
|
65
|
+
## How It Works
|
|
52
66
|
|
|
53
|
-
```
|
|
54
|
-
Browser/WebView
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
67
|
+
```text
|
|
68
|
+
Browser/WebView <-> Express API <-> tmux session/windows <-> AI CLI processes
|
|
69
|
+
|
|
|
70
|
+
+-> local machine
|
|
71
|
+
+-> SSH hosts
|
|
58
72
|
```
|
|
59
73
|
|
|
60
|
-
Each
|
|
74
|
+
Each conversation runs in its own `tmux` window. Local sessions stream from log watchers; remote sessions stream from incremental pane capture.
|
|
61
75
|
|
|
62
76
|
## Configuration
|
|
63
77
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
78
|
+
Main config:
|
|
79
|
+
|
|
80
|
+
```text
|
|
81
|
+
~/.nexuscrew/config.json
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Host registry:
|
|
85
|
+
|
|
86
|
+
```text
|
|
87
|
+
~/.nexuscrew/hosts.json
|
|
71
88
|
```
|
|
72
89
|
|
|
73
|
-
|
|
90
|
+
Important defaults include:
|
|
74
91
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
| `nexuscrew sessions` | List tmux windows |
|
|
83
|
-
| `nexuscrew attach` | Attach to tmux |
|
|
84
|
-
| `nexuscrew config` | View/edit config |
|
|
85
|
-
| `nexuscrew hosts add` | Add SSH host |
|
|
92
|
+
- `server.port`
|
|
93
|
+
- `tmuxSession`
|
|
94
|
+
- `hosts.default`
|
|
95
|
+
- `workspaces.default`
|
|
96
|
+
- `stt.provider`
|
|
97
|
+
- `termux.boot_start`
|
|
98
|
+
- `termux.service_enabled`
|
|
86
99
|
|
|
87
|
-
##
|
|
100
|
+
## Authentication
|
|
88
101
|
|
|
89
|
-
|
|
90
|
-
Protected (JWT/localhost): `/api/v1/send`, `/api/v1/sessions`, `/api/v1/upload`, `/api/v1/workspaces`
|
|
102
|
+
Localhost use is optimized for local device workflows.
|
|
91
103
|
|
|
92
|
-
|
|
104
|
+
For remote or network exposure, review and configure authentication before relying on the instance outside localhost. Do not expose an unreviewed dev setup directly to the public internet.
|
|
93
105
|
|
|
94
106
|
## Development
|
|
95
107
|
|
|
96
108
|
```bash
|
|
97
109
|
git clone https://github.com/DioNanos/nexuscrew
|
|
98
|
-
cd nexuscrew
|
|
99
|
-
|
|
110
|
+
cd nexuscrew
|
|
111
|
+
npm install
|
|
112
|
+
npm run build
|
|
100
113
|
npm run dev
|
|
101
114
|
```
|
|
102
115
|
|
|
103
116
|
## Related
|
|
104
117
|
|
|
105
|
-
- [NexusCLI](https://www.npmjs.com/package/@mmmbuto/nexuscli)
|
|
118
|
+
- [NexusCLI](https://www.npmjs.com/package/@mmmbuto/nexuscli) - PTY-based sibling project
|
|
106
119
|
|
|
107
120
|
## License
|
|
108
121
|
|