nebula-ai 0.0.13 → 0.0.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.
Files changed (2) hide show
  1. package/README.md +83 -12
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -18,8 +18,28 @@ npx nebula-ai # interactive TUI
18
18
  npx nebula-ai chat "summarize the open issues in repo X"
19
19
  ```
20
20
 
21
+ At login you pick where the auth token lives — your **system keychain** (recommended; uses `Bun.secrets` → macOS Keychain / Windows Credential Manager / libsecret) or a **local file** at `~/.nebula/.auth-token` (0600). Keychain failures fall back transparently to the file store so you never lose a session you just authenticated.
22
+
21
23
  **Supported platforms:** macOS (arm64, x64), Linux (x64, arm64), Windows (x64).
22
24
 
25
+ ## Install via Homebrew
26
+
27
+ macOS and Linux users can also install through a managed Homebrew tap — same native binary, no Node dependency, landed straight on `$PATH`:
28
+
29
+ ```sh
30
+ brew install agent-labs-dev/nebula/nebula-ai
31
+
32
+ # or tap first, then install:
33
+ brew tap agent-labs-dev/nebula
34
+ brew install nebula-ai
35
+
36
+ brew upgrade nebula-ai
37
+ ```
38
+
39
+ The Homebrew channel ships prod releases only. Dev builds remain on npm — install with `npm i -g nebula-ai@dev` (or `npx nebula-ai@dev`). Windows users: use `npx nebula-ai` as shown above.
40
+
41
+ If you've installed via both `brew` and `npm i -g`, whichever prefix appears first on your `PATH` wins — this is normal for multi-source CLIs.
42
+
23
43
  ## Interactive TUI
24
44
 
25
45
  The TUI gives you a full dashboard with agents, channels, and settings — all navigable from the keyboard.
@@ -29,21 +49,62 @@ The TUI gives you a full dashboard with agents, channels, and settings — all n
29
49
  - **Ctrl+K command palette** — jump to any agent, channel, or settings page instantly. Start typing to filter, or create channels and send messages directly from the palette.
30
50
  - **Tab / Shift+Tab** — cycle between Agents, Channels, and Settings sections on the home screen.
31
51
  - **@ / #** — jump directly to the Agents or Channels section.
52
+ - **Vim-style motion** — `j`/`k` up/down, `h`/`Esc` back, `l`/`Enter` open. Works everywhere lists are rendered.
53
+ - **Tab bar** — `h`/`l` switch between open tabs, `x` closes the current tab.
54
+ - **Status bar** — always-on mode badge (`NAV` / `INSERT` / `HITL` / `FIND`), breadcrumb, contextual key hints, and a live connection indicator.
55
+ - **q** from any navigation-mode screen exits cleanly.
32
56
 
33
57
  ### Chat
34
58
 
35
59
  - **Markdown rendering** — agent responses display bold, italic, inline code, headings, and clickable links.
36
- - **Per-channel model selection** — press `m` in any DM or channel to switch the AI model for that conversation. A global default model can be set in Settings.
37
- - **File attachments** — drag and drop files from your file manager into the chat input. Files appear as chips above the message area and are sent with your next message.
38
- - **Activity log** — tool calls and execution details are surfaced inline in chat, with a keystroke to open the full activity log for a completed turn.
39
- - **Interactive prompts** — when an agent asks a multi-choice question, it renders as a widget with option descriptions, number-key shortcuts (1–9), and an "Other" free-text fallback.
60
+ - **Per-channel model selection** — press `m` in any DM or channel to open the model picker. Verified and experimental model lists are surfaced separately; a global default model can be set in Settings.
61
+ - **File attachments** — drag and drop files from your file manager into the chat input. Files appear as chips above the message area and are sent with your next message. When the local device daemon is running, files are delivered through the sandbox instead of being uploaded to the cloud.
62
+ - **Activity log** — tool calls and execution details are surfaced inline in chat, with `Enter` on a completed turn opening the full activity log.
63
+ - **Entity navigation** — press `Tab` on a selected message to cycle through referenced agents, triggers, files, and skills; `Enter` opens the detail view.
64
+ - **Message history** — press `↑` from an empty input (or `k` in navigation mode) to scroll back through previous turns.
65
+ - **Interactive prompts (HITL)** — when an agent asks a multi-choice question or requests plan approval, it renders as a widget with option descriptions, number-key shortcuts (1–9), and an "Other" free-text fallback.
66
+ - **Archive** — press `Shift+A` in any channel to archive it with a confirm prompt.
67
+ - **Refresh** — press `Shift+R` to pull the latest state for the current view.
40
68
  - **Auto-focus input** — configurable in Settings. When disabled, chats open in navigation mode; press `i` to start typing.
41
69
 
42
70
  ### Workspace & session
43
71
 
44
72
  - **Multi-tab workspace** — tabs dynamically resize to your terminal width and scroll horizontally when they overflow.
45
73
  - **Instant tab switching** — previously visited screens load from cache while fresh data is fetched in the background (stale-while-revalidate).
46
- - **Session restore** — enable in Settings to automatically reopen your tabs and navigation state when you restart the CLI.
74
+ - **Session restore** — enable in Settings to automatically reopen your tabs and navigation state when you restart the CLI. Session state is also flushed on clean Ctrl+C / SIGTERM.
75
+
76
+ ### Theming
77
+
78
+ Sixteen base16 color themes ship in the box: `default-dark`, `monokai`, `ocean`, `eighties`, `gruvbox`, `solarized`, `tokyo-night`, `dracula`, `nord`, `onedark`, `catppuccin`, `rose-pine`, `kanagawa`, `everforest`, `night-owl`, `material`. Cycle through them from **Settings → Configuration** (press `Enter` on the Theme row), or set a fixed value from the CLI:
79
+
80
+ ```sh
81
+ npx nebula-ai user config set theme tokyo-night
82
+ ```
83
+
84
+ ### Settings
85
+
86
+ Reachable from the home screen (`Settings` row) or the command palette:
87
+
88
+ - **Profile & Account** — username, email, display name.
89
+ - **Default Model** — global LLM fallback for new chats.
90
+ - **Local Device** — daemon status, start/stop/restart controls, device ID.
91
+ - **Mounted Folders** — add/remove host folders that are mounted into the sandbox.
92
+ - **Files** — browse and manage files stored on the platform.
93
+ - **Configuration** — theme, color, verbose, auto-focus, session restore, telemetry.
94
+
95
+ ## Local device & sandbox
96
+
97
+ For long-running tasks, agents can execute code on your own machine inside a managed microVM sandbox (powered by [Boxlite](https://boxlite.ai)). The sandbox is isolated from your host but can optionally mount folders you choose as read-write or read-only.
98
+
99
+ ```sh
100
+ npx nebula-ai install # install and start the background daemon
101
+ npx nebula-ai local-device status # check daemon state
102
+ npx nebula-ai local-device folders add ~/code/my-project
103
+ npx nebula-ai shell # open an interactive shell inside the sandbox
104
+ npx nebula-ai uninstall # remove the daemon (use --keep-data to keep config/logs)
105
+ ```
106
+
107
+ The daemon is installed as a native OS service — **launchd** on macOS, **systemd --user** on Linux, **Task Scheduler** on Windows — and runs under your user account so there's no root prompt. The sandbox image is pre-pulled during install so the first real RPC doesn't block on a download.
47
108
 
48
109
  ## CLI commands
49
110
 
@@ -52,21 +113,26 @@ The same surface is available from the command line:
52
113
  - `chat` — send a message to an agent (`-a/--agent`, `-c/--channel`, `--no-stream`).
53
114
  - `channels` — list, create, get, delete, archive, unarchive, share, update, and view messages in conversation threads.
54
115
  - `agents` — list, create, update, delete, enable/disable, view logs/errors, manage triggers, and attach/detach skills.
55
- - `user` — profile, billing, files, variables (including secrets), and local config.
56
- - `user config` — list, get, set, and reset configuration values; list available AI models.
116
+ - `user` — profile, account, and platform-side resources.
117
+ - `user update` — change username or display name.
118
+ - `user config` — list, get, set, and reset CLI configuration values; list available AI models.
57
119
  - `user variables` — manage global or agent-scoped variables and secrets.
58
120
  - `user billing` — check balance, view transaction history, and configure auto top-up.
59
121
  - `user files` — upload, download, list, share, and manage files and folders.
60
- - `status` — current CLI and device state.
122
+ - `user devices` — manage your cloud sandbox device (info, start, stop, rename, visibility, file browse/search, and long-running services: create, start, stop, logs).
123
+ - `local-device` — manage the on-host daemon (status, logs, start, stop, restart, folders add/remove).
124
+ - `install` / `uninstall` — set up or tear down the on-host daemon as a background service.
125
+ - `shell` — open an interactive shell inside the local sandbox VM (`--shell <path>` to pick a different binary).
126
+ - `status` — current CLI, auth, daemon, device, and folder state.
61
127
  - `login` / `logout` — authenticate or clear stored credentials.
62
128
 
63
- Every command supports `--json` for machine-readable output, `-v/--verbose` for extra detail, and `--no-color` to disable ANSI styling.
129
+ Every command supports `--json` for machine-readable output, `-v/--verbose` for extra detail, `--no-color` to disable ANSI styling, and `--api-url <url>` to point at a non-default backend.
64
130
 
65
131
  ## Privacy and telemetry
66
132
 
67
133
  The CLI collects anonymized usage analytics (via PostHog) to help improve the product. You can opt out at any time:
68
134
 
69
- - Toggle telemetry off in the TUI under **Settings > Configuration**
135
+ - Toggle telemetry off in the TUI under **Settings → Configuration**
70
136
  - From the CLI: `npx nebula-ai user config set telemetry false`
71
137
  - Or set `DO_NOT_TRACK=1` (or `NEBULA_DO_NOT_TRACK=1`) in your environment
72
138
 
@@ -76,8 +142,13 @@ No events are sent when telemetry is disabled.
76
142
 
77
143
  | Path / variable | Purpose |
78
144
  |---|---|
79
- | `~/.config/nebula-cli/` | Stored auth session and CLI settings. |
80
- | `~/.cache/nebula-ai/` | Cached prebuilt binary. |
145
+ | `~/.nebula/` | Stored auth session, CLI settings, sandbox data, daemon logs. |
146
+ | `~/.cache/nebula-ai/` | Cached prebuilt binary (per-version, per-platform). |
147
+ | `NEBULA_HOME` | Override the `~/.nebula` home directory. |
81
148
  | `NEBULA_AI_CACHE_DIR` | Override the binary cache location. |
82
149
  | `NEBULA_AI_DOWNLOAD_BASE` | Use an alternate mirror for the prebuilt binary download (useful behind restrictive firewalls). |
150
+ | `NEBULA_AI_NO_UPDATE_CHECK` | Set to `1` to suppress the daily update check. Already suppressed under `npx`, CI, or a non-TTY stderr. |
151
+ | `API_URL` | Override the Nebula API base URL (alternative to the `--api-url` flag). |
152
+ | `NEBULA_AUTH_TOKEN` | Use a pre-minted auth token instead of the stored credential. Scripting / CI escape hatch — takes precedence over both keychain and file stores. |
153
+ | `NEBULA_DEBUG` / `DEBUG=nebula-cli` | Enable verbose logging (same effect as `-v/--verbose`). |
83
154
  | `DO_NOT_TRACK` / `NEBULA_DO_NOT_TRACK` | Set to `1` to disable product telemetry. |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nebula-ai",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "description": "CLI/TUI for the nebula.gg AI task orchestration platform",
5
5
  "type": "module",
6
6
  "bin": {