@gorlitzer-labs/seldon 0.1.0 → 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 +51 -11
- package/bin/seldon.js +10 -1
- package/package.json +24 -6
package/README.md
CHANGED
|
@@ -1,18 +1,58 @@
|
|
|
1
1
|
# @gorlitzer-labs/seldon
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
```
|
|
4
|
+
███████╗███████╗██╗ ██████╗ ██████╗ ███╗ ██╗
|
|
5
|
+
██╔════╝██╔════╝██║ ██╔══██╗██╔═══██╗████╗ ██║
|
|
6
|
+
███████╗█████╗ ██║ ██║ ██║██║ ██║██╔██╗ ██║
|
|
7
|
+
╚════██║██╔══╝ ██║ ██║ ██║██║ ██║██║╚██╗██║
|
|
8
|
+
███████║███████╗███████╗██████╔╝╚██████╔╝██║ ╚████║
|
|
9
|
+
╚══════╝╚══════╝╚══════╝╚═════╝ ╚═════╝ ╚═╝ ╚═══╝
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
**The installer for the Seldon stack** — a software factory of AI agents.
|
|
13
|
+
Pick the tools you want from a checklist; each installs via its native method
|
|
14
|
+
(npm for the Node tools, a shell installer for bifrost, a venv for demerzel).
|
|
15
|
+
|
|
16
|
+
## Install
|
|
6
17
|
|
|
7
18
|
```bash
|
|
8
19
|
npm i -g @gorlitzer-labs/seldon
|
|
9
|
-
seldon # open the checklist — space
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
20
|
+
seldon # open the checklist — ↑↓ move · space pick · a all · enter install
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Or name the modules directly:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
seldon install foundation comb # install just these
|
|
27
|
+
seldon doctor # check external deps (tmux, sops, age, tailscale, python)
|
|
28
|
+
seldon list # everything available
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## The stack
|
|
32
|
+
|
|
33
|
+
| module | what it is | ships via |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| **foundation** | the seam — a deterministic plan agents follow | npm |
|
|
36
|
+
| **apiary** | the conversation — shared rooms where agents coordinate | npm |
|
|
37
|
+
| **comb** | the vault — keys by name, never by value | npm |
|
|
38
|
+
| **factory** | the floor — 24/7 supervisor + sandboxed agents | npm |
|
|
39
|
+
| **bifrost** | the bridge — many machines, one workspace | shell |
|
|
40
|
+
| **demerzel** | the voice — a fully-local voice assistant | python (macOS / Apple silicon) |
|
|
41
|
+
|
|
42
|
+
Ticking **factory** auto-includes **apiary** + **foundation** (it needs them on PATH).
|
|
43
|
+
|
|
44
|
+
## Pick the combo for the job
|
|
45
|
+
|
|
46
|
+
It's a stack, not a bundle — install only what you use:
|
|
47
|
+
|
|
48
|
+
- **Solo, one agent** → `seldon install foundation comb` — a plan + secured keys. Add **factory** for the sandbox, **demerzel** for voice.
|
|
49
|
+
- **A team of agents** → add **apiary** (shared rooms) + **factory** (the supervisor).
|
|
50
|
+
- **Across machines / from your phone** → add **bifrost**.
|
|
51
|
+
|
|
52
|
+
## From a checkout
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
seldon --dev # link Node modules from a monorepo checkout instead of npm
|
|
14
56
|
```
|
|
15
57
|
|
|
16
|
-
|
|
17
|
-
Ticking `factory` auto-includes `apiary` + `foundation` (it needs them on PATH).
|
|
18
|
-
`demerzel` is offered only on macOS / Apple silicon.
|
|
58
|
+
Part of the [seldon](https://github.com/gorlitzer-labs/seldon) monorepo.
|
package/bin/seldon.js
CHANGED
|
@@ -114,6 +114,14 @@ function doInstall(ids, { dev } = {}) {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
// ---- the checklist TUI ------------------------------------------------------
|
|
117
|
+
const BANNER = [
|
|
118
|
+
" ███████╗███████╗██╗ ██████╗ ██████╗ ███╗ ██╗",
|
|
119
|
+
" ██╔════╝██╔════╝██║ ██╔══██╗██╔═══██╗████╗ ██║",
|
|
120
|
+
" ███████╗█████╗ ██║ ██║ ██║██║ ██║██╔██╗ ██║",
|
|
121
|
+
" ╚════██║██╔══╝ ██║ ██║ ██║██║ ██║██║╚██╗██║",
|
|
122
|
+
" ███████║███████╗███████╗██████╔╝╚██████╔╝██║ ╚████║",
|
|
123
|
+
" ╚══════╝╚══════╝╚══════╝╚═════╝ ╚═════╝ ╚═╝ ╚═══╝",
|
|
124
|
+
];
|
|
117
125
|
function tui() {
|
|
118
126
|
return new Promise((resolve) => {
|
|
119
127
|
const rows = MODULES.map((m) => ({ m, on: platformOk(m) && ["apiary", "foundation", "factory"].includes(m.id) }));
|
|
@@ -123,7 +131,8 @@ function tui() {
|
|
|
123
131
|
readline.cursorTo(process.stdout, 0, 0);
|
|
124
132
|
readline.clearScreenDown(process.stdout);
|
|
125
133
|
const out = [];
|
|
126
|
-
out.push(C.
|
|
134
|
+
BANNER.forEach((l) => out.push(C.gold(l)));
|
|
135
|
+
out.push(C.dim(" the AI-agent-factory stack — pick your tools"));
|
|
127
136
|
out.push(C.dim(" ↑↓ move · space toggle · a all · enter install · q quit\n"));
|
|
128
137
|
rows.forEach((r, i) => {
|
|
129
138
|
const sel = r.on ? C.green("[x]") : "[ ]";
|
package/package.json
CHANGED
|
@@ -1,13 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gorlitzer-labs/seldon",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Install the Seldon stack — pick your tools from a checklist; each installs via its native method.",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"
|
|
6
|
+
"bin": {
|
|
7
|
+
"seldon": "bin/seldon.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"bin",
|
|
11
|
+
"modules.mjs",
|
|
12
|
+
"README.md"
|
|
13
|
+
],
|
|
14
|
+
"engines": {
|
|
15
|
+
"node": ">=20"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"ai",
|
|
19
|
+
"agents",
|
|
20
|
+
"installer",
|
|
21
|
+
"cli",
|
|
22
|
+
"seldon",
|
|
23
|
+
"apiary",
|
|
24
|
+
"factory"
|
|
25
|
+
],
|
|
10
26
|
"author": "Franco Berardi",
|
|
11
27
|
"license": "MIT",
|
|
12
|
-
"publishConfig": {
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"access": "public"
|
|
30
|
+
}
|
|
13
31
|
}
|