Skip to content

Commit 7bd2128

Browse files
authored
Merge pull request #9 from BrainDriveAI/feature/plugin-default-streaming-selection
Add default streaming selection plugin support (fixes #5)
2 parents b3ad7b7 + 3845f68 commit 7bd2128

File tree

6 files changed

+137
-25
lines changed

6 files changed

+137
-25
lines changed

CONTRIBUTING.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Contributing to BrainDrive
2+
3+
Welcome, and thank you for your interest in contributing to BrainDrive!
4+
5+
**BrainDrive is an open-source personal AI system designed for ownership, freedom, empowerment, and sustainability.**
6+
Our mission is to make it easy for anyone to build, control, and benefit from their own AI system—free from Big Tech’s restrictions.
7+
8+
We’re early in our development journey and still laying the foundation. Right now, we’re inviting early technical users to explore, provide feedback, and help shape what’s coming next.
9+
10+
---
11+
12+
## 🙋‍♂️ Who Should Contribute Right Now?
13+
14+
We're currently in a **developer beta** phase, which means we're:
15+
- Actively updating the core system
16+
- Making changes that may break early plugin or extension development
17+
- Prioritizing **usability**, **feedback**, and **installation experience**
18+
19+
That said, if you’re technically inclined and share our vision, your help is welcome!
20+
21+
---
22+
23+
## 🔧 How You Can Help Now
24+
25+
1. **Test the Install Process**
26+
- Follow the instructions in our [Setup Guide](https://github.com/BrainDriveAI/BrainDrive/blob/main/INSTALL.md)
27+
- Try getting BrainDrive running locally
28+
- Note any confusing steps or issues you encounter
29+
30+
2. **Give Feedback**
31+
- What worked?
32+
- What didn’t?
33+
- What would you expect or improve?
34+
35+
You can share your findings directly in our [Community Forum](https://community.braindrive.ai/t/braindrive-developer-feedback/104), where we also post weekly dev updates.
36+
37+
3. **Help Others**
38+
- If you get it working, share your tips and tricks in the feeback thread above.
39+
40+
---
41+
42+
## ⚠️ Development Warning
43+
44+
We’re actively improving core components—including the renderer and plugin system.
45+
That means:
46+
- Features may change rapidly
47+
- Plugin development may be unstable
48+
- Internal architecture may not be final
49+
50+
We're not quite ready for general-purpose contributions or plugin development just yet—but we're getting close.
51+
52+
If you'd like to be notified when the project is ready for wider contribution, keep an eye on the [Forum](https://forum.braindrive.ai) or watch this GitHub repo.
53+
54+
---
55+
56+
## 🤝 Long-Term Vision
57+
58+
BrainDrive LLC is currently stewarding the project. Our goal is to decentralize over time as the ecosystem matures. Eventually, we want BrainDrive to be built by its owners, builders, and entrepreneurs—not just us.
59+
60+
---
61+
62+
## ✨ Guiding Principles
63+
64+
We evaluate all contributions through the lens of our four core pillars:
65+
66+
- **Ownership** – You own your BrainDrive.
67+
- **Freedom** – We never introduce lock-ins or coercive restrictions
68+
- **Empowerment** – All documentation should make BrainDrive easier for others to use
69+
- **Sustainability** – We prioritize value-creating contributions that help the ecosystem thrive
70+
71+
---
72+
73+
## 📬 Questions?
74+
75+
Reach out in our [Forum](https://forum.braindrive.ai) or open a GitHub Issue if you’re unsure where to start.
76+
77+
Thanks for being here. We’re building something big—and it starts with you.
78+
79+
**Your AI. Your Rules.**

INSTALL.md

Lines changed: 43 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Before continuing, ensure the following are installed:
1515
| **Node.js** | [Node.js](https://nodejs.org/en/download/) | `node -v` and `npm -v` |
1616

1717
> ⚠️ **Development Mode Note:**
18-
> While running BrainDrive in development, you’ll need **two terminal windows or tabs open**:
18+
> While running BrainDrive in development, you’ll need **two terminal windows**:
1919
>
2020
> * One for the **backend server**
2121
> * One for the **frontend server**
@@ -26,20 +26,12 @@ Before continuing, ensure the following are installed:
2626

2727
You can either install the tools system-wide or use Conda to isolate them. Using Conda is recommended for consistency.
2828

29-
### ✅ Recommended: Create with Conda
30-
3129
```bash
3230
conda create -n BrainDriveDev -c conda-forge python=3.11 nodejs git -y
3331
conda activate BrainDriveDev
3432
```
3533

36-
This sets up:
37-
38-
* Python 3.11
39-
* Node.js and npm
40-
* Git
41-
42-
> You will need to activate this environment in both terminal windows before running backend and frontend.
34+
> You will need to activate this environment in **both terminal windows** when working on the project.
4335
4436
---
4537

@@ -82,6 +74,7 @@ chmod +x build_plugins.sh
8274
### 🔸 Option 2: 🛠 Manual Plugin Build
8375

8476
```bash
77+
conda activate BrainDriveDev # if not already activated
8578
cd plugins/BrainDriveBasicAIChat
8679
npm install
8780
npm run build
@@ -170,26 +163,25 @@ ENABLE_TEST_ROUTES=true
170163

171164
## 🚀 Step 5: Run the Backend Server
172165

173-
In the **backend terminal window**:
166+
In the **first terminal window**:
174167

175168
```bash
169+
cd BrainDrive/backend
176170
uvicorn main:app --reload --host localhost --port 8005
177171
```
178172

179173
---
180174

181-
## 💻 Step 6: Set Up the Frontend
175+
## 💻 Step 6: Set Up and Run the Frontend
182176

183-
In a **second terminal window**:
177+
In the **second terminal window**:
184178

185179
```bash
186180
cd BrainDrive/frontend
187181
conda activate BrainDriveDev # if not already activated
188182
npm install
189183
```
190184

191-
---
192-
193185
### ⚙️ Frontend Configuration
194186

195187
Create a `.env` file in the `frontend/` folder.
@@ -217,21 +209,16 @@ VITE_DEV_EMAIL=your-email@example.com
217209
VITE_DEV_PASSWORD=your-password
218210
```
219211

220-
> ⚠️ **Security Note:** Remove auto-login details before production deployment.
221-
222-
---
212+
> ⚠️ **Security Note:** Remove auto-login credentials before production deployment.
223213
224-
## 🖥️ Step 7: Run the Frontend
214+
Now start the frontend:
225215

226216
```bash
227217
npm run dev
228218
```
229219

230-
Or if using Yarn:
231-
232-
```bash
233-
yarn dev
234-
```
220+
✅ Once both servers are running, you can access BrainDrive at:
221+
[http://localhost:5173](http://localhost:5173)
235222

236223
---
237224

@@ -245,3 +232,35 @@ yarn dev
245232

246233
---
247234

235+
## 🔁 Restarting BrainDrive Later
236+
237+
After shutting down or rebooting, restart BrainDrive with the following steps:
238+
239+
### 1️⃣ Open Two Terminal Windows
240+
241+
* One for the **backend**
242+
* One for the **frontend**
243+
244+
### 2️⃣ Activate Conda in Both
245+
246+
```bash
247+
conda activate BrainDriveDev
248+
```
249+
250+
### 3️⃣ Start the Backend Server
251+
252+
```bash
253+
cd BrainDrive/backend
254+
uvicorn main:app --reload --host localhost --port 8005
255+
```
256+
257+
### 4️⃣ Start the Frontend Server
258+
259+
```bash
260+
cd BrainDrive/frontend
261+
npm run dev
262+
```
263+
264+
Then visit: [http://localhost:5173](http://localhost:5173)
265+
266+

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ The backend is built with Python and provides:
7979
- User settings and preferences
8080
- Database management
8181

82+
[Learn more about the backend](backend/README.md)
83+
8284
### Plugin System
8385

8486
The plugin system allows developers to extend the platform with:

ROADMAP.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,13 @@ Our roadmap is broken into clearly defined versions, each building toward a stab
8484

8585
---
8686

87+
## 📢 Community Updates
88+
89+
We post weekly development updates and community discussions in our forum.
90+
91+
👉 [Join the conversation and follow our dev updates](https://community.braindrive.ai/t/braindrive-development-progress-updates/92)
92+
93+
8794
## How to Contribute
8895

8996
See [CONTRIBUTING.md](./CONTRIBUTING.md) for ways to get involved. You can also:

plugins/BrainDriveBasicAIChat/src/components/AIPromptChat/ChatHeader.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ interface ChatHeaderProps {
1010
* Component to render the chat header with controls
1111
*/
1212
class ChatHeader extends React.Component<ChatHeaderProps> {
13+
static defaultProps = {
14+
useStreaming: true
15+
};
1316
render() {
1417
const { useStreaming, toggleStreamingMode, isLoading } = this.props;
1518

plugins/BrainDriveBasicAIChat/src/components/AIPromptChat/index.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ class AIPromptChat extends React.Component<AIPromptChatProps, {
4949
selectedModel: null,
5050
useStreaming: savedStreamingMode !== null
5151
? savedStreamingMode
52-
: !!props.defaultStreamingMode,
52+
: props.defaultStreamingMode !== undefined
53+
? !!props.defaultStreamingMode
54+
: true,
5355
conversation_id: null,
5456
isLoadingHistory: false,
5557
currentUserId: null, // Add state for current user ID

0 commit comments

Comments
 (0)