Implement comprehensive collaborative creative system with cross-character memory sharing

Major Features Added:
• Cross-character memory sharing with trust-based permissions (Basic 30%, Personal 50%, Intimate 70%, Full 90%)
• Complete collaborative creative projects system with MCP integration
• Database persistence for all creative project data with proper migrations
• Trust evolution system based on interaction quality and relationship development
• Memory sharing MCP server with 6 autonomous tools for character decision-making
• Creative projects MCP server with 8 tools for autonomous project management
• Enhanced character integration with all RAG and MCP capabilities
• Demo scripts showcasing memory sharing and creative collaboration workflows

System Integration:
• Main application now initializes memory sharing and creative managers
• Conversation engine upgraded to use EnhancedCharacter objects with full RAG access
• Database models added for creative projects, collaborators, contributions, and invitations
• Complete prompt construction pipeline enriched with RAG insights and trust data
• Characters can now autonomously propose projects, share memories, and collaborate creatively
This commit is contained in:
2025-07-04 23:07:08 -07:00
parent d6ec5ad29c
commit 1b586582d4
25 changed files with 6857 additions and 254 deletions

163
README.md
View File

@@ -1,6 +1,6 @@
# Discord Fishbowl 🐠
A fully autonomous Discord bot ecosystem where AI characters chat with each other indefinitely without human intervention.
A fully autonomous Discord bot ecosystem where AI characters chat with each other indefinitely without human intervention. Features a comprehensive web-based admin interface, advanced RAG systems, and MCP integration for true character autonomy.
## Features
@@ -81,140 +81,93 @@ discord_fishbowl/
- Local LLM service (Ollama recommended)
- Discord Bot Token
## Quick Start
## 🚀 Quick Start
### 1. Setup Local LLM (Ollama)
```bash
# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Pull a model (choose based on your hardware)
ollama pull llama2 # 4GB RAM
ollama pull mistral # 4GB RAM
ollama pull codellama:13b # 8GB RAM
ollama pull llama2:70b # 40GB RAM
# Start Ollama service
ollama serve
```
### 2. Setup Discord Bot
1. Go to [Discord Developer Portal](https://discord.com/developers/applications)
2. Create a new application
3. Go to "Bot" section and create a bot
4. Copy the bot token
5. Enable necessary intents:
- Message Content Intent
- Server Members Intent
6. Invite bot to your server with appropriate permissions
### 3. Install Dependencies
**The easiest way to get started is with our interactive setup script:**
```bash
# Clone the repository
git clone <repository-url>
cd discord_fishbowl
# Install Python dependencies
pip install -r requirements.txt
# Setup environment variables
cp .env.example .env
# Edit .env with your configuration
# Run the interactive setup
python install.py
```
### 4. Configure Environment
The setup script will:
- ✅ Check system requirements
- ✅ Create Python virtual environment
- ✅ Install all dependencies (Python + Frontend)
- ✅ Guide you through configuration
- ✅ Set up database and services
- ✅ Create startup scripts
- ✅ Initialize default characters
Edit `.env` file:
**See [INSTALL.md](INSTALL.md) for detailed installation instructions.**
```env
# Discord Configuration
DISCORD_BOT_TOKEN=your_bot_token_here
DISCORD_GUILD_ID=your_guild_id_here
DISCORD_CHANNEL_ID=your_channel_id_here
### Running the Application
# Database Configuration
DB_HOST=localhost
DB_PORT=5432
DB_NAME=discord_fishbowl
DB_USER=postgres
DB_PASSWORD=your_password_here
# Redis Configuration
REDIS_HOST=localhost
REDIS_PORT=6379
# LLM Configuration
LLM_BASE_URL=http://localhost:11434
LLM_MODEL=llama2
```
### 5. Setup Database
After setup, start the fishbowl:
```bash
# Start PostgreSQL and Redis (using Docker)
docker-compose up -d postgres redis
# Using startup scripts
./start.sh # Linux/Mac
start.bat # Windows
# Run database migrations
alembic upgrade head
# Or create tables directly
python -c "import asyncio; from src.database.connection import create_tables; asyncio.run(create_tables())"
# Or manually
python -m src.main
```
### 6. Initialize Characters
### Admin Interface
The system will automatically create characters from `config/characters.yaml` on first run. You can customize the characters by editing this file.
### 7. Run the Application
Start the web-based admin interface:
```bash
# Run the main Discord bot
python src/main.py
# Using startup scripts
./start-admin.sh # Linux/Mac
start-admin.bat # Windows
# Or using Docker
docker-compose up --build
# Or manually
python -m src.admin.app
```
### 8. Admin Interface (Optional)
Access at: http://localhost:8000/admin
The Discord Fishbowl includes a comprehensive web-based admin interface for monitoring and managing the character ecosystem.
## 📊 Admin Interface Features
#### Quick Start
```bash
# Start both backend and frontend
python scripts/start_admin.py
```
The comprehensive web-based admin interface provides:
This will start:
- **FastAPI backend** on http://localhost:8000
- **React frontend** on http://localhost:3000/admin
### 🎛️ Real-time Dashboard
- Live activity monitoring with WebSocket updates
- System metrics and performance tracking
- Character activity feed and notifications
- Health status of all services
#### Manual Setup
```bash
# Start the admin backend
cd discord_fishbowl
uvicorn src.admin.app:app --host 0.0.0.0 --port 8000 --reload
### 👥 Character Management
- Individual character profiles and analytics
- Personality trait visualization
- Relationship network mapping
- Memory browser and export capabilities
- Pause/resume individual characters
# In a new terminal, start the frontend
cd admin-frontend
npm install
npm start
```
### 💬 Conversation Analytics
- Search and filter conversation history
- Export conversations in multiple formats
- Sentiment analysis and engagement scoring
- Topic trend analysis and insights
#### Default Login
- **Username**: admin
- **Password**: admin123
### ⚙️ System Controls
- Real-time system status monitoring
- Global pause/resume functionality
- Configuration management interface
- Resource usage tracking (CPU, memory)
- System log viewer with filtering
#### Admin Features
- 📊 **Real-time Dashboard**: Live activity monitoring and system metrics
- 👥 **Character Management**: Profile viewing, relationship networks, evolution tracking
- 💬 **Conversation Browser**: Search, analyze, and export conversations
- 📈 **Analytics**: Community health, topic trends, engagement metrics
- ⚙️ **System Controls**: Pause/resume, configuration, performance monitoring
- 🔒 **Safety Tools**: Content moderation and intervention capabilities
### 🔒 Safety & Moderation
- Content monitoring and alerting
- Safety parameter configuration
- Auto-moderation controls
- Community health metrics
## Configuration