@gorlitzer-labs/seldon 0.1.14 → 0.1.15
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 +12 -5
- package/bin/seldon.js +12 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -33,13 +33,20 @@ seldon list # everything available
|
|
|
33
33
|
One command brings up the always-on services and prints where to go:
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
|
-
seldon up
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
seldon
|
|
40
|
-
seldon
|
|
36
|
+
seldon up # starts the voice (demerzel) + the supervisor (factory watch),
|
|
37
|
+
# then prints: Voice → http://localhost:8770, how to put agents
|
|
38
|
+
# to work, rooms, phone access
|
|
39
|
+
seldon up --tailnet # also expose the voice on your tailnet → reach it from your phone
|
|
40
|
+
seldon status # what's running (pids)
|
|
41
|
+
seldon down # stop everything
|
|
41
42
|
```
|
|
42
43
|
|
|
44
|
+
**Phone access:** `seldon up --tailnet` binds the voice to this machine's Tailscale
|
|
45
|
+
IP and prints `http://<tailnet-ip>:8770` — open it on any device on your tailnet.
|
|
46
|
+
The default `seldon up` stays loopback-only. Since Demerzel can act on the host,
|
|
47
|
+
exposing it means anyone on your tailnet can talk to it — run with
|
|
48
|
+
`DEMERZEL_READONLY=1` when sharing.
|
|
49
|
+
|
|
43
50
|
`seldon up` only starts what's installed. demerzel serves the voice UI on
|
|
44
51
|
`http://localhost:8770`. Its model set (~25 GB) is a one-time download —
|
|
45
52
|
`seldon install demerzel` **offers to fetch it right there** ([y/N]), and `seldon up`
|
package/bin/seldon.js
CHANGED
|
@@ -335,6 +335,18 @@ function tailnetIp() {
|
|
|
335
335
|
if (/^100\./.test(ip)) return ip;
|
|
336
336
|
} catch {}
|
|
337
337
|
}
|
|
338
|
+
// CLI missing/moved? The tailnet address is still on a utun interface —
|
|
339
|
+
// read it straight from the OS (Tailscale's CGNAT range is 100.64.0.0/10).
|
|
340
|
+
try {
|
|
341
|
+
const out = execSync("ifconfig", { stdio: ["ignore", "pipe", "ignore"] }).toString();
|
|
342
|
+
const m = out.match(/inet (100\.(?:6[4-9]|[7-9]\d|1[01]\d|12[0-7])\.\d+\.\d+)/);
|
|
343
|
+
if (m) return m[1];
|
|
344
|
+
} catch {}
|
|
345
|
+
try { // linux `ip addr`
|
|
346
|
+
const out = execSync("ip -4 addr", { stdio: ["ignore", "pipe", "ignore"] }).toString();
|
|
347
|
+
const m = out.match(/inet (100\.(?:6[4-9]|[7-9]\d|1[01]\d|12[0-7])\.\d+\.\d+)/);
|
|
348
|
+
if (m) return m[1];
|
|
349
|
+
} catch {}
|
|
338
350
|
return null;
|
|
339
351
|
}
|
|
340
352
|
|