@bivy/bivy 0.1.0-staging.10 → 0.1.0-staging.12
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 +88 -18
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -25,30 +25,83 @@ reports around agents you already use.
|
|
|
25
25
|
curl -fsSL https://bivy.sh/install.sh | bash
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
macOS and Linux. Requires Node 22.19 or newer; the installer
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
macOS and Linux. Requires Node.js 22.19 or newer; the installer installs it for
|
|
29
|
+
you on Debian/Ubuntu and otherwise points you at nodejs.org. It installs the
|
|
30
|
+
[`@bivy/bivy`](https://www.npmjs.com/package/@bivy/bivy) package from npm, puts
|
|
31
|
+
the `bivy` command on your `PATH`, then runs the guided `bivy setup` wizard —
|
|
32
|
+
workspace, relay/control-plane sign-in, and an auto-start background service
|
|
33
|
+
(launchd on macOS, systemd on Linux). Re-running it on a machine that already
|
|
34
|
+
has Bivy just applies the latest build and restarts the service.
|
|
33
35
|
|
|
34
|
-
Already have Node
|
|
36
|
+
Already have Node.js 22.19+? The installer is optional:
|
|
35
37
|
|
|
36
38
|
```bash
|
|
37
39
|
npm install -g @bivy/bivy
|
|
38
40
|
bivy setup
|
|
39
41
|
```
|
|
40
42
|
|
|
41
|
-
|
|
42
|
-
`npm audit signatures`. See [`docs/releasing.md`](docs/releasing.md).
|
|
43
|
+
Or try it once without installing anything (`npx` always fetches the latest):
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
```bash
|
|
46
|
+
npx @bivy/bivy setup
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Releases are published from CI with provenance attestations; verify a build's
|
|
50
|
+
origin with `npm audit signatures`. See [`docs/releasing.md`](docs/releasing.md).
|
|
51
|
+
|
|
52
|
+
### Install options
|
|
53
|
+
|
|
54
|
+
Environment variables passed to the one-line installer change what it does:
|
|
55
|
+
|
|
56
|
+
| Goal | Variable |
|
|
57
|
+
|---|---|
|
|
58
|
+
| Track the dev channel (new build on every merge to `main`) | `BIVY_CHANNEL=staging` |
|
|
59
|
+
| Pin an exact version | `BIVY_VERSION=0.1.0` |
|
|
60
|
+
| Install without sudo, into a user-owned prefix | `BIVY_NPM_PREFIX=~/.local` |
|
|
61
|
+
| Preinstall every bundled agent runtime | `BIVY_INSTALL_ALL_AGENTS=1` |
|
|
62
|
+
|
|
63
|
+
For example: `BIVY_CHANNEL=staging curl -fsSL https://bivy.sh/install.sh | bash`.
|
|
64
|
+
|
|
65
|
+
Working from a checkout of this repository instead:
|
|
45
66
|
|
|
46
67
|
```bash
|
|
47
68
|
npm install
|
|
48
69
|
npm run setup
|
|
49
70
|
```
|
|
50
71
|
|
|
51
|
-
See [`docs/install.md`](docs/install.md) for
|
|
72
|
+
See [`docs/install.md`](docs/install.md) for where data lives, service
|
|
73
|
+
management, and uninstall.
|
|
74
|
+
|
|
75
|
+
## Updating
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
bivy update
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
`bivy update` detects how Bivy was installed and does the right thing, then
|
|
82
|
+
waits for any active session to finish its current turn and restarts the
|
|
83
|
+
background service so the node reconnects on the new build:
|
|
84
|
+
|
|
85
|
+
| Install kind | What `bivy update` does |
|
|
86
|
+
|---|---|
|
|
87
|
+
| npm global (`npm i -g`) | `npm install -g @bivy/bivy@<channel>`, then restart the service |
|
|
88
|
+
| installer / packaged | re-runs `install.sh` (migrating to npm if needed), then restart |
|
|
89
|
+
| git checkout | `git pull --ff-only` + `npm ci`, then restart |
|
|
90
|
+
| `npx` run | nothing to update — each run already fetches the latest |
|
|
91
|
+
|
|
92
|
+
Updates follow the release **channel** recorded at install time — `latest`
|
|
93
|
+
(production) by default, or `staging` if you installed with
|
|
94
|
+
`BIVY_CHANNEL=staging`. Switch channels (the choice is remembered for next
|
|
95
|
+
time), or skip the wait for a busy session:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
bivy update --staging # move to the dev channel
|
|
99
|
+
bivy update --stable # move back to production (latest)
|
|
100
|
+
bivy update --force # don't wait for an in-flight turn to finish
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
The daemon also checks the registry periodically and posts an in-session notice
|
|
104
|
+
when a newer build is available.
|
|
52
105
|
|
|
53
106
|
## Architecture
|
|
54
107
|
|
|
@@ -90,7 +143,7 @@ Nineteen agents are available in the picker, each driven through its native inte
|
|
|
90
143
|
| Pi | `bivy run pi` | Default; bundled |
|
|
91
144
|
| Claude Code | `bivy run claude` | Bundled SDK |
|
|
92
145
|
| Codex | `bivy run codex` | Installs `@openai/codex` |
|
|
93
|
-
| OpenCode | `bivy run opencode` | Installs `opencode-ai
|
|
146
|
+
| OpenCode | `bivy run opencode` | Installs `opencode-ai` |
|
|
94
147
|
| Gemini CLI | `bivy run gemini` | Installs `@google/gemini-cli` |
|
|
95
148
|
| Qwen Code | `bivy run qwen` | Installs `@qwen-code/qwen-code` |
|
|
96
149
|
| Goose | `bivy run goose` | Requires `goose` on PATH |
|
|
@@ -154,7 +207,7 @@ If you want to be asked about more, set the mode explicitly:
|
|
|
154
207
|
|
|
155
208
|
```bash
|
|
156
209
|
BIVY_APPROVAL_MODE=risky # prompt on risky shell commands and file edits
|
|
157
|
-
BIVY_APPROVAL_MODE=always # prompt on
|
|
210
|
+
BIVY_APPROVAL_MODE=always # prompt on all shell commands and file edits
|
|
158
211
|
BIVY_APPROVAL_MODE=never # no prompts beyond the hard floor
|
|
159
212
|
```
|
|
160
213
|
|
|
@@ -178,8 +231,9 @@ bivy secrets ref github.repo-token op://Bivy/GitHub/repo-token
|
|
|
178
231
|
bivy secrets doctor
|
|
179
232
|
```
|
|
180
233
|
|
|
181
|
-
`secret://`, `env://`, and `op://` (1Password) references are resolved
|
|
182
|
-
daemon
|
|
234
|
+
`secret://`, `env://`, and `op://` (1Password) references are resolved on demand
|
|
235
|
+
when the daemon provisions an agent run, so the raw values never sit in your
|
|
236
|
+
config. See [`docs/key-management.md`](docs/key-management.md).
|
|
183
237
|
|
|
184
238
|
## GitHub work queue
|
|
185
239
|
|
|
@@ -237,14 +291,30 @@ See [`CONTRIBUTING.md`](CONTRIBUTING.md).
|
|
|
237
291
|
|
|
238
292
|
## Self-hosting
|
|
239
293
|
|
|
240
|
-
Node, relay, and control plane are all in this repository
|
|
241
|
-
|
|
294
|
+
Node, relay, and control plane are all in this repository. Point a node at your
|
|
295
|
+
own deployment by passing URLs to `bivy relay:setup` — re-running it switches an
|
|
296
|
+
existing node over to the new endpoints:
|
|
242
297
|
|
|
243
298
|
```bash
|
|
244
|
-
bivy relay:setup
|
|
245
|
-
|
|
299
|
+
bivy relay:setup \
|
|
300
|
+
--control-plane https://bivy.example.com \
|
|
301
|
+
--relay wss://relay.example.com
|
|
246
302
|
```
|
|
247
303
|
|
|
304
|
+
Each URL has a flag and an environment-variable equivalent (the flag wins):
|
|
305
|
+
|
|
306
|
+
| Flag | Environment variable | Points at | Default |
|
|
307
|
+
|---|---|---|---|
|
|
308
|
+
| `--control-plane <url>` | `BIVY_CONTROL_PLANE_URL` | accounts, node registry, and the web-app API | hosted (`app.bivy.sh`) |
|
|
309
|
+
| `--relay <wss-url>` | `BIVY_RELAY_URL` | the encrypted-frame relay your node dials out to | hosted |
|
|
310
|
+
| `--client <url>` | `BIVY_CLIENT_BASE_URL` | base URL used when building app/PWA links | the `--control-plane` URL |
|
|
311
|
+
|
|
312
|
+
Sign-in defaults to GitHub device login (`--github`); pass
|
|
313
|
+
`--email you@example.com` for an email magic-link, or `--session-token <token>`
|
|
314
|
+
to skip interactive sign-in. `relay:setup` checks the control plane is reachable, enrolls
|
|
315
|
+
this node, and writes the endpoints to `.bivy/relay.json`, so `bivy open`,
|
|
316
|
+
`bivy link`, and `bivy update` all keep using your deployment afterwards.
|
|
317
|
+
|
|
248
318
|
**Self-hosting is unsupported** — no SLA, community best-effort via GitHub
|
|
249
319
|
issues. You own TLS, backups, upgrades, and hardening. See
|
|
250
320
|
[`docs/self-host.md`](docs/self-host.md).
|
package/package.json
CHANGED