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:
163
README.md
163
README.md
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user