bazilion 0.0.0 → 0.1.0
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 +53 -152
- package/dist/cli.js +2730 -0
- package/dist/cli.js.map +1 -0
- package/dist/daemon.js +5888 -0
- package/dist/daemon.js.map +1 -0
- package/dist/worker.js +1830 -0
- package/dist/worker.js.map +1 -0
- package/package.json +57 -28
- package/.understand-anything/.understandignore +0 -25
- package/.understand-anything/fingerprints.json +0 -14267
- package/.understand-anything/knowledge-graph.json +0 -18128
- package/.understand-anything/meta.json +0 -6
- package/CLAUDE.md +0 -164
- package/apps/cli/package.json +0 -21
- package/apps/cli/src/auth-file.ts +0 -18
- package/apps/cli/src/client.ts +0 -37
- package/apps/cli/src/columnize.ts +0 -32
- package/apps/cli/src/commands/agent.ts +0 -574
- package/apps/cli/src/commands/auth.ts +0 -110
- package/apps/cli/src/commands/backup.ts +0 -135
- package/apps/cli/src/commands/completion.ts +0 -155
- package/apps/cli/src/commands/config.ts +0 -95
- package/apps/cli/src/commands/doctor.ts +0 -131
- package/apps/cli/src/commands/group.ts +0 -132
- package/apps/cli/src/commands/inbox.ts +0 -82
- package/apps/cli/src/commands/login.ts +0 -73
- package/apps/cli/src/commands/memory.ts +0 -106
- package/apps/cli/src/commands/profile.ts +0 -259
- package/apps/cli/src/commands/provider.ts +0 -170
- package/apps/cli/src/commands/send.ts +0 -24
- package/apps/cli/src/commands/serve.ts +0 -89
- package/apps/cli/src/commands/skill.ts +0 -120
- package/apps/cli/src/commands/token.ts +0 -148
- package/apps/cli/src/commands/trigger.ts +0 -129
- package/apps/cli/src/commands/uninstall.ts +0 -156
- package/apps/cli/src/index.ts +0 -196
- package/apps/cli/src/paths.ts +0 -12
- package/apps/cli/test/agent.test.ts +0 -213
- package/apps/cli/test/backup.test.ts +0 -95
- package/apps/cli/test/chat.test.ts +0 -539
- package/apps/cli/test/columnize.test.ts +0 -29
- package/apps/cli/test/completion.test.ts +0 -45
- package/apps/cli/test/config-page.test.ts +0 -151
- package/apps/cli/test/group.test.ts +0 -74
- package/apps/cli/test/helpers.ts +0 -70
- package/apps/cli/test/inbox-autodeliver.test.ts +0 -143
- package/apps/cli/test/inbox.test.ts +0 -147
- package/apps/cli/test/memory.test.ts +0 -69
- package/apps/cli/test/profile.test.ts +0 -110
- package/apps/cli/test/send.test.ts +0 -30
- package/apps/cli/test/server-fixture.ts +0 -212
- package/apps/cli/test/session-head.test.ts +0 -45
- package/apps/cli/test/skill.test.ts +0 -128
- package/apps/cli/test/token.test.ts +0 -109
- package/apps/cli/test/trigger.test.ts +0 -245
- package/apps/cli/tsconfig.json +0 -4
- package/apps/daemon/package.json +0 -31
- package/apps/daemon/src/app.ts +0 -41
- package/apps/daemon/src/core/agent/archive.ts +0 -8
- package/apps/daemon/src/core/agent/delete.ts +0 -30
- package/apps/daemon/src/core/agent/resolve.ts +0 -31
- package/apps/daemon/src/core/agent/spawn.ts +0 -95
- package/apps/daemon/src/core/agent/unarchive.ts +0 -11
- package/apps/daemon/src/core/availableModels.ts +0 -58
- package/apps/daemon/src/core/db/client.ts +0 -113
- package/apps/daemon/src/core/db/migrate.ts +0 -41
- package/apps/daemon/src/core/db/migrations/0001_init.sql +0 -179
- package/apps/daemon/src/core/group/delete.ts +0 -21
- package/apps/daemon/src/core/group/register.ts +0 -68
- package/apps/daemon/src/core/index.ts +0 -71
- package/apps/daemon/src/core/paths.ts +0 -56
- package/apps/daemon/src/core/profile/create.ts +0 -78
- package/apps/daemon/src/core/profile/delete.ts +0 -26
- package/apps/daemon/src/core/profile/identity.ts +0 -70
- package/apps/daemon/src/core/profile/load.ts +0 -45
- package/apps/daemon/src/core/profile/seed.ts +0 -74
- package/apps/daemon/src/core/profile/templates.ts +0 -60
- package/apps/daemon/src/core/profile/update.ts +0 -57
- package/apps/daemon/src/core/profile/validate.ts +0 -9
- package/apps/daemon/src/core/repos/agents.ts +0 -202
- package/apps/daemon/src/core/repos/config.ts +0 -78
- package/apps/daemon/src/core/repos/groups.ts +0 -55
- package/apps/daemon/src/core/repos/messages.ts +0 -127
- package/apps/daemon/src/core/repos/profiles.ts +0 -83
- package/apps/daemon/src/core/repos/providerModels.ts +0 -58
- package/apps/daemon/src/core/repos/providerState.ts +0 -37
- package/apps/daemon/src/core/repos/secrets.ts +0 -145
- package/apps/daemon/src/core/repos/skillMeta.ts +0 -49
- package/apps/daemon/src/core/repos/triggers.ts +0 -101
- package/apps/daemon/src/core/repos/webTokens.ts +0 -87
- package/apps/daemon/src/core/secrets.ts +0 -65
- package/apps/daemon/src/core/services.ts +0 -264
- package/apps/daemon/src/core/skills/discover.ts +0 -28
- package/apps/daemon/src/core/skills/import.ts +0 -136
- package/apps/daemon/src/core/skills/parse.ts +0 -52
- package/apps/daemon/src/core/skills/resolve.ts +0 -50
- package/apps/daemon/src/index.ts +0 -45
- package/apps/daemon/src/lib/agent-cancel.ts +0 -48
- package/apps/daemon/src/lib/agent-id.ts +0 -13
- package/apps/daemon/src/lib/agent-turn.ts +0 -56
- package/apps/daemon/src/lib/api-key.ts +0 -56
- package/apps/daemon/src/lib/auth.ts +0 -41
- package/apps/daemon/src/lib/cron.ts +0 -93
- package/apps/daemon/src/lib/ctx.ts +0 -80
- package/apps/daemon/src/lib/messaging-host.ts +0 -34
- package/apps/daemon/src/lib/middleware-auth.ts +0 -52
- package/apps/daemon/src/lib/scheduler.ts +0 -294
- package/apps/daemon/src/routes/agents.ts +0 -772
- package/apps/daemon/src/routes/auth-login.ts +0 -193
- package/apps/daemon/src/routes/config.ts +0 -267
- package/apps/daemon/src/routes/groups.ts +0 -133
- package/apps/daemon/src/routes/messages.ts +0 -29
- package/apps/daemon/src/routes/misc.ts +0 -239
- package/apps/daemon/src/routes/profiles.ts +0 -197
- package/apps/daemon/src/routes/skills.ts +0 -123
- package/apps/daemon/src/routes/triggers.ts +0 -29
- package/apps/daemon/src/runtime/auth/openai-codex.ts +0 -121
- package/apps/daemon/src/runtime/auto-reply/heartbeat.ts +0 -31
- package/apps/daemon/src/runtime/index.ts +0 -77
- package/apps/daemon/src/runtime/memory/files.ts +0 -103
- package/apps/daemon/src/runtime/memory/qmd.ts +0 -152
- package/apps/daemon/src/runtime/memory/types.ts +0 -16
- package/apps/daemon/src/runtime/pi/events.ts +0 -173
- package/apps/daemon/src/runtime/pi/session.ts +0 -536
- package/apps/daemon/src/runtime/pi/tools.ts +0 -85
- package/apps/daemon/src/runtime/providers/catalog.ts +0 -145
- package/apps/daemon/src/runtime/providers/pi-adapter.ts +0 -272
- package/apps/daemon/src/runtime/providers/registry.ts +0 -374
- package/apps/daemon/src/runtime/providers/retry.ts +0 -176
- package/apps/daemon/src/runtime/providers/types.ts +0 -33
- package/apps/daemon/src/runtime/session/prompt.ts +0 -83
- package/apps/daemon/src/runtime/tools/bootstrap.ts +0 -22
- package/apps/daemon/src/runtime/tools/home.ts +0 -114
- package/apps/daemon/src/runtime/tools/memory.ts +0 -81
- package/apps/daemon/src/runtime/tools/messaging.ts +0 -127
- package/apps/daemon/src/runtime/tools/registry.ts +0 -29
- package/apps/daemon/src/runtime/tools/types.ts +0 -13
- package/apps/daemon/src/runtime/tools/web-extract.ts +0 -110
- package/apps/daemon/src/runtime/tools/web-ssrf.ts +0 -245
- package/apps/daemon/src/runtime/tools/web.ts +0 -273
- package/apps/daemon/src/runtime/worker/entry.ts +0 -221
- package/apps/daemon/src/runtime/worker/ipc-protocol.ts +0 -75
- package/apps/daemon/src/runtime/worker/spawn.ts +0 -249
- package/apps/daemon/test/core/agents.test.ts +0 -319
- package/apps/daemon/test/core/available-models.test.ts +0 -63
- package/apps/daemon/test/core/config.test.ts +0 -99
- package/apps/daemon/test/core/groups.test.ts +0 -63
- package/apps/daemon/test/core/helpers.ts +0 -50
- package/apps/daemon/test/core/identity.test.ts +0 -85
- package/apps/daemon/test/core/migrations.test.ts +0 -83
- package/apps/daemon/test/core/profiles.test.ts +0 -182
- package/apps/daemon/test/core/provider-models.test.ts +0 -57
- package/apps/daemon/test/core/provider-state.test.ts +0 -36
- package/apps/daemon/test/core/skill-meta.test.ts +0 -45
- package/apps/daemon/test/core/skills.test.ts +0 -271
- package/apps/daemon/test/core/triggers.test.ts +0 -182
- package/apps/daemon/test/core/web-tokens.test.ts +0 -79
- package/apps/daemon/test/cron.test.ts +0 -90
- package/apps/daemon/test/runtime/heartbeat.test.ts +0 -34
- package/apps/daemon/test/runtime/memory-qmd.test.ts +0 -97
- package/apps/daemon/test/runtime/memory.test.ts +0 -78
- package/apps/daemon/test/runtime/messaging.test.ts +0 -213
- package/apps/daemon/test/runtime/mock-server.ts +0 -65
- package/apps/daemon/test/runtime/openai-codex-auth.test.ts +0 -116
- package/apps/daemon/test/runtime/providers.test.ts +0 -306
- package/apps/daemon/test/runtime/retry.test.ts +0 -191
- package/apps/daemon/test/runtime/session-head.test.ts +0 -90
- package/apps/daemon/test/runtime/tools-home.test.ts +0 -102
- package/apps/daemon/test/runtime/tools-web.test.ts +0 -206
- package/apps/daemon/tsconfig.json +0 -4
- package/apps/mobile/README.md +0 -60
- package/apps/mobile/app/_layout.tsx +0 -58
- package/apps/mobile/app/agents/[id]/chat.tsx +0 -486
- package/apps/mobile/app/agents/[id]/index.tsx +0 -166
- package/apps/mobile/app/agents/index.tsx +0 -212
- package/apps/mobile/app/index.tsx +0 -21
- package/apps/mobile/app/pair.tsx +0 -226
- package/apps/mobile/app/settings.tsx +0 -419
- package/apps/mobile/app.json +0 -49
- package/apps/mobile/assets/adaptive-icon.png +0 -0
- package/apps/mobile/assets/favicon.png +0 -0
- package/apps/mobile/assets/icon.png +0 -0
- package/apps/mobile/assets/splash-icon.png +0 -0
- package/apps/mobile/babel.config.js +0 -6
- package/apps/mobile/metro.config.js +0 -28
- package/apps/mobile/package.json +0 -44
- package/apps/mobile/src/auth.ts +0 -66
- package/apps/mobile/src/pair-url.ts +0 -48
- package/apps/mobile/src/theme-context.tsx +0 -88
- package/apps/mobile/src/theme.ts +0 -135
- package/apps/mobile/test/pair-url.test.ts +0 -46
- package/apps/mobile/tsconfig.json +0 -23
- package/apps/web/components.json +0 -25
- package/apps/web/package.json +0 -39
- package/apps/web/public/baziu.svg +0 -8
- package/apps/web/src/components/AgentTabs.tsx +0 -45
- package/apps/web/src/components/BaziuLogo.tsx +0 -21
- package/apps/web/src/components/ChatPane.tsx +0 -1033
- package/apps/web/src/components/ConfigTabs.tsx +0 -29
- package/apps/web/src/components/CopyButton.tsx +0 -68
- package/apps/web/src/components/CreateGroupDialog.tsx +0 -127
- package/apps/web/src/components/FieldRow.tsx +0 -94
- package/apps/web/src/components/Footer.tsx +0 -10
- package/apps/web/src/components/PawIcon.tsx +0 -15
- package/apps/web/src/components/Sidebar.tsx +0 -287
- package/apps/web/src/components/SpawnDialog.tsx +0 -129
- package/apps/web/src/components/ThemeToggle.tsx +0 -75
- package/apps/web/src/components/TopNav.tsx +0 -34
- package/apps/web/src/components/ui/button.tsx +0 -67
- package/apps/web/src/components/ui/card.tsx +0 -103
- package/apps/web/src/components/ui/checkbox.tsx +0 -31
- package/apps/web/src/components/ui/dialog.tsx +0 -168
- package/apps/web/src/components/ui/input.tsx +0 -19
- package/apps/web/src/components/ui/label.tsx +0 -22
- package/apps/web/src/components/ui/radio-group.tsx +0 -44
- package/apps/web/src/components/ui/select.tsx +0 -192
- package/apps/web/src/components/ui/separator.tsx +0 -26
- package/apps/web/src/components/ui/table.tsx +0 -116
- package/apps/web/src/components/ui/tabs.tsx +0 -88
- package/apps/web/src/components/ui/textarea.tsx +0 -18
- package/apps/web/src/lib/auth.ts +0 -50
- package/apps/web/src/lib/daemon-client.ts +0 -34
- package/apps/web/src/lib/md.ts +0 -45
- package/apps/web/src/lib/utils.ts +0 -6
- package/apps/web/src/lib/wire-constants.ts +0 -27
- package/apps/web/src/routeTree.gen.ts +0 -408
- package/apps/web/src/router.tsx +0 -20
- package/apps/web/src/routes/__root.tsx +0 -123
- package/apps/web/src/routes/agents/$id/inbox.tsx +0 -207
- package/apps/web/src/routes/agents/$id/index.tsx +0 -527
- package/apps/web/src/routes/agents/$id/triggers.tsx +0 -239
- package/apps/web/src/routes/agents/index.tsx +0 -265
- package/apps/web/src/routes/api/$.ts +0 -88
- package/apps/web/src/routes/config/index.tsx +0 -315
- package/apps/web/src/routes/config/services.tsx +0 -49
- package/apps/web/src/routes/config/tokens.tsx +0 -192
- package/apps/web/src/routes/groups/$id/index.tsx +0 -153
- package/apps/web/src/routes/groups/$id/memory.tsx +0 -321
- package/apps/web/src/routes/groups/index.tsx +0 -191
- package/apps/web/src/routes/index.tsx +0 -133
- package/apps/web/src/routes/login.tsx +0 -63
- package/apps/web/src/routes/profiles/$id.tsx +0 -549
- package/apps/web/src/routes/profiles/index.tsx +0 -458
- package/apps/web/src/routes/skills/index.tsx +0 -297
- package/apps/web/src/routes/welcome.tsx +0 -61
- package/apps/web/src/styles.css +0 -449
- package/apps/web/tsconfig.json +0 -25
- package/apps/web/vite.config.ts +0 -25
- package/biome.json +0 -23
- package/docs/agent-engine.md +0 -219
- package/docs/architecture.md +0 -627
- package/docs/backlog/README.md +0 -42
- package/docs/backlog/draft/BAZ-001-a2a-federation-spike.md +0 -125
- package/docs/openclaw-reference.md +0 -210
- package/packages/api-types/package.json +0 -11
- package/packages/api-types/src/entities.ts +0 -146
- package/packages/api-types/src/events.ts +0 -55
- package/packages/api-types/src/index.ts +0 -488
- package/packages/api-types/src/memory.ts +0 -15
- package/packages/client/package.json +0 -13
- package/packages/client/src/index.ts +0 -117
- package/pnpm-workspace.yaml +0 -3
- package/tsconfig.base.json +0 -23
- package/tsconfig.json +0 -11
- package/vitest.config.ts +0 -22
package/README.md
CHANGED
|
@@ -1,195 +1,96 @@
|
|
|
1
1
|
# bazilion
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Multi-agent runtime CLI — spawn LLM agents, manage profiles/groups/skills, and run the local daemon.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/bazilion) [](https://github.com/rullopat/bazilion/blob/main/LICENSE)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
> Alpha. APIs may change between 0.x releases.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Install
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Requires **Node 24 or newer**.
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
npx bazilion serve # one-shot
|
|
15
|
+
# or install globally
|
|
16
|
+
npm install -g bazilion
|
|
17
|
+
bazilion serve
|
|
18
|
+
```
|
|
12
19
|
|
|
13
20
|
## Quickstart
|
|
14
21
|
|
|
15
22
|
```sh
|
|
16
|
-
#
|
|
17
|
-
pnpm install
|
|
18
|
-
|
|
19
|
-
# Start the daemon — on first run it auto-bootstraps ~/.bazilion
|
|
23
|
+
# Start the daemon — auto-bootstraps ~/.bazilion on first run
|
|
20
24
|
# (creates dirs, runs migrations, mints the bootstrap token, writes auth.json).
|
|
21
|
-
|
|
22
|
-
pnpm tsx apps/cli/src/index.ts serve
|
|
23
|
-
|
|
24
|
-
# In another terminal, start the web UI (Vite dev server on 4322)
|
|
25
|
-
cd apps/web && pnpm dev
|
|
26
|
-
# → http://127.0.0.1:4322 — paste the bootstrap token to log in
|
|
25
|
+
bazilion serve
|
|
27
26
|
```
|
|
28
27
|
|
|
29
|
-
|
|
28
|
+
The daemon prints a bootstrap token before binding `127.0.0.1:4321`. CLI commands pick it up automatically from `~/.bazilion/auth.json`.
|
|
30
29
|
|
|
31
|
-
From
|
|
30
|
+
From another terminal:
|
|
32
31
|
|
|
33
32
|
```sh
|
|
34
|
-
#
|
|
35
|
-
|
|
33
|
+
# Set up a provider (env var, or `bazilion config set` to persist it).
|
|
34
|
+
export ANTHROPIC_API_KEY=sk-ant-...
|
|
35
|
+
bazilion provider enable anthropic
|
|
36
|
+
bazilion provider models anthropic claude-sonnet-4-6
|
|
36
37
|
|
|
37
|
-
#
|
|
38
|
-
|
|
38
|
+
# Spawn an agent from the default profile and chat with it.
|
|
39
|
+
bazilion agent spawn --profile default --name first
|
|
39
40
|
# → spawned agent <uuid> (first)
|
|
40
41
|
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
bazilion agent chat <uuid> # interactive REPL
|
|
43
|
+
bazilion agent chat <uuid> --message "say hi" # one-shot
|
|
43
44
|
```
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
## CLI commands
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
bazilion serve [--port N] [--host H] # boot the daemon (auto-bootstraps on first run; HTTP API on 4321)
|
|
51
|
-
bazilion uninstall [--yes] [--all] # wipe state (two-tier: data vs full)
|
|
52
|
-
bazilion doctor # diagnose your install
|
|
53
|
-
bazilion auth openai login|logout|status # ChatGPT OAuth (Plus/Pro/Team accounts)
|
|
54
|
-
bazilion profile create|list|show|edit|update|delete # manage profile templates
|
|
55
|
-
bazilion group add|list|rm # register groups (always under ~/.bazilion/groups/<slug>/)
|
|
56
|
-
bazilion group user-md show|set|clear # per-group USER.md (read-only to agents)
|
|
57
|
-
bazilion agent spawn|list|show|archive|unarchive|delete # agent lifecycle
|
|
58
|
-
bazilion agent edit <id> [--model …] [--reasoning …] # patch agent settings
|
|
59
|
-
bazilion agent chat <id> [--message X] # interactive REPL or one-shot
|
|
60
|
-
bazilion agent cancel <id> # abort an in-flight turn
|
|
61
|
-
bazilion agent move <id> <group> # move an agent to a different group
|
|
62
|
-
bazilion agent skill add|rm <id> <name> # attach/detach a skill on an agent
|
|
63
|
-
bazilion agent chat-reset|chat-trim|chat-context|chat-compact <id>
|
|
64
|
-
bazilion skill list|import|rm # skill library (import --from openclaw)
|
|
65
|
-
bazilion memory write|read|search|list|rm <agent> # group-shared memory accessed via the agent
|
|
66
|
-
bazilion send <from> <to> <message> # mailbox send
|
|
67
|
-
bazilion inbox list|show|read # inspect agent inboxes
|
|
68
|
-
bazilion trigger add|list|rm|enable|disable # heartbeats / cron triggers
|
|
69
|
-
bazilion provider list|enable|disable|models|test # provider config + smoke test
|
|
70
|
-
bazilion config get|set # service config (URLs, IDs, secrets)
|
|
71
|
-
bazilion login --server URL --token T # save a remote daemon's coordinates
|
|
72
|
-
bazilion token create|list|revoke|show-local # web tokens for API/CLI clients
|
|
73
|
-
bazilion backup create [output.tar.gz] # tar ~/.bazilion to a file
|
|
74
|
-
bazilion backup restore <file.tar.gz> # extract a backup (stop the daemon first)
|
|
75
|
-
bazilion completion bash|zsh|fish # print a shell completion script
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Concepts
|
|
79
|
-
|
|
80
|
-
- **Profile** — a template (`SOUL.md`, `IDENTITY.md`, `AGENTS.md`, `TOOLS.md`, `HEARTBEAT.md`, optional `BOOTSTRAP.md`, default model, skills mode + default skills). Profiles are agent classes. `skillsMode: 'all'` attaches every installed skill at spawn, `'selected'` uses the curated `defaultSkills` list. The auto-seeded `default` profile uses `'all'` so a fresh install ships with every skill wired up; user-created profiles default to `'selected'`. Delete `default` freely if you'd rather only keep your own.
|
|
81
|
-
- **Group** — a collaboration context: one filesystem root, one USER.md, one roster, one shared memory. Every agent belongs to exactly one group, chosen at spawn time. The agent's coding tools (`read`/`bash`/`edit`/`write`/`grep`/`find`/`ls`, supplied by [pi-coding-agent](https://www.npmjs.com/package/@mariozechner/pi-coding-agent)) are rooted at the group directory. USER.md is read-only to agents — edit it via `bazilion group user-md set` or the web UI. First-run setup seeds a `default` group at `~/.bazilion/groups/default/`. Groups always live under `~/.bazilion/groups/<slug>/`; pass `--link <existing-path>` to `bazilion group add` to materialize the slot as a symlink to your existing project tree instead of as a fresh directory.
|
|
82
|
-
- **Agent** — an instance spawned from a profile into a group. Has a private home (`~/.bazilion/agents/<id>/` — its copy of the templates, plus pi's append-only session JSONL under `sessions/`) reachable via the `home_*` tools, and one group membership reachable via the coding tools. UUIDs as ids.
|
|
83
|
-
- **Skill** — a directory under `~/.bazilion/skills/<name>/` with a `SKILL.md` (standard OpenClaw / Anthropic agent-skill format). Imported via `bazilion skill import --from openclaw` (or any path). The body is injected into the system prompt of every agent the skill is attached to; helper scripts shipped alongside the markdown are invoked by the agent via its generic `bash` tool (no framework-level entrypoint and no trust gate — see CLAUDE.md for why we removed both).
|
|
84
|
-
- **Memory** — **group-shared** BM25 index rooted at `<groupPath>/memory/`. Every agent in the group reads + writes the same store. The current backend is `qmdBackend` (BM25 over markdown via [@tobilu/qmd](https://github.com/tobi/qmd)). Use it for project knowledge — codebase notes, decisions, things the user told you about the work; for personal notes about an agent (preferences, persona quirks), use `home_write` on `IDENTITY.md` instead.
|
|
85
|
-
- **Mailbox** — `messages` table. Agents talk to each other via `send_message` / `read_inbox` / `wait_for_reply` tools, via `bazilion send` from the CLI, or from outside the loop: `bazilion inbox list <agent> [--unread]`, `bazilion inbox show <id>`, `bazilion inbox read <id>`, or the web UI at `/agents/<id>/inbox`. The worker delegates these tool calls to the daemon over Node IPC — workers don't hold their own SQLite handle.
|
|
86
|
-
- **Trigger** — a heartbeat (interval in seconds) or cron expression that periodically wakes an agent with a stored message. An in-process scheduler ticks every 5 s (overridable via `BAZILION_SCHEDULER_TICK_MS`; disable with `BAZILION_SCHEDULER=off`) and fires due triggers through the same code path as user chat. Example: `bazilion trigger add <agent> --every 300 --message "check your inbox"`.
|
|
87
|
-
|
|
88
|
-
## Tree
|
|
89
|
-
|
|
90
|
-
```
|
|
91
|
-
bazilion/
|
|
92
|
-
├── docs/ # engineer-to-engineer references
|
|
93
|
-
│ ├── architecture.md # components, flows, invariants
|
|
94
|
-
│ └── agent-engine.md # the LLM turn loop, end to end
|
|
95
|
-
├── apps/
|
|
96
|
-
│ ├── cli/ # bazilion binary
|
|
97
|
-
│ ├── daemon/ # Hono HTTP API (booted by `bazilion serve`)
|
|
98
|
-
│ ├── web/ # TanStack Start UI (pairs with apps/daemon)
|
|
99
|
-
│ └── mobile/ # Expo / React Native app (LAN/Tailscale pairing)
|
|
100
|
-
└── packages/
|
|
101
|
-
├── api-types/ # hermetic HTTP/IPC wire types (zero deps)
|
|
102
|
-
└── client/ # cross-origin HTTP client used by CLI + mobile
|
|
103
|
-
```
|
|
46
|
+
Run `bazilion --help` for the full command list, or `bazilion <command> --help` for details on any subcommand.
|
|
104
47
|
|
|
105
|
-
|
|
48
|
+
## Web UI
|
|
106
49
|
|
|
107
|
-
|
|
50
|
+
The web UI lives in the [bazilion repo](https://github.com/rullopat/bazilion) under `apps/web` and is **not yet shipped in the npm package**. To run it alongside the daemon today:
|
|
108
51
|
|
|
109
52
|
```sh
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
pnpm
|
|
113
|
-
pnpm format # biome --write
|
|
53
|
+
git clone https://github.com/rullopat/bazilion
|
|
54
|
+
cd bazilion && pnpm install
|
|
55
|
+
cd apps/web && pnpm dev # http://127.0.0.1:4322
|
|
114
56
|
```
|
|
115
57
|
|
|
116
|
-
|
|
58
|
+
Bundling the web UI into `bazilion` is on the roadmap.
|
|
117
59
|
|
|
118
|
-
|
|
60
|
+
## ChatGPT (Plus/Pro/Team) OAuth
|
|
119
61
|
|
|
120
|
-
|
|
121
|
-
# CLI: runs the browser flow locally (loopback on :1455), then uploads the
|
|
122
|
-
# resulting credentials to the server. Works even against a remote bazilion.
|
|
123
|
-
bazilion auth openai login
|
|
124
|
-
bazilion auth openai status # connected? when does the access token expire?
|
|
125
|
-
bazilion auth openai logout # wipe stored credentials
|
|
126
|
-
|
|
127
|
-
# Web UI: /config has a "Connect ChatGPT" card that does the same thing, but
|
|
128
|
-
# spawns the browser on the server's machine (fine when you're local; use the
|
|
129
|
-
# CLI from a remote client).
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
After connecting, enable `openai-codex` on `/config` and curate at least one model (e.g. `gpt-5.1`, `gpt-5.1-codex-max`, `gpt-5.2-codex`, `gpt-5.3-codex`). Credentials are stored AES-256-GCM-encrypted in the daemon's `secrets` table (key derived from the bootstrap token in `auth.json`); the access token auto-refreshes via the stored refresh token.
|
|
133
|
-
|
|
134
|
-
## Uninstalling
|
|
62
|
+
Use your ChatGPT account instead of an API key to access `gpt-5.x` / `gpt-5.x-codex` models:
|
|
135
63
|
|
|
136
64
|
```sh
|
|
137
|
-
|
|
138
|
-
bazilion
|
|
139
|
-
|
|
140
|
-
# Non-interactive equivalents
|
|
141
|
-
bazilion uninstall --yes # wipe DB + agent/profile/group data only
|
|
142
|
-
bazilion uninstall --yes --all # also remove auth.json, logs/, skills/
|
|
65
|
+
bazilion auth openai login # browser flow on localhost:1455
|
|
66
|
+
bazilion auth openai status # check connection / token expiry
|
|
143
67
|
```
|
|
144
68
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
## Stack notes
|
|
69
|
+
After connecting, enable `openai-codex` and curate at least one model. Credentials are stored AES-256-GCM-encrypted in the daemon's `secrets` table.
|
|
148
70
|
|
|
149
|
-
|
|
150
|
-
- **Daemon owns the DB**: workers spawned per turn don't hold their own SQLite handle. Anything they need at request time (agent record, provider gate, secrets) is pre-resolved by the daemon and passed via stdin; live messaging tool calls (`send_message` / `read_inbox` / `wait_for_reply`) round-trip back to the daemon over Node IPC (the `'ipc'` channel on `child_process.spawn`).
|
|
151
|
-
- **Native modules**: qmd pulls `better-sqlite3` and a handful of tree-sitter grammars (small native compiles on install). `node-llama-cpp` is a qmd transitive dep but intentionally excluded from build in `pnpm.onlyBuiltDependencies` — qmd's BM25 search doesn't need it, and enabling it would require downloading multi-GB GGUF models.
|
|
152
|
-
- **Skills format**: standard agent-skill `SKILL.md` (YAML frontmatter with `name` / `description`, free-form body). OpenClaw skills drop in unchanged via `bazilion skill import --from openclaw`.
|
|
153
|
-
- **Session loop + coding tools**: [pi-coding-agent](https://www.npmjs.com/package/@mariozechner/pi-coding-agent) owns the per-turn agent loop, transcript storage (JSONL session files under `~/.bazilion/agents/<id>/sessions/`), compaction, and the file-IO toolset (`read`/`bash`/`edit`/`write`/`grep`/`find`/`ls`).
|
|
154
|
-
- **LLM providers**: routed through [pi-ai](https://www.npmjs.com/package/@mariozechner/pi-ai) — Anthropic, OpenAI, OpenAI Codex (ChatGPT OAuth), Google AI Studio, Google Vertex, Azure OpenAI, AWS Bedrock, Mistral, Groq, Cerebras, xAI, Z.AI, Hugging Face, OpenRouter, Vercel AI Gateway, LM Studio, Ollama. Model strings are `provider:model`.
|
|
71
|
+
## What's in the box
|
|
155
72
|
|
|
156
|
-
|
|
73
|
+
- **CLI + daemon**, both spawned via `bazilion serve`. The daemon binds `127.0.0.1:4321` and owns `~/.bazilion/` (SQLite DB, profiles, agents, groups, skills, logs).
|
|
74
|
+
- **17 subcommand families**: `agent`, `profile`, `group`, `skill`, `provider`, `config`, `auth`, `memory`, `send`, `inbox`, `trigger`, `serve`, `doctor`, `backup`, `token`, `login`, `uninstall`.
|
|
75
|
+
- **Provider support** via [pi-ai](https://www.npmjs.com/package/@mariozechner/pi-ai): Anthropic, OpenAI (key + ChatGPT OAuth), Google AI Studio + Vertex, Azure OpenAI, AWS Bedrock, Mistral, Groq, Cerebras, xAI, Z.AI, Hugging Face, OpenRouter, Vercel AI Gateway, LM Studio, Ollama.
|
|
76
|
+
- **OpenClaw-compatible skills**: drop a `SKILL.md` into `~/.bazilion/skills/<name>/`, or import in bulk via `bazilion skill import --from openclaw`.
|
|
157
77
|
|
|
158
|
-
|
|
78
|
+
## Uninstall
|
|
159
79
|
|
|
160
80
|
```sh
|
|
161
|
-
#
|
|
162
|
-
bazilion
|
|
163
|
-
|
|
164
|
-
# Mint a per-client token (plaintext shown exactly once — copy it now).
|
|
165
|
-
bazilion token create "laptop"
|
|
166
|
-
|
|
167
|
-
# On the client machine — stores the server + token in ~/.bazilion/auth.json.
|
|
168
|
-
bazilion login --server https://bazilion.example.com --token <token>
|
|
169
|
-
|
|
170
|
-
# Revoke when the client is lost or retired.
|
|
171
|
-
bazilion token list
|
|
172
|
-
bazilion token revoke <id>
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
Note: the bootstrap token (the row labelled `bootstrap`, written to `auth.json` by the daemon's first-run bootstrap) **cannot be revoked** from the API or web UI — revoking it would lock the local CLI out of its own daemon. Mint additional tokens for any other client.
|
|
176
|
-
|
|
177
|
-
Minimal Caddyfile (`caddy run --config Caddyfile`):
|
|
178
|
-
|
|
179
|
-
```
|
|
180
|
-
bazilion.example.com {
|
|
181
|
-
reverse_proxy 127.0.0.1:4321
|
|
182
|
-
}
|
|
81
|
+
bazilion uninstall # interactive: data wipe, then optional full wipe
|
|
82
|
+
bazilion uninstall --yes # data tier only (DB + profiles/agents/groups)
|
|
83
|
+
bazilion uninstall --yes --all # also remove auth.json, logs/, skills/
|
|
183
84
|
```
|
|
184
85
|
|
|
185
|
-
|
|
86
|
+
## Documentation
|
|
186
87
|
|
|
187
|
-
|
|
88
|
+
- Full README: <https://github.com/rullopat/bazilion#readme>
|
|
89
|
+
- Architecture: <https://github.com/rullopat/bazilion/blob/main/docs/architecture.md>
|
|
90
|
+
- Agent engine walkthrough: <https://github.com/rullopat/bazilion/blob/main/docs/agent-engine.md>
|
|
91
|
+
- Website: <https://bazilion.com>
|
|
92
|
+
- Issues: <https://github.com/rullopat/bazilion/issues>
|
|
188
93
|
|
|
189
|
-
##
|
|
94
|
+
## License
|
|
190
95
|
|
|
191
|
-
|
|
192
|
-
- **qmd vector/hybrid search** — BM25 is wired; the semantic path (embeddings + LLM rerank) is disabled to avoid the multi-GB GGUF model download. Enable opt-in later.
|
|
193
|
-
- **Mempalace memory backend** — out of scope for v1.
|
|
194
|
-
- **`generate_image` / vision input** — the chat pane already renders markdown images, but agent-invokable image generation and user image uploads aren't wired.
|
|
195
|
-
- **Worker-side OAuth refresh** — long worker turns that exceed the openai-codex JWT lifetime fail on refresh. The daemon-side compact/context paths still get lazy refresh; only the worker subprocess relies on the initial token carrying the whole turn. See `apps/daemon/src/lib/api-key.ts`.
|
|
96
|
+
[MIT](https://github.com/rullopat/bazilion/blob/main/LICENSE)
|