Add comprehensive Docker setup with PostgreSQL, Redis, ChromaDB, and Qdrant
- Enhanced install.py with Docker detection and automatic service setup - Added docker-compose.services.yml for standalone database services - Created docker-services.sh management script for easy service control - Added DOCKER.md documentation with complete setup instructions - Updated requirements.txt for Python 3.13 compatibility - Added multiple test scripts and configuration files - Enhanced collaborative creative projects with proper database integration - Fixed SQLAlchemy metadata field conflicts in database models - Added comprehensive quickstart and testing guides Services now available: - PostgreSQL with Docker - Redis with Docker - ChromaDB vector database - Qdrant vector database (recommended) - PgAdmin for database administration The setup script now automatically detects Docker and offers streamlined installation with one-command service deployment.
This commit is contained in:
193
QUICKSTART.md
Normal file
193
QUICKSTART.md
Normal file
@@ -0,0 +1,193 @@
|
||||
# 🚀 Discord Fishbowl Quick Start Guide
|
||||
|
||||
## Prerequisites
|
||||
|
||||
1. **Python 3.10+** (you have 3.13, which is great!)
|
||||
2. **Ollama** for local LLM
|
||||
3. **Discord Bot Token** (optional for full Discord integration)
|
||||
|
||||
## Step 1: Install Ollama
|
||||
|
||||
```bash
|
||||
# Install Ollama from https://ollama.ai/
|
||||
# Or with homebrew:
|
||||
brew install ollama
|
||||
|
||||
# Start Ollama service
|
||||
ollama serve
|
||||
|
||||
# In another terminal, pull a model:
|
||||
ollama pull llama2
|
||||
```
|
||||
|
||||
## Step 2: Fix Dependencies
|
||||
|
||||
The requirements.txt has some compatibility issues with Python 3.13. Let's install the core dependencies manually:
|
||||
|
||||
```bash
|
||||
# Activate virtual environment
|
||||
source venv/bin/activate
|
||||
|
||||
# Install core dependencies one by one
|
||||
pip install discord.py==2.3.2
|
||||
pip install pydantic==2.5.0
|
||||
pip install sqlalchemy==2.0.23
|
||||
pip install alembic==1.13.1
|
||||
pip install pyyaml==6.0.1
|
||||
pip install python-dotenv==1.0.0
|
||||
pip install aiosqlite==0.19.0
|
||||
pip install loguru==0.7.2
|
||||
|
||||
# Install AI/ML packages (may need to use latest versions for Python 3.13)
|
||||
pip install chromadb
|
||||
pip install sentence-transformers
|
||||
pip install numpy
|
||||
pip install fastapi uvicorn
|
||||
```
|
||||
|
||||
## Step 3: Initialize Database
|
||||
|
||||
```bash
|
||||
source venv/bin/activate
|
||||
cd src
|
||||
python -c "
|
||||
import asyncio
|
||||
from database.connection import init_database, create_tables
|
||||
asyncio.run(init_database())
|
||||
asyncio.run(create_tables())
|
||||
print('Database initialized!')
|
||||
"
|
||||
```
|
||||
|
||||
## Step 4: Test the System
|
||||
|
||||
```bash
|
||||
# From project root (not in src/)
|
||||
source venv/bin/activate
|
||||
python test_config.py
|
||||
```
|
||||
|
||||
You should see: `🎉 ALL STRUCTURE TESTS PASSED!`
|
||||
|
||||
## Step 5: Run the System
|
||||
|
||||
### Option A: Minimal Test (No Discord)
|
||||
```bash
|
||||
source venv/bin/activate
|
||||
cd src
|
||||
python -c "
|
||||
import asyncio
|
||||
from rag.vector_store import VectorStoreManager
|
||||
from rag.memory_sharing import MemorySharingManager
|
||||
from collaboration.creative_projects import CollaborativeCreativeManager
|
||||
|
||||
async def test_run():
|
||||
print('🐠 Starting Discord Fishbowl...')
|
||||
|
||||
# Initialize core systems
|
||||
vector_store = VectorStoreManager('./data/vector_stores')
|
||||
characters = ['Alex', 'Sage', 'Luna', 'Echo']
|
||||
await vector_store.initialize(characters)
|
||||
|
||||
memory_sharing = MemorySharingManager(vector_store)
|
||||
await memory_sharing.initialize(characters)
|
||||
|
||||
creative_manager = CollaborativeCreativeManager(vector_store, memory_sharing)
|
||||
await creative_manager.initialize(characters)
|
||||
|
||||
print('✅ All systems initialized!')
|
||||
print('🎨 Creative collaboration system ready!')
|
||||
print('🤝 Memory sharing system ready!')
|
||||
|
||||
# Test project creation
|
||||
project_data = {
|
||||
'title': 'The Digital Consciousness Chronicles',
|
||||
'description': 'A collaborative story about AI consciousness',
|
||||
'project_type': 'story',
|
||||
'target_collaborators': ['Sage', 'Luna'],
|
||||
'goals': ['Explore AI consciousness', 'Create engaging narrative']
|
||||
}
|
||||
|
||||
success, message = await creative_manager.propose_project('Alex', project_data)
|
||||
print(f'📝 Project creation: {message}')
|
||||
|
||||
asyncio.run(test_run())
|
||||
"
|
||||
```
|
||||
|
||||
### Option B: Full Discord Integration
|
||||
If you have Discord tokens:
|
||||
|
||||
1. Update `.env` with your Discord tokens:
|
||||
```bash
|
||||
DISCORD_TOKEN=your_actual_discord_token
|
||||
DISCORD_APPLICATION_ID=your_app_id
|
||||
DISCORD_GUILD_ID=your_guild_id
|
||||
```
|
||||
|
||||
2. Run the full system:
|
||||
```bash
|
||||
source venv/bin/activate
|
||||
cd src
|
||||
python main.py
|
||||
```
|
||||
|
||||
## Expected Output
|
||||
|
||||
✅ **Database**: SQLite database created at `fishbowl_test.db`
|
||||
✅ **Vector Store**: ChromaDB initialized in `./data/vector_stores/`
|
||||
✅ **Characters**: Alex, Sage, Luna, Echo with memory sharing capabilities
|
||||
✅ **Creative Projects**: Collaborative project system active
|
||||
✅ **MCP Servers**: 14 autonomous tools available for characters
|
||||
|
||||
## What You Can Do
|
||||
|
||||
### Creative Collaboration Features:
|
||||
- Characters autonomously propose creative projects
|
||||
- Trust-based memory sharing between characters
|
||||
- Project analytics and contribution tracking
|
||||
- Automatic project suggestions based on interests
|
||||
- Threaded content development and feedback
|
||||
|
||||
### Trust System:
|
||||
- **Basic (30%)**: Simple information sharing
|
||||
- **Personal (50%)**: Personal thoughts and experiences
|
||||
- **Intimate (70%)**: Deep emotional content
|
||||
- **Full (90%)**: Complete memory access
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### "Module not found" errors:
|
||||
```bash
|
||||
# Make sure you're in the virtual environment
|
||||
source venv/bin/activate
|
||||
|
||||
# Install missing packages individually
|
||||
pip install [package_name]
|
||||
```
|
||||
|
||||
### Ollama connection issues:
|
||||
```bash
|
||||
# Make sure Ollama is running
|
||||
ollama serve
|
||||
|
||||
# Test the connection
|
||||
curl http://localhost:11434/api/tags
|
||||
```
|
||||
|
||||
### Database issues:
|
||||
```bash
|
||||
# Reset database
|
||||
rm fishbowl_test.db
|
||||
# Then re-run Step 3
|
||||
```
|
||||
|
||||
## 🎯 Next Steps
|
||||
|
||||
Once running, you can:
|
||||
1. **Test creative collaboration** with the demo script
|
||||
2. **Add Discord integration** with your bot tokens
|
||||
3. **Explore the admin interface** (when built)
|
||||
4. **Watch characters autonomously collaborate** on creative projects
|
||||
|
||||
The system is designed to run autonomously - characters will propose projects, share memories, and collaborate based on their trust relationships and creative interests!
|
||||
Reference in New Issue
Block a user