reploid 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/docs/native-participant.md +10 -2
- package/native-delivery.json +7 -7
- package/package.json +1 -1
- package/server/native-node.js +6 -4
|
@@ -18,6 +18,9 @@ The delivered package has a short command that stands for the full one:
|
|
|
18
18
|
reploid qwen-3-5-2b-q4k-ehaf16
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
+
With no model id, `reploid` serves `qwen-3-5-2b-q4k-ehaf16`, the model public
|
|
22
|
+
peers supply; any options may follow directly (`reploid --connect-only`).
|
|
23
|
+
|
|
21
24
|
It runs `reploid-participant --contribute --execution-mode whole-model` for that
|
|
22
25
|
catalog model with state under `~/.reploid` (`weights/<model id>/` and
|
|
23
26
|
`identity.json`) and the supported transport and GPU packages, and prints what
|
|
@@ -69,8 +72,13 @@ directory and whose identity a live provider uses, so it cannot be re-issued
|
|
|
69
72
|
in place. The package
|
|
70
73
|
is not published; that is an owner decision. Checked: the built package
|
|
71
74
|
installs, and its three commands start through npm's links (help text and
|
|
72
|
-
argument expansion).
|
|
73
|
-
|
|
75
|
+
argument expansion). On 2026-11-11 the package built from `65a2a7339`, run as
|
|
76
|
+
`reploid qwen-3-5-2b-q4k-ehaf16` on one Linux x64 host (Intel integrated GPU,
|
|
77
|
+
Vulkan) with an empty state directory, filled the 2B from a public custody
|
|
78
|
+
supplier (919 verified pieces, 2,087,223,456 bytes, 504 s; no origin bytes),
|
|
79
|
+
became ready and answered one Chat Completions request through a separate
|
|
80
|
+
connect-only requester. That is a single-host functional check, not model
|
|
81
|
+
quality or throughput qualification.
|
|
74
82
|
|
|
75
83
|
## Delivery archive
|
|
76
84
|
|
package/native-delivery.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "reploid.native-delivery/v1",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"runtime": {
|
|
5
5
|
"name": "doppler-gpu",
|
|
6
6
|
"version": "0.7.1",
|
|
@@ -137,18 +137,18 @@
|
|
|
137
137
|
},
|
|
138
138
|
{
|
|
139
139
|
"path": "docs/native-participant.md",
|
|
140
|
-
"bytes":
|
|
141
|
-
"sha256": "
|
|
140
|
+
"bytes": 32801,
|
|
141
|
+
"sha256": "2b58a97f9240bb3cf5eeecf318218ec25b4d8b1847ca9110e8c88d9f6b4bc808"
|
|
142
142
|
},
|
|
143
143
|
{
|
|
144
144
|
"path": "package-lock.json",
|
|
145
145
|
"bytes": 9059,
|
|
146
|
-
"sha256": "
|
|
146
|
+
"sha256": "c69c380e2ba69ffb110da78ae9b30fa3cc090218bcb788a4033b316c2280002d"
|
|
147
147
|
},
|
|
148
148
|
{
|
|
149
149
|
"path": "package.json",
|
|
150
150
|
"bytes": 749,
|
|
151
|
-
"sha256": "
|
|
151
|
+
"sha256": "d7b256c1899f7de75f508d9b8edee3d7d3f0e862b12d98635e7cd5ec8e251b23"
|
|
152
152
|
},
|
|
153
153
|
{
|
|
154
154
|
"path": "packages/reploid/src/artifacts/binary.js",
|
|
@@ -857,8 +857,8 @@
|
|
|
857
857
|
},
|
|
858
858
|
{
|
|
859
859
|
"path": "server/native-node.js",
|
|
860
|
-
"bytes":
|
|
861
|
-
"sha256": "
|
|
860
|
+
"bytes": 4877,
|
|
861
|
+
"sha256": "2dbaae822741c4f99aeb5236f61c179be9978e1bcf56ddaa2ee13888a5b07872"
|
|
862
862
|
},
|
|
863
863
|
{
|
|
864
864
|
"path": "server/native-owner/controls.js",
|
package/package.json
CHANGED
package/server/native-node.js
CHANGED
|
@@ -12,11 +12,14 @@ import process from 'node:process';
|
|
|
12
12
|
import { fileURLToPath } from 'node:url';
|
|
13
13
|
|
|
14
14
|
const MODES = ['--connect-only', '--share-files', '--contribute'];
|
|
15
|
+
// The model `reploid` serves when no model id is given: the one public peers supply.
|
|
16
|
+
export const DEFAULT_MODEL = 'qwen-3-5-2b-q4k-ehaf16';
|
|
15
17
|
// Options that only exist for partition execution; giving one keeps the participant's own default.
|
|
16
18
|
const PARTITION_ONLY = ['--partition-index', '--ordered-config', '--canonical', '--readiness-log'];
|
|
17
19
|
const USAGE = `Reploid node (Node 22.13 or newer)
|
|
18
|
-
Usage: reploid
|
|
20
|
+
Usage: reploid [catalog model id] [participant options]
|
|
19
21
|
|
|
22
|
+
reploid (same as: reploid qwen-3-5-2b-q4k-ehaf16)
|
|
20
23
|
reploid qwen-3-5-2b-q4k-ehaf16
|
|
21
24
|
|
|
22
25
|
Contributes this computer's GPU for that model and runs the whole model here,
|
|
@@ -36,8 +39,8 @@ list. Stop with Ctrl+C.`;
|
|
|
36
39
|
|
|
37
40
|
/** The participant arguments this command stands for. Pure, so it can be checked. */
|
|
38
41
|
export function nodeArguments(argv, { home }) {
|
|
39
|
-
|
|
40
|
-
|
|
42
|
+
// Without a model id (nothing, or options only) the default model is served.
|
|
43
|
+
const [model, ...rest] = argv.length && !argv[0].startsWith('-') ? argv : [DEFAULT_MODEL, ...argv];
|
|
41
44
|
const given = name => rest.includes(name) || rest.some(value => value.startsWith(name + '='));
|
|
42
45
|
const state = path.join(home, '.reploid');
|
|
43
46
|
const args = ['--model', model];
|
|
@@ -67,7 +70,6 @@ async function main() {
|
|
|
67
70
|
const argv = process.argv.slice(2);
|
|
68
71
|
if (argv.includes('--help') || argv.includes('-h')) { console.log(USAGE); return; }
|
|
69
72
|
const node = nodeArguments(argv, { home: os.homedir() });
|
|
70
|
-
if (!node) { console.error(USAGE); process.exitCode = 2; return; }
|
|
71
73
|
console.log(JSON.stringify({ event: 'reploid-node', model: node.model, chosen: node.chosen }));
|
|
72
74
|
const { mkdir } = await import('node:fs/promises');
|
|
73
75
|
// The participant reads weights from an existing directory; it creates the identity's.
|