You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
VibeLab is a general-purpose AI research assistant designed to help researchers and builders execute end-to-end projects across different domains. From shaping an initial idea to running experiments and preparing publication-ready outputs, VibeLab keeps the full workflow in one place so teams can focus on research quality and iteration speed.
@@ -35,8 +48,7 @@ VibeLab is a general-purpose AI research assistant designed to help researchers
35
48
-**🔬 Research Lab** — Structured dashboard for end-to-end research: define your brief, generate a pipeline of tasks, track progress across Survey → Ideation → Experiment → Publication → Promotion, and inspect source papers, ideas (rendered with LaTeX math), and cache artifacts — all at a glance
36
49
-**📚 100+ Research Skills** — A curated library spanning idea generation, code survey, experiment development & analysis, paper writing, review response, and delivery — automatically discovered by agents and applied as task-level assistance
37
50
-**🗂️ Chat-Driven Pipeline** — Describe your research idea in Chat; the agent uses the `inno-pipeline-planner` skill to interactively generate a structured research brief and task list — no manual templates needed
38
-
-**🤖 Multi-Agent Backend** — Seamlessly switch between Claude Code as your execution engine; compatible with Claude Sonnet 4.5, Opus 4.5
39
-
<!-- - Cursor CLI and Codex support coming soon; compatible with GPT-5.2 -->
51
+
-**🤖 Multi-Agent Backend** — Seamlessly switch between Claude Code, Gemini CLI, and Codex as your execution engines
- Some systems need native build tools for dependencies like `node-pty` and `better-sqlite3`. If `npm install` fails, see [FAQ](docs/faq.md).
74
+
75
+
Cursor agent support is in progress and coming soon.
61
76
62
77
### Installation
63
78
@@ -78,48 +93,42 @@ cp .env.example .env
78
93
# Edit .env with your preferred settings (port, etc.)
79
94
```
80
95
81
-
4.**Check runtime network lock (important for web search):**
82
-
```bash
83
-
echo"${CODEX_SANDBOX_NETWORK_DISABLED:-0}"
84
-
```
85
-
86
-
If the output is `1`, network requests can remain blocked even if Settings permissions are opened.
87
-
Remove or override this variable in your deployment/startup layer (shell profile, systemd, Docker, PM2), then restart VibeLab.
96
+
Need custom ports, auth, or workspace settings? See [docs/configuration.md](docs/configuration.md).
88
97
89
-
5.**Start the application:**
98
+
4.**Start the application:**
90
99
```bash
91
100
# Development mode (with hot reload)
92
101
npm run dev
93
102
```
94
103
95
-
6.**Open your browser** at `http://localhost:5173` (or the port you configured in `.env`)
96
-
97
-
## Research Lab — Quick Example
98
-
99
-
The core feature of VibeLab is the **Research Lab**.
104
+
5.**Open your browser** at `http://localhost:5173` (or the port you configured in `.env`)
100
105
101
-
### Step 0 — Configure Any One Agent in Settings First
106
+
If agent web search does not work later, see **Troubleshooting Web Search** below.
102
107
103
-
Before generating a pipeline, open **Settings** (gear icon) and configure at least one agent:
108
+
## Configuration
104
109
105
-
-**Claude Code**: complete CLI login and verify the tool is available. If you need web search, allow `WebSearch` and `WebFetch` in Permissions.
106
-
<!-- - **Cursor CLI**: complete CLI login and verify the tool is available. If you need web search, allow network-capable shell commands (for example `Shell(curl)`, `Shell(wget)`, `Shell(python)`). -->
107
-
<!-- - **Codex**: complete CLI login and choose a suitable permission mode. -->
110
+
VibeLab reads local settings from `.env`. For most users, the only required step is copying `.env.example` to `.env`, but these are the settings you are most likely to adjust early:
108
111
109
-
You only need **one** agent configured to continue. For webpage search, you can use Claude as long as network-related permissions are enabled.
110
-
<!-- For webpage search, you can use Claude, Cursor, or Codex as long as network-related permissions are enabled for the selected agent. -->
112
+
-`PORT`: backend server port
113
+
-`VITE_PORT`: frontend dev server port
114
+
-`HOST`: bind address for the frontend and backend
115
+
-`JWT_SECRET`: required before exposing VibeLab beyond localhost
116
+
-`WORKSPACES_ROOT`: default root for new project workspaces
111
117
112
-
### Step 1 — Open Chat and Describe Your Research Idea
118
+
For the full environment reference and deployment notes, see [docs/configuration.md](docs/configuration.md).
113
119
114
-
VibeLab opens **Chat** by default. If no research pipeline exists, an onboarding banner guides you to get started. Click **Use in Chat** to inject a template prompt, or simply describe your research idea in your own words.
120
+
<aid="research-lab-quick-example"></a>
115
121
116
-
### Step 2 — Agent Generates Your Pipeline
122
+
##Research Lab — Quick Example
117
123
118
-
The agent runs the `inno-pipeline-planner` skill, asking you a few rounds of questions to understand your topic, scope, and goals. Once enough context is gathered, it generates `.pipeline/docs/research_brief.json` and `.pipeline/tasks/tasks.json` automatically.
124
+
The core feature of VibeLab is the **Research Lab**.
119
125
120
-
### Step 3 — Review Tasks and Execute
126
+
The typical flow is:
121
127
122
-
Switch to **Research Lab** to review the generated task list and research brief. Click **Go to Chat** or **Use in Chat** on any task to send it to the agent for execution.
128
+
1. Configure one supported agent in **Settings**.
129
+
2. Describe your research idea in **Chat**.
130
+
3. Let the agent generate `.pipeline/docs/research_brief.json` and `.pipeline/tasks/tasks.json`.
131
+
4. Review the pipeline in **Research Lab** and send tasks back to **Chat** for execution.
123
132
124
133
For full step-by-step operations, see **Usage Guide** below.
125
134
@@ -131,9 +140,8 @@ After starting VibeLab, open your browser and follow the steps below.
131
140
132
141
When you first open VibeLab you will see the **Projects** sidebar. You have two options:
133
142
134
-
-**Open an existing project** — VibeLab auto-discovers projects from Claude Code sessions. Click any listed project to open it.
135
-
<!-- VibeLab also supports Cursor and Codex sessions. -->
136
-
-**Create a new project** — Click the **"+"** button, choose a directory on your machine, and VibeLab will set up the workspace: `.claude/`, `.agents/`, `.cursor/` (with `skills/` symlinked from the app), preset dirs (`Survey/references`, `Survey/reports`, `Ideation/ideas`, `Ideation/references`, `Experiment/code_references`, `Experiment/datasets`, `Experiment/core_code`, `Experiment/analysis`, `Publication/paper`, `Publication/homepage`, `Publication/slide`), and **instance.json** at the project root with absolute paths for those directories.
143
+
-**Open an existing project** — VibeLab auto-discovers registered projects and linked sessions from Claude Code, Codex, and Gemini.
144
+
-**Create a new project** — Click the **"+"** button, choose a directory on your machine, and VibeLab will set up the workspace: agent folders such as `.claude/`, `.agents/`, `.gemini/`, standard workspace metadata, linked `skills/` directories, preset research dirs (`Survey/references`, `Survey/reports`, `Ideation/ideas`, `Ideation/references`, `Experiment/code_references`, `Experiment/datasets`, `Experiment/core_code`, `Experiment/analysis`, `Publication/paper`, `Publication/homepage`, `Publication/slide`), and **instance.json** at the project root with absolute paths for those directories. Cursor agent support is coming soon.
137
145
138
146
> **Default project storage path:** New projects are stored under `~/vibelab` by default. You can change this in **Settings → Appearance → Default Project Path**, or set the `WORKSPACES_ROOT` environment variable. The setting is persisted in `~/.claude/project-config.json`.
139
147
@@ -148,33 +156,38 @@ Describe your research idea — even a rough one is fine. The agent uses the `in
148
156
### Step 3 — Review in Research Lab and Execute Tasks
149
157
150
158
Switch to **Research Lab** to review the generated tasks, progress metrics, and artifacts. Then execute tasks:
151
-
1. Choose a CLI backend from the **CLI selector** (Claude Code).
152
-
<!-- Also supports Cursor CLI / Codex. -->
159
+
1. Choose a CLI backend from the **CLI selector** (Claude Code, Gemini CLI, or Codex).
153
160
2. In **Research Lab**, click **Go to Chat** or **Use in Chat** on a pending task.
154
161
3. The agent executes the task and writes results back to the project.
155
162
156
-
### Step 4 — Enable Network Access for Web Search (Claude)
157
-
<!-- Also applies to Cursor / Codex -->
163
+
### Step 4 — Troubleshooting Web Search
158
164
159
-
If the agent cannot search webpages, your current permission settings are likely too restrictive. If web search still fails after you open permissions, ensure you have checked the **runtime network lock** in **Quick Start** (step 4) — if `CODEX_SANDBOX_NETWORK_DISABLED`is `1`, Settings alone cannot fix it.
165
+
If the agent cannot search webpages, your current permission settings are likely too restrictive. Also check whether a runtime network lockis still active for the process.
160
166
161
-
1. Open **Settings** (gear icon in sidebar).
162
-
2. Go to **Permissions**, then choose your current agent:
167
+
1. Check the runtime network lock:
168
+
```bash
169
+
echo"${CODEX_SANDBOX_NETWORK_DISABLED:-0}"
170
+
```
171
+
172
+
If the output is `1`, network requests can remain blocked even if Settings permissions are opened. Remove or override this variable in your deployment or startup layer (shell profile, systemd, Docker, PM2), then restart VibeLab.
173
+
174
+
2. Open **Settings** (gear icon in sidebar).
175
+
3. Go to **Permissions**, then choose your current agent:
163
176
-**Claude Code**:
164
177
- Enable `WebSearch` and `WebFetch` in **Allowed Tools**.
165
178
- Ensure they are not present in **Blocked Tools**.
166
179
- Optionally enable **Skip permission prompts** if you want fewer confirmations.
167
-
<!-- - **Cursor CLI**:
168
-
- Add required commands to **Allowed Shell Commands** (for example `Shell(curl)`, `Shell(wget)`, `Shell(python)`, `Shell(node)`).
169
-
- Ensure they are not present in **Blocked Shell Commands**.
170
-
- Optionally enable **Skip permission prompts** if you want fewer confirmations.
180
+
-**Gemini CLI**:
181
+
-Choose an appropriate **Permission Mode**.
182
+
-Allow `google_web_search` and `web_fetch`in **Allowed Tools** when web access is required.
183
+
-Ensure they are not present in **Blocked Tools**.
171
184
-**Codex**:
172
-
- In **Permission Mode**, switch to **Bypass Permissions** when web access is required.-->
173
-
3. Return to **Chat**, start a new message, and retry your web-search prompt.
185
+
- In **Permission Mode**, switch to **Bypass Permissions** when web access is required.
186
+
4. Return to **Chat**, start a new message, and retry your web-search prompt.
174
187
175
-
<!--Codex mode differences:
188
+
Codex permission mode notes:
176
189
-**Default / Accept Edits**: sandboxed execution; network may still be restricted by session policy.
177
-
- **Bypass Permissions**: `sandboxMode=danger-full-access` with full disk and network access.-->
190
+
-**Bypass Permissions**: `sandboxMode=danger-full-access` with full disk and network access.
178
191
179
192
Security note:
180
193
- Use permissive settings only in trusted projects/environments.
@@ -199,11 +212,14 @@ You can switch tabs at any time:
199
212
200
213
| Tab | What it does |
201
214
|-----|-------------|
202
-
|**Chat**|**Default first screen.** Describe your research idea to generate the pipeline, or execute tasks with the selected agent. Supports streaming responses, session resume, and message history. |
203
-
|**Research Lab**| Review research brief, task progress, and artifacts. Tasks and briefs are generated via Chat. |
204
-
|**Shell**| Drop directly into the CLI terminal for full command-line control. |
205
-
|**Files**| Browse the project file tree, view and edit files with syntax highlighting, create/rename/delete files. |
206
-
|**Git**| View diffs, stage changes, commit, and switch branches — all from the UI. |
215
+
|**Chat**| Start here. Use it to describe your research idea, generate a pipeline, and run tasks with the selected agent. |
216
+
|**Survey**| Review papers, literature graphs, notes, and survey-stage tasks for the current project. |
217
+
|**Research Lab**| Review the research brief, task list, progress, and generated artifacts in one place. |
218
+
|**Skills**| Browse installed skills, inspect their contents, and import additional local skills. |
219
+
|**Compute**| Manage compute resources and run experiment workloads from one place. |
220
+
|**Shell**| Use the embedded terminal when you need direct CLI access, trust prompts, or manual commands. |
221
+
|**Files**| Browse, open, create, rename, and edit project files with syntax highlighting. |
222
+
|**Git**| Inspect diffs, stage changes, commit, and switch branches without leaving the app. |
207
223
208
224
#### Research Skills
209
225
@@ -238,8 +254,7 @@ VibeLab is fully responsive. On mobile devices:
238
254
### Backend (Node.js + Express)
239
255
-**Express Server** - RESTful API with static file serving
240
256
-**WebSocket Server** - Communication for chats and project refresh
241
-
-**Agent Integration (Claude Code)** - Process spawning and management
242
-
<!-- Also supports Cursor CLI / Codex -->
257
+
-**Agent Integration (Claude Code, Gemini CLI, Codex)** - Process spawning, streaming, and session management
243
258
-**File System API** - Exposing file browser for projects
244
259
245
260
### Frontend (React + Vite)
@@ -251,17 +266,18 @@ VibeLab is fully responsive. On mobile devices:
**🔒 Important Notice**: All Claude Code tools are **disabled by default**. This prevents potentially harmful operations from running automatically.
269
+
**🔒 Important Notice**: Agent permissions are configurable per provider. Review **Settings → Permissions** before enabling broad file, shell, or web access.
255
270
256
271
### Enabling Tools
257
272
258
-
To use Claude Code's full functionality, you'll need to manually enable tools:
273
+
To use web and tool-heavy workflows safely:
259
274
260
-
1.**Open Tools Settings** - Click the gear icon in the sidebar
261
-
3.**Enable Selectively** - Turn on only the tools you need
275
+
1.**Open Settings** - Click the gear icon in the sidebar
276
+
2.**Choose an Agent** - Claude Code, Gemini CLI, or Codex
277
+
3.**Enable Selectively** - Turn on only the tools or permission mode you need
262
278
4.**Apply Settings** - Your preferences are saved locally
263
279
264
-
**Recommended approach**: Start with basic tools enabled and add more as needed. You can always adjust these settings later.
280
+
**Recommended approach**: Start with the safest permission mode that still lets you complete the task, then relax settings only when needed.
265
281
266
282
</details>
267
283
@@ -279,7 +295,7 @@ We welcome contributions! Please follow these guidelines:
279
295
#### Development Process
280
296
1.**Make your changes** following the existing code style
281
297
2.**Test thoroughly** - ensure all features work correctly
282
-
3.**Run quality checks**: `npm run lint && npm run format`
298
+
3.**Run quality checks**: `npm run typecheck && npm run build`
283
299
4.**Commit** with descriptive messages following [Conventional Commits](https://conventionalcommits.org/)
284
300
5.**Push** to your branch: `git push origin feature/amazing-feature`
285
301
6.**Submit** a Pull Request with:
@@ -308,8 +324,8 @@ This project is open source and free to use, modify, and distribute under the GP
308
324
309
325
### Built With
310
326
-**[Claude Code](https://docs.anthropic.com/en/docs/claude-code)** - Anthropic's official CLI
311
-
<!-- - **[Cursor CLI](https://docs.cursor.com/en/cli/overview)** - Cursor's official CLI -->
0 commit comments