- 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.
193 lines
5.0 KiB
Markdown
193 lines
5.0 KiB
Markdown
# 🚀 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! |