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:
37
src/main.py
37
src/main.py
@@ -23,9 +23,13 @@ from conversation.scheduler import ConversationScheduler
|
||||
from llm.client import llm_client
|
||||
from rag.vector_store import vector_store_manager
|
||||
from rag.community_knowledge import initialize_community_knowledge_rag
|
||||
from rag.memory_sharing import MemorySharingManager
|
||||
from collaboration.creative_projects import CollaborativeCreativeManager
|
||||
from mcp.self_modification_server import mcp_server
|
||||
from mcp.file_system_server import filesystem_server
|
||||
from mcp.calendar_server import calendar_server
|
||||
from mcp.memory_sharing_server import initialize_memory_sharing_mcp_server
|
||||
from mcp.creative_projects_server import initialize_creative_projects_mcp_server
|
||||
import logging
|
||||
|
||||
# Setup logging first
|
||||
@@ -47,6 +51,8 @@ class FishbowlApplication:
|
||||
# RAG and MCP systems
|
||||
self.vector_store = None
|
||||
self.community_knowledge = None
|
||||
self.memory_sharing_manager = None
|
||||
self.creative_manager = None
|
||||
self.mcp_servers = []
|
||||
|
||||
async def initialize(self):
|
||||
@@ -88,6 +94,16 @@ class FishbowlApplication:
|
||||
await self.community_knowledge.initialize(character_names)
|
||||
logger.info("Community knowledge RAG initialized")
|
||||
|
||||
# Initialize memory sharing manager
|
||||
self.memory_sharing_manager = MemorySharingManager(self.vector_store)
|
||||
await self.memory_sharing_manager.initialize(character_names)
|
||||
logger.info("Memory sharing manager initialized")
|
||||
|
||||
# Initialize collaborative creative manager
|
||||
self.creative_manager = CollaborativeCreativeManager(self.vector_store, self.memory_sharing_manager)
|
||||
await self.creative_manager.initialize(character_names)
|
||||
logger.info("Collaborative creative manager initialized")
|
||||
|
||||
# Initialize MCP servers
|
||||
logger.info("Initializing MCP servers...")
|
||||
|
||||
@@ -101,9 +117,24 @@ class FishbowlApplication:
|
||||
self.mcp_servers.append(calendar_server)
|
||||
logger.info("Calendar/time awareness MCP server initialized")
|
||||
|
||||
# Initialize conversation engine
|
||||
self.conversation_engine = ConversationEngine()
|
||||
logger.info("Conversation engine created")
|
||||
# Initialize memory sharing MCP server
|
||||
memory_sharing_mcp = initialize_memory_sharing_mcp_server(self.memory_sharing_manager)
|
||||
self.mcp_servers.append(memory_sharing_mcp)
|
||||
logger.info("Memory sharing MCP server initialized")
|
||||
|
||||
# Initialize creative projects MCP server
|
||||
creative_projects_mcp = initialize_creative_projects_mcp_server(self.creative_manager)
|
||||
self.mcp_servers.append(creative_projects_mcp)
|
||||
logger.info("Creative projects MCP server initialized")
|
||||
|
||||
# Initialize conversation engine with RAG and MCP systems
|
||||
self.conversation_engine = ConversationEngine(
|
||||
vector_store=self.vector_store,
|
||||
memory_sharing_manager=self.memory_sharing_manager,
|
||||
creative_manager=self.creative_manager,
|
||||
mcp_servers=self.mcp_servers
|
||||
)
|
||||
logger.info("Conversation engine created with enhanced capabilities")
|
||||
|
||||
# Initialize scheduler
|
||||
self.scheduler = ConversationScheduler(self.conversation_engine)
|
||||
|
||||
Reference in New Issue
Block a user