qubicl-cli 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 +120 -35
- package/dist/SBOM.spdx.json +19 -19
- package/dist/THIRD_PARTY_NOTICES.txt +1 -1
- package/dist/assets/computer/THIRD_PARTY_NOTICES.txt +1 -1
- package/dist/assets/computer/control.mjs +1 -1
- package/dist/assets/computer/manifests/browser.json +2 -2
- package/dist/assets/computer/manifests/computer.json +2 -2
- package/dist/assets/computer/manifests/file-system.json +2 -2
- package/dist/assets/computer/manifests/workstation.json +2 -2
- package/dist/assets/gateway/gateway.mjs +1 -1
- package/dist/qubicl.mjs +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,62 +1,147 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<picture>
|
|
4
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/EldanRing/qubicl/main/assets/brand/qubicl-mark-dark.svg">
|
|
5
|
+
<img alt="Qubicl" src="https://raw.githubusercontent.com/EldanRing/qubicl/main/assets/brand/qubicl-mark.svg" width="180">
|
|
6
|
+
</picture>
|
|
4
7
|
|
|
5
|
-
Qubicl
|
|
6
|
-
formats may evolve; back up important homes before upgrades.
|
|
8
|
+
<h1>Qubicl</h1>
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
### Give any AI agent a real, private computer on your machine.
|
|
11
|
+
|
|
12
|
+
Durable files. Terminal access. Web research. A persistent browser and desktop.
|
|
13
|
+
Human takeover whenever you want it. No Qubicl account, cloud control plane, or
|
|
14
|
+
model lock-in.
|
|
15
|
+
|
|
16
|
+
[](https://www.npmjs.com/package/qubicl-cli)
|
|
17
|
+
[](https://github.com/EldanRing/qubicl/blob/main/LICENSE)
|
|
18
|
+
[](https://github.com/EldanRing/qubicl/blob/main/package.json)
|
|
19
|
+
[](https://www.docker.com/)
|
|
20
|
+
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
---
|
|
9
24
|
|
|
10
25
|
```sh
|
|
11
26
|
npm install -g qubicl-cli
|
|
12
27
|
qubicl setup
|
|
13
28
|
```
|
|
14
29
|
|
|
15
|
-
|
|
30
|
+
Qubicl turns local Docker into observable computers for external AI agents.
|
|
31
|
+
The agent stays in Codex, Claude, Open WebUI, Cursor, VS Code, or another MCP or
|
|
32
|
+
OpenAPI client. Qubicl supplies the machine it works on.
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
your model or agent
|
|
36
|
+
│
|
|
37
|
+
│ MCP / OpenAPI / Open Terminal
|
|
38
|
+
▼
|
|
39
|
+
localhost-only Qubicl gateway
|
|
40
|
+
│
|
|
41
|
+
├── terminal + managed processes
|
|
42
|
+
├── durable, host-visible files
|
|
43
|
+
├── keyless web search + local extraction
|
|
44
|
+
├── persistent Chromium + desktop
|
|
45
|
+
├── packaged, operator-controlled skills
|
|
46
|
+
└── live viewer + human takeover
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Why Qubicl
|
|
50
|
+
|
|
51
|
+
| | |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| **Bring your own model** | One computer works with any compatible client. Switch models without rebuilding the workspace. |
|
|
54
|
+
| **See the work** | Watch the live desktop, take control, finish a task yourself, and hand the same session back. |
|
|
55
|
+
| **Keep the files** | The computer's `/home` is visible on the host and survives restarts, upgrades, and runtime recreation. |
|
|
56
|
+
| **Do more than code** | Terminal, Git, web research, browser automation, desktop apps, office workflows, previews, backups, and SSH. |
|
|
57
|
+
| **Control every computer** | Choose its resources, network policy, exposed tools, active skills, credentials, and lifecycle. |
|
|
58
|
+
| **Stay local** | No Qubicl account, telemetry backend, database, hosted daemon, or Docker socket inside the computer. |
|
|
59
|
+
|
|
60
|
+
## Quick start
|
|
61
|
+
|
|
62
|
+
Requirements: Node.js 22 or 24, Docker Engine 24.0 or Docker Desktop 4.29+, and
|
|
63
|
+
Docker Compose 2.24+. Qubicl supports Linux, Apple Silicon macOS with Docker
|
|
64
|
+
Desktop, and Windows 11 x64 through Ubuntu 24.04 on WSL 2 with Docker Desktop.
|
|
65
|
+
|
|
66
|
+
```sh
|
|
67
|
+
qubicl setup
|
|
68
|
+
qubicl create computer-name --preset computer
|
|
69
|
+
qubicl connect computer-name --client codex
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
The setup wizard checks Docker, compares four progressive computer presets,
|
|
73
|
+
previews resource and image effects, obtains only the selected image plus the
|
|
74
|
+
gateway, and can create the first computer. Run Qubicl as your normal user,
|
|
75
|
+
never with `sudo`.
|
|
16
76
|
|
|
17
|
-
|
|
77
|
+
## Computer presets
|
|
18
78
|
|
|
19
|
-
|
|
79
|
+
| Preset | Includes | Viewer | Suggested limit |
|
|
80
|
+
| --- | --- | :---: | ---: |
|
|
81
|
+
| `file-system` | Shell, processes, Git, durable files, web research | — | 1 CPU / 512m |
|
|
82
|
+
| `browser` | Everything above plus persistent Chromium, OCR, PDF inspection | ✓ | 2 CPU / 2g |
|
|
83
|
+
| `computer` | Browser plus a lightweight XFCE desktop, editors, document tools, SSH | ✓ | 2 CPU / 3g |
|
|
84
|
+
| `workstation` | Full development and office environment with LibreOffice | ✓ | 2 CPU / 4g |
|
|
85
|
+
|
|
86
|
+
Every preset includes native keyless `web_search`, local `web_extract`, and
|
|
87
|
+
verified Qubicl-native skill baselines with durable, agent-editable working
|
|
88
|
+
copies. Operators choose the tools and skills each computer exposes:
|
|
89
|
+
|
|
90
|
+
```sh
|
|
91
|
+
qubicl tools computer-name
|
|
92
|
+
qubicl skills computer-name
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Disabled tools disappear from MCP, OpenAPI, and Open Terminal, and cached calls
|
|
96
|
+
fail closed.
|
|
97
|
+
|
|
98
|
+
## Connect any agent
|
|
20
99
|
|
|
21
100
|
```sh
|
|
22
101
|
qubicl connect computer-name --client codex
|
|
102
|
+
qubicl connect computer-name --client claude-code
|
|
103
|
+
qubicl connect computer-name --client cursor
|
|
23
104
|
qubicl connect computer-name --client opencode
|
|
24
105
|
qubicl connect computer-name --client openclaw
|
|
25
106
|
qubicl connect computer-name --client hermes-agent
|
|
107
|
+
qubicl connect computer-name --client open-webui
|
|
26
108
|
```
|
|
27
109
|
|
|
28
|
-
Adapters
|
|
110
|
+
Adapters cover Codex, Claude Code, Claude Desktop, Cursor, VS Code, OpenCode,
|
|
111
|
+
OpenClaw, Hermes Agent, Open WebUI, generic stdio and HTTP MCP, and direct
|
|
112
|
+
OpenAPI. `connect` prints configuration; it never edits client files or prints
|
|
113
|
+
a bearer token.
|
|
29
114
|
|
|
30
|
-
For
|
|
115
|
+
For Open WebUI, copy the generated configuration into **Admin Panel → Settings
|
|
116
|
+
→ Integrations → Open Terminal**. Qubicl supplies native durable-file browsing,
|
|
117
|
+
chat uploads, screenshots, browser tools, and explicitly published local
|
|
118
|
+
previews without joining Open WebUI's Docker network.
|
|
31
119
|
|
|
32
|
-
|
|
120
|
+
## Watch and take over
|
|
33
121
|
|
|
34
|
-
|
|
122
|
+
```sh
|
|
123
|
+
qubicl view computer-name
|
|
124
|
+
```
|
|
35
125
|
|
|
36
|
-
|
|
126
|
+
Observation is passive. **Take control** fences agent tools and terminates its
|
|
127
|
+
ordinary managed commands before handing you the keyboard and mouse. Persistent
|
|
128
|
+
browser and managed desktop applications remain visible so you can continue the
|
|
129
|
+
same task. Qubicl's green pointer shows the agent's latest desktop or browser
|
|
130
|
+
position in the viewer.
|
|
37
131
|
|
|
38
|
-
|
|
39
|
-
Docker Desktop 4.29 or newer, and Docker Compose 2.24 or newer. Linux x64,
|
|
40
|
-
Apple Silicon macOS with Docker Desktop, and Windows 11 x64 through Ubuntu
|
|
41
|
-
24.04 on WSL 2 with Docker Desktop are directly exercised for the first
|
|
42
|
-
release. Linux ARM64, Intel macOS, Windows on ARM, and other WSL distributions
|
|
43
|
-
are best-effort. Native Windows execution and WSL 1 are not supported, and
|
|
44
|
-
Qubicl computers remain Linux containers on every host.
|
|
132
|
+
## Security boundary
|
|
45
133
|
|
|
46
|
-
|
|
134
|
+
Computers run without privileged mode, a Docker socket, host namespaces,
|
|
135
|
+
arbitrary mounts, or passwordless elevation. The gateway listens only on
|
|
136
|
+
`127.0.0.1`. Qubicl is a Docker-based computer for trusted or
|
|
137
|
+
operator-supervised workloads, not a VM boundary against hostile code.
|
|
47
138
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
qubicl upgrade computer-name --offline
|
|
54
|
-
qubicl skills computer-name
|
|
55
|
-
qubicl tools computer-name
|
|
56
|
-
qubicl control release computer-name
|
|
57
|
-
qubicl network show computer-name
|
|
58
|
-
qubicl backup create computer-name --quiesce
|
|
59
|
-
qubicl --version
|
|
60
|
-
```
|
|
139
|
+
Read the complete [security model](https://github.com/EldanRing/qubicl/blob/main/docs/security-model.md)
|
|
140
|
+
before relying on the boundary.
|
|
141
|
+
|
|
142
|
+
Qubicl `0.1.x` is the initial public series. Interfaces and state formats may
|
|
143
|
+
evolve before 1.0; back up important computer homes before upgrades.
|
|
61
144
|
|
|
62
|
-
|
|
145
|
+
Explore the [source and full documentation](https://github.com/EldanRing/qubicl).
|
|
146
|
+
Source code and documentation are Apache-2.0. Designated Qubicl brand artwork
|
|
147
|
+
is CC BY 4.0.
|
package/dist/SBOM.spdx.json
CHANGED
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
"spdxVersion": "SPDX-2.3",
|
|
3
3
|
"dataLicense": "CC0-1.0",
|
|
4
4
|
"SPDXID": "SPDXRef-DOCUMENT",
|
|
5
|
-
"name": "qubicl-cli-0.1.
|
|
6
|
-
"documentNamespace": "https://github.com/EldanRing/qubicl/spdx/qubicl-cli/0.1.
|
|
5
|
+
"name": "qubicl-cli-0.1.1-npm-application",
|
|
6
|
+
"documentNamespace": "https://github.com/EldanRing/qubicl/spdx/qubicl-cli/0.1.1/dac0e16a11b8cbc0ed7f8b0e9eb9e16a3aa2f45d/npm-application",
|
|
7
7
|
"creationInfo": {
|
|
8
|
-
"created": "2026-08-
|
|
8
|
+
"created": "2026-08-27T13:23:55Z",
|
|
9
9
|
"creators": [
|
|
10
10
|
"Tool: qubicl-metafile-sbom-1"
|
|
11
11
|
]
|
|
12
12
|
},
|
|
13
13
|
"documentDescribes": [
|
|
14
|
-
"SPDXRef-Package-qubicl-cli-0.1.
|
|
14
|
+
"SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329"
|
|
15
15
|
],
|
|
16
16
|
"packages": [
|
|
17
17
|
{
|
|
18
18
|
"name": "qubicl-cli",
|
|
19
|
-
"SPDXID": "SPDXRef-Package-qubicl-cli-0.1.
|
|
20
|
-
"versionInfo": "0.1.
|
|
19
|
+
"SPDXID": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
|
|
20
|
+
"versionInfo": "0.1.1",
|
|
21
21
|
"downloadLocation": "NOASSERTION",
|
|
22
22
|
"filesAnalyzed": false,
|
|
23
23
|
"licenseConcluded": "Apache-2.0",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
{
|
|
28
28
|
"referenceCategory": "PACKAGE-MANAGER",
|
|
29
29
|
"referenceType": "purl",
|
|
30
|
-
"referenceLocator": "pkg:npm/qubicl-cli@0.1.
|
|
30
|
+
"referenceLocator": "pkg:npm/qubicl-cli@0.1.1"
|
|
31
31
|
}
|
|
32
32
|
],
|
|
33
33
|
"comment": "Qubicl npm-application application assembled from the recorded esbuild metafiles."
|
|
@@ -124,8 +124,8 @@
|
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
126
|
"name": "qubicl-core-skill-adaptations",
|
|
127
|
-
"SPDXID": "SPDXRef-Package-qubicl-core-skill-adaptations-0.1.
|
|
128
|
-
"versionInfo": "0.1.
|
|
127
|
+
"SPDXID": "SPDXRef-Package-qubicl-core-skill-adaptations-0.1.1-7a87144aafe4",
|
|
128
|
+
"versionInfo": "0.1.1",
|
|
129
129
|
"downloadLocation": "https://github.com/EldanRing/qubicl",
|
|
130
130
|
"filesAnalyzed": false,
|
|
131
131
|
"licenseConcluded": "MIT",
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
{
|
|
136
136
|
"referenceCategory": "PACKAGE-MANAGER",
|
|
137
137
|
"referenceType": "purl",
|
|
138
|
-
"referenceLocator": "pkg:github/EldanRing/qubicl@
|
|
138
|
+
"referenceLocator": "pkg:github/EldanRing/qubicl@dac0e16a11b8cbc0ed7f8b0e9eb9e16a3aa2f45d"
|
|
139
139
|
}
|
|
140
140
|
],
|
|
141
141
|
"comment": "Six Qubicl-native core skills, with selected MIT-licensed helpers adapted from hermes-agent@7d6db4efb885856078e4d19f804035226df81e0d; Hermes Agent is not installed."
|
|
@@ -179,42 +179,42 @@
|
|
|
179
179
|
],
|
|
180
180
|
"relationships": [
|
|
181
181
|
{
|
|
182
|
-
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.
|
|
182
|
+
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
|
|
183
183
|
"relationshipType": "DEPENDS_ON",
|
|
184
184
|
"relatedSpdxElement": "SPDXRef-Package-hono-node-server-1.19.17-1838a11ef509"
|
|
185
185
|
},
|
|
186
186
|
{
|
|
187
|
-
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.
|
|
187
|
+
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
|
|
188
188
|
"relationshipType": "DEPENDS_ON",
|
|
189
189
|
"relatedSpdxElement": "SPDXRef-Package-modelcontextprotocol-core-2.0.0-546354de5e47"
|
|
190
190
|
},
|
|
191
191
|
{
|
|
192
|
-
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.
|
|
192
|
+
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
|
|
193
193
|
"relationshipType": "DEPENDS_ON",
|
|
194
194
|
"relatedSpdxElement": "SPDXRef-Package-modelcontextprotocol-node-2.0.0-cc861036891c"
|
|
195
195
|
},
|
|
196
196
|
{
|
|
197
|
-
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.
|
|
197
|
+
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
|
|
198
198
|
"relationshipType": "DEPENDS_ON",
|
|
199
199
|
"relatedSpdxElement": "SPDXRef-Package-modelcontextprotocol-server-2.0.0-39f69d3701b8"
|
|
200
200
|
},
|
|
201
201
|
{
|
|
202
|
-
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.
|
|
202
|
+
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
|
|
203
203
|
"relationshipType": "DEPENDS_ON",
|
|
204
204
|
"relatedSpdxElement": "SPDXRef-Package-playwright-core-1.62.1-6e887f47565b"
|
|
205
205
|
},
|
|
206
206
|
{
|
|
207
|
-
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.
|
|
207
|
+
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
|
|
208
208
|
"relationshipType": "DEPENDS_ON",
|
|
209
|
-
"relatedSpdxElement": "SPDXRef-Package-qubicl-core-skill-adaptations-0.1.
|
|
209
|
+
"relatedSpdxElement": "SPDXRef-Package-qubicl-core-skill-adaptations-0.1.1-7a87144aafe4"
|
|
210
210
|
},
|
|
211
211
|
{
|
|
212
|
-
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.
|
|
212
|
+
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
|
|
213
213
|
"relationshipType": "DEPENDS_ON",
|
|
214
214
|
"relatedSpdxElement": "SPDXRef-Package-yaml-2.9.0-be80181ebffd"
|
|
215
215
|
},
|
|
216
216
|
{
|
|
217
|
-
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.
|
|
217
|
+
"spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
|
|
218
218
|
"relationshipType": "DEPENDS_ON",
|
|
219
219
|
"relatedSpdxElement": "SPDXRef-Package-zod-4.4.3-0479f5dfed7f"
|
|
220
220
|
}
|
|
@@ -962,7 +962,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
962
962
|
SOFTWARE.
|
|
963
963
|
|
|
964
964
|
---
|
|
965
|
-
qubicl-core-skill-adaptations@0.1.
|
|
965
|
+
qubicl-core-skill-adaptations@0.1.1
|
|
966
966
|
Declared license: MIT
|
|
967
967
|
Includes material adapted from https://github.com/NousResearch/hermes-agent/tree/7d6db4efb885856078e4d19f804035226df81e0d
|
|
968
968
|
|
|
@@ -726,7 +726,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
726
726
|
SOFTWARE.
|
|
727
727
|
|
|
728
728
|
---
|
|
729
|
-
qubicl-core-skill-adaptations@0.1.
|
|
729
|
+
qubicl-core-skill-adaptations@0.1.1
|
|
730
730
|
Declared license: MIT
|
|
731
731
|
Includes material adapted from https://github.com/NousResearch/hermes-agent/tree/7d6db4efb885856078e4d19f804035226df81e0d
|
|
732
732
|
|