Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Environment Configuration
# Copy this file to .env and customize as needed

# Server Configuration
PORT=3000
NODE_ENV=development

# Python Configuration
PYTHON_PATH=python3

# Privacy Settings (all data is stored locally by default)
DATA_DIR=./data
MEMORY_DB=./data/dobby_memory.db

# Optional: API keys (not required for basic functionality)
# OPENAI_API_KEY=your_key_here # Optional: for enhanced AI capabilities
47 changes: 47 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
venv/
env/
ENV/
.venv
pip-log.txt
pip-delete-this-directory.txt
.pytest_cache/

# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
package-lock.json
.npm

# IDE
.vscode/
.idea/
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db

# Data files (local, private)
data/memory/*.json
data/conversations/*.json
*.db
*.sqlite

# Environment variables
.env
.env.local

# Logs
logs/
*.log
python/__pycache__/
142 changes: 142 additions & 0 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
# Архитектура Dobby: Python vs Node.js

## Почему гибридная архитектура? 🤔

Dobby использует **оба языка** для максимальной эффективности:

## Python 🐍 - для AI/ML обработки

### Почему Python для нейросети и AI:
1. **Лучшие библиотеки для ML/AI**
- `transformers` - современные языковые модели
- `sentence-transformers` - нейросетевые эмбеддинги
- `torch` - глубокое обучение
- `numpy` - математические вычисления

2. **Специфические задачи в Dobby:**
- ✅ Генерация векторных представлений текста (embeddings)
- ✅ Семантический поиск по памяти
- ✅ Анализ контекста с помощью нейросетей
- ✅ Обработка данных и машинное обучение

3. **Преимущества:**
- Огромная экосистема AI/ML
- Активное сообщество data science
- Оптимизирован для научных вычислений

### Файлы Python:
- `memory_system.py` - Нейросетевая система памяти
- `search_system.py` - Поиск в интернете
- `dobby_ai.py` - Главный AI движок

## Node.js/JavaScript 🟢 - для веб-интерфейса

### Почему Node.js для интерфейса:
1. **Быстрый веб-сервер**
- Асинхронная архитектура
- Эффективная обработка множества запросов
- Нативная работа с JSON

2. **Специфические задачи в Dobby:**
- ✅ REST API для коммуникации
- ✅ Веб-интерфейс в реальном времени
- ✅ Обработка HTTP запросов
- ✅ Связь между фронтендом и Python backend

3. **Преимущества:**
- Простая интеграция с браузером
- Большой выбор веб-библиотек
- Быстрая разработка API

### Файлы Node.js:
- `server.js` - Express API сервер
- `public/index.html` - Веб-интерфейс

## Как они работают вместе 🤝

```
Пользователь → Браузер (JavaScript)
Node.js Server (server.js)
Python AI Backend (dobby_ai.py)
Neural Network Processing
Memory Search
Internet Search
Response → Node.js → Browser
```

### Поток данных:
1. **Пользователь** вводит запрос в веб-интерфейс (HTML/JavaScript)
2. **Node.js сервер** принимает HTTP запрос
3. **Node.js** вызывает Python скрипт с параметрами
4. **Python AI** обрабатывает запрос:
- Поиск в памяти через нейросеть
- Анализ контекста
- Поиск в интернете при необходимости
5. **Python** возвращает результат в JSON
6. **Node.js** передает ответ в браузер
7. **JavaScript** отображает результат пользователю

## Рекомендации для разработки

### Используй Python когда:
- ✅ Работаешь с ML/AI моделями
- ✅ Нужна обработка больших данных
- ✅ Требуются математические вычисления
- ✅ Работа с векторами и эмбеддингами
- ✅ Семантический анализ текста

### Используй Node.js/JavaScript когда:
- ✅ Создаешь веб-интерфейс
- ✅ Разрабатываешь REST API
- ✅ Нужна реал-тайм коммуникация
- ✅ Обработка HTTP запросов
- ✅ Работа с браузером

## Примеры кода

### Python - Нейросетевой поиск в памяти
```python
# Используем Python для AI
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('all-MiniLM-L6-v2')

# Генерация эмбеддинга
embedding = model.encode("текст для анализа")

# Семантический поиск
similarity = cosine_similarity(query_embedding, memory_embedding)
```

### Node.js - API сервер
```javascript
// Используем Node.js для веб-сервера
app.post('/api/query', async (req, res) => {
const { query } = req.body;

// Вызываем Python AI
const result = await callPythonAI('query', [query]);

// Возвращаем результат
res.json(result);
});
```

## Конфиденциальность 🔒

Оба языка работают **локально**:
- Python обрабатывает данные на твоем Mac
- Node.js сервер работает только на localhost
- База данных SQLite хранится локально
- Никакие данные не отправляются на внешние серверы

## Заключение

Dobby использует **лучшее из обоих миров**:
- **Python** = мощь AI и машинного обучения
- **Node.js** = скорость и удобство веб-разработки

Это современный подход к созданию AI-ассистентов! 🚀
133 changes: 133 additions & 0 deletions QUICKSTART.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# Quick Start Guide - Dobby AI Assistant

## 🚀 Get Started in 5 Minutes

### 1. Prerequisites
- Node.js 16+ installed
- Python 3.8+ installed
- pip (Python package manager)

### 2. Installation

```bash
# Clone the repository
git clone https://github.com/getmanele/Dobby-v01.git
cd Dobby-v01

# Install Node.js dependencies
npm install

# Install Python dependencies
pip3 install -r python/requirements.txt

# Optional: For full AI features (neural network embeddings)
pip3 install torch transformers sentence-transformers
```

### 3. Run

```bash
# Start the server
npm start

# Or use the start script
./start.sh
```

### 4. Use

Open your browser and go to: **http://localhost:3000**

## 💡 Usage Examples

### Tell Dobby to Remember Things
- "Remember that I prefer Python for machine learning"
- "I like using Node.js for web APIs"
- "My favorite framework is React"

### Ask Dobby Questions
- "What are my programming preferences?"
- "What do you remember about me?"
- "Find information about neural networks" (uses internet search)

### Internet Search
Add keywords like "search", "find", "what is", "latest" to trigger web search:
- "What is machine learning?"
- "Find latest news about AI"
- "Search for Python tutorials"

## 🏗️ Architecture

**Python Backend (AI/ML)**
- Neural network embeddings
- Semantic memory search
- Data processing

**Node.js Frontend (Web)**
- Express API server
- Web interface
- User interaction

**Data Storage**
- SQLite database (local, private)
- All data stays on your machine

## 🔒 Privacy

✅ All conversations stored locally
✅ All memories in local database
✅ Internet searches via DuckDuckGo (privacy-focused)
✅ No data sent to external services
✅ Neural network runs on your machine

## 📚 API Endpoints

**POST /api/query**
```json
{
"query": "your question here"
}
```

**POST /api/memory**
```json
{
"content": "something to remember",
"category": "preference",
"importance": 8
}
```

**GET /api/health**
**GET /api/info**

## 🛠️ Troubleshooting

**Port 3000 already in use?**
```bash
PORT=3001 npm start
```

**Python dependencies fail?**
```bash
pip3 install --user -r python/requirements.txt
```

**Reset database?**
```bash
rm data/dobby_memory.db
npm start
```

## 📖 More Information

- Full documentation: [README.md](README.md)
- Architecture details: [ARCHITECTURE.md](ARCHITECTURE.md)

## 🤝 Contributing

This is your personal AI assistant. Feel free to customize and extend it!

---

**Made with 🤖 Python + Node.js**
Loading