Files
discord-fishbowl/QUICKSTART.md
matt 824b118e93 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.
2025-07-05 10:01:41 -07:00

5.0 KiB

🚀 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

# 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:

# 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

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

# 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)

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:
DISCORD_TOKEN=your_actual_discord_token
DISCORD_APPLICATION_ID=your_app_id  
DISCORD_GUILD_ID=your_guild_id
  1. Run the full system:
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:

# Make sure you're in the virtual environment
source venv/bin/activate

# Install missing packages individually
pip install [package_name]

Ollama connection issues:

# Make sure Ollama is running
ollama serve

# Test the connection
curl http://localhost:11434/api/tags

Database issues:

# 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!