@vibe80/vibe80 0.2.0 → 0.2.2
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 +132 -16
- package/bin/vibe80.js +1728 -16
- package/client/dist/assets/{DiffPanel-BKLnyIAZ.js → DiffPanel-BUJhQj_Q.js} +1 -1
- package/client/dist/assets/{ExplorerPanel-D3IbBsXz.js → ExplorerPanel-DugEeaO2.js} +1 -1
- package/client/dist/assets/{LogsPanel-BwJAFHRP.js → LogsPanel-BQrGxMu_.js} +1 -1
- package/client/dist/assets/{SettingsPanel-BfkchMnR.js → SettingsPanel-Ci2BdIYO.js} +1 -1
- package/client/dist/assets/{TerminalPanel-BQfMEm-u.js → TerminalPanel-C-T3t-6T.js} +1 -1
- package/client/dist/assets/index-cFi4LM0j.js +711 -0
- package/client/dist/assets/index-qNyFxUjK.css +32 -0
- package/client/dist/icon_square-512x512.png +0 -0
- package/client/dist/icon_square.svg +58 -0
- package/client/dist/index.html +3 -2
- package/client/dist/sw.js +1 -1
- package/client/index.html +1 -0
- package/client/public/icon_square-512x512.png +0 -0
- package/client/public/icon_square.svg +58 -0
- package/client/src/App.jsx +205 -2
- package/client/src/assets/vibe80_dark.png +0 -0
- package/client/src/assets/vibe80_light.png +0 -0
- package/client/src/components/Chat/ChatMessages.jsx +1 -1
- package/client/src/components/SessionGate/SessionGate.jsx +295 -91
- package/client/src/components/WorktreeTabs.css +11 -0
- package/client/src/components/WorktreeTabs.jsx +77 -47
- package/client/src/hooks/useChatSocket.js +8 -7
- package/client/src/hooks/useRepoBranchesModels.js +12 -6
- package/client/src/hooks/useWorktreeCloseConfirm.js +19 -7
- package/client/src/hooks/useWorktrees.js +3 -1
- package/client/src/index.css +26 -3
- package/client/src/locales/en.json +12 -1
- package/client/src/locales/fr.json +12 -1
- package/docs/api/openapi.json +1 -1
- package/package.json +2 -1
- package/server/scripts/rotate-workspace-secret.js +1 -1
- package/server/src/claudeClient.js +3 -3
- package/server/src/codexClient.js +3 -3
- package/server/src/config.js +6 -6
- package/server/src/index.js +14 -12
- package/server/src/middleware/auth.js +7 -7
- package/server/src/middleware/debug.js +36 -4
- package/server/src/providerLogger.js +2 -2
- package/server/src/routes/sessions.js +133 -21
- package/server/src/routes/workspaces.js +1 -1
- package/server/src/runAs.js +14 -14
- package/server/src/services/auth.js +3 -3
- package/server/src/services/session.js +182 -14
- package/server/src/services/workspace.js +86 -42
- package/server/src/storage/index.js +2 -2
- package/server/src/storage/redis.js +38 -36
- package/server/src/storage/sqlite.js +13 -13
- package/server/src/worktreeManager.js +87 -19
- package/server/tests/integration/routes/workspaces-routes.test.js +8 -8
- package/server/tests/setup/env.js +5 -5
- package/server/tests/unit/services/auth.test.js +3 -3
- package/client/dist/assets/index-BDQQz6SJ.css +0 -32
- package/client/dist/assets/index-D1UJw1oP.js +0 -711
package/README.md
CHANGED
|
@@ -20,29 +20,145 @@ Vibe80 is an open-source, AI-assisted coding platform that orchestrates LLM agen
|
|
|
20
20
|
|
|
21
21
|
At least one of `codex` or `claude code` must be installed before starting.
|
|
22
22
|
|
|
23
|
-
## Quick start
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
## Quick Start (local)
|
|
26
25
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
npm install
|
|
30
|
-
# Optional global install:
|
|
31
|
-
# npm install -g .
|
|
32
|
-
```
|
|
26
|
+
```bash
|
|
27
|
+
npm install -g @vibe80/vibe80
|
|
33
28
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
vibe80
|
|
37
|
-
```
|
|
29
|
+
# Run with Codex support
|
|
30
|
+
vibe80 run --codex
|
|
38
31
|
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
# Run with Claude support
|
|
33
|
+
vibe80 run --claude
|
|
41
34
|
|
|
35
|
+
# Run without opening browser automatically
|
|
36
|
+
vibe80 run --codex --no-open
|
|
37
|
+
```
|
|
42
38
|
|
|
43
|
-
|
|
39
|
+
> `vibe80 run` requires at least one provider flag: `--codex` or `--claude`.
|
|
44
40
|
|
|
45
|
-
|
|
41
|
+
The server starts on `http://localhost:5179` and prints a one-shot authentication link at startup.
|
|
42
|
+
|
|
43
|
+
## Workspace CLI (nouveau)
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Lister les workspaces connus localement
|
|
47
|
+
vibe80 workspace ls
|
|
48
|
+
|
|
49
|
+
# Définir / lire le workspace courant
|
|
50
|
+
vibe80 workspace use <workspaceId>
|
|
51
|
+
vibe80 workspace current
|
|
52
|
+
vibe80 workspace show
|
|
53
|
+
|
|
54
|
+
# Login workspace
|
|
55
|
+
vibe80 workspace login --workspace-id <id> --workspace-secret <secret>
|
|
56
|
+
# ou (mono_user)
|
|
57
|
+
vibe80 workspace login --mono-auth-token <token>
|
|
58
|
+
|
|
59
|
+
# Refresh / logout
|
|
60
|
+
vibe80 workspace refresh
|
|
61
|
+
vibe80 workspace logout
|
|
62
|
+
|
|
63
|
+
# Admin (si autorisé côté serveur)
|
|
64
|
+
vibe80 workspace create --enable codex --codex-auth-type api_key --codex-auth-value "$OPENAI_API_KEY"
|
|
65
|
+
vibe80 workspace update <workspaceId> --enable claude --claude-auth-type api_key --claude-auth-value "$ANTHROPIC_API_KEY"
|
|
66
|
+
vibe80 workspace rm <workspaceId> --yes
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Notes:
|
|
70
|
+
- `workspace ls` is local-only (no API call).
|
|
71
|
+
- After `workspace login`, the CLI stores `refreshToken` locally and auto-refreshes `workspaceToken` for `session`, `worktree` and `message` commands (with one automatic retry on HTTP 401).
|
|
72
|
+
|
|
73
|
+
## Session CLI (nouveau)
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Lister / sélectionner / afficher
|
|
77
|
+
vibe80 session ls
|
|
78
|
+
vibe80 session use <sessionId>
|
|
79
|
+
vibe80 session current
|
|
80
|
+
vibe80 session show
|
|
81
|
+
|
|
82
|
+
# Créer / supprimer / santé
|
|
83
|
+
vibe80 session create --repo-url <repoUrl> [--name "My session"]
|
|
84
|
+
vibe80 session health [sessionId]
|
|
85
|
+
vibe80 session rm [sessionId] --yes
|
|
86
|
+
|
|
87
|
+
# Handoff
|
|
88
|
+
vibe80 session handoff create [sessionId]
|
|
89
|
+
vibe80 session handoff consume --token <handoffToken>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Worktree CLI (phase 1 + 2)
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# Lister / sélectionner / afficher
|
|
96
|
+
vibe80 worktree ls
|
|
97
|
+
vibe80 worktree use <worktreeId>
|
|
98
|
+
vibe80 worktree current
|
|
99
|
+
vibe80 worktree show
|
|
100
|
+
|
|
101
|
+
# Créer / fork / supprimer
|
|
102
|
+
vibe80 worktree create --provider codex [--name "Feature A"]
|
|
103
|
+
vibe80 worktree fork --from main [--name "Feature B"]
|
|
104
|
+
vibe80 worktree rename [worktreeId] --name "Nouveau nom"
|
|
105
|
+
vibe80 worktree rm [worktreeId] --yes
|
|
106
|
+
|
|
107
|
+
# Runtime + état git
|
|
108
|
+
vibe80 worktree wakeup [worktreeId]
|
|
109
|
+
vibe80 worktree status [worktreeId]
|
|
110
|
+
vibe80 worktree diff [worktreeId]
|
|
111
|
+
vibe80 worktree commits [worktreeId] --limit 20
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Message CLI (avec pièces jointes)
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# Envoyer un message (et uploader des fichiers)
|
|
118
|
+
vibe80 message send --text "analyse ça" --file ./a.txt --file ./b.png
|
|
119
|
+
|
|
120
|
+
# Lister les messages d'un worktree
|
|
121
|
+
vibe80 message ls [--limit 50]
|
|
122
|
+
|
|
123
|
+
# Suivre les nouveaux messages (polling)
|
|
124
|
+
vibe80 message tail [--interval-ms 2000]
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Docker
|
|
128
|
+
|
|
129
|
+
### Docker with Codex
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
docker run \
|
|
133
|
+
-e VIBE80_DEPLOYMENT_MODE=mono_user \
|
|
134
|
+
-e VIBE80_MONO_ENABLE_CODEX=true \
|
|
135
|
+
-v vibe80home:/home/vibe80 \
|
|
136
|
+
-p 5179:5179 \
|
|
137
|
+
vibe80/vibe80
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Docker with Claude
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
docker run --rm -it \
|
|
144
|
+
-e VIBE80_DEPLOYMENT_MODE=mono_user \
|
|
145
|
+
-e VIBE80_MONO_ENABLE_CLAUDE=true \
|
|
146
|
+
-v vibe80home:/home/vibe80 \
|
|
147
|
+
-v $(realpath $(which claude)):/usr/bin/claude \
|
|
148
|
+
-p 5179:5179 \
|
|
149
|
+
vibe80/vibe80
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
> Unlike Codex (Apache-2.0), Claude Code is proprietary and cannot be distributed in the image. That is why the host Claude binary is mounted into the container.
|
|
153
|
+
|
|
154
|
+
## Mobile apps
|
|
155
|
+
|
|
156
|
+
- Android APK: https://github.com/vibe80/vibe80/releases
|
|
157
|
+
- iOS app: coming soon
|
|
158
|
+
|
|
159
|
+
## Documentation
|
|
160
|
+
|
|
161
|
+
Full documentation: https://vibe80.io/docs
|
|
46
162
|
|
|
47
163
|
## License
|
|
48
164
|
|