# elizaOS Development Discord - 2025-05-20

## Overall Discussion Highlights

### Technical Issues & Troubleshooting
- **RAG Implementation Challenges**: Detailed discussion about proper knowledge file organization, with Ruby explaining that server-specific content should be in folders matching server IDs and shared knowledge in a dedicated folder.
- **Database Connectivity**: Users experienced timeout issues with Neon DB. Ruby suggested adding connection timeout parameters and checking for multiple running instances.
- **Plugin Compatibility**: Significant feedback about plugin compatibility issues between v1 and v2, with specific error messages like "Cannot read properties of undefined" being reported.
- **Model Provider Limitations**: Users reported the "No TEXT_EMBEDDING model registered" error, indicating issues with model provider integration.

### Feature Development
- **Sentry Integration**: PR #4650 adds Sentry logging functionality, with discussions about potential rate limiting for error hooks. The implementation leverages the existing CLI logger.
- **Modular Backend**: Ruby mentioned working on a modular backend to support different LLM providers.
- **Microsoft's NLWeb**: Brief mention of Microsoft's NLWeb project for converting websites to MCP servers.
- **Streaming Responses**: A user inquired about streaming responses from Eliza's message API, but received no answer.

### Documentation & User Experience
- Jin shared comprehensive user feedback from April-May, categorizing problems into technical issues, documentation gaps, feature requests, and user experience concerns.
- Ruby offered to create documentation about v2 character configuration differences to address confusion.

## Key Questions & Answers

### RAG Implementation
- **Q**: What is the right folder structure for RAG?  
  **A**: Knowledge folder at root level with server-specific knowledge in subdirectories matching server IDs and shared folder for common knowledge.

- **Q**: Does it take time for the memory system to use knowledge files effectively?  
  **A**: No, embeddings are created when files are first loaded and are immediately ready for use.

- **Q**: How does the similarity threshold affect fragment retrieval?  
  **A**: Lower thresholds return more fragments but less relevant ones; higher thresholds return fewer, more precise matches.

### Database & System Management
- **Q**: What are typical reasons for failing to connect to Neon DB?  
  **A**: Firewall/security rules, connection pooling limits, incorrect connection string format, or too many instances running.

- **Q**: How do I kill existing ElizaOS processes?  
  **A**: Use 'ps aux | grep elizaos' to find process IDs, then 'kill -9 [PID]' on Linux/Mac; use Task Manager on Windows.

- **Q**: Should I delete old embeddings from the Neon DB?  
  **A**: No need, they get overwritten automatically when you restart the agent.

## Community Help & Collaboration

### RAG Implementation Support
Ruby provided extensive support to Scooter on RAG implementation:
- Explained ideal knowledge directory structure
- Provided debug statements to add to loadKnowledge function
- Suggested adding connection timeout parameter for database issues
- Recommended structuring knowledge files with clear headers for better embedding quality
- Advised on memory management with MEMORY_DECAY_DAYS and MEMORY_RELEVANCE_THRESHOLD variables

### Documentation Assistance
Ruby offered to help Jin create documentation for v2 character configuration, addressing a key pain point identified in user feedback.

## Action Items

### Technical
- Fix plugin compatibility issues between v1 and v2 (Mentioned by Jin)
- Resolve model provider issues and "No TEXT_EMBEDDING model registered" error (Mentioned by Jin)
- Fix database issues with PostgreSQL and SQLite (Mentioned by Jin)
- Develop modular backend for different LLM providers (Mentioned by Ruby)
- Add debug statements to loadKnowledge function to trace execution (Mentioned by Ruby)
- Ensure POSTGRES_URL in .env, @elizaos/plugin-sql in plugins array, and ragKnowledge: true in settings (Mentioned by Ruby)
- Add ?connect_timeout=10 to POSTGRES_URL to address connection timeouts (Mentioned by Ruby)
- Update ElizaOS to latest version (1.0.0-beta.52) (Mentioned by Ruby)
- Add MEMORY_DECAY_DAYS=7 and MEMORY_RELEVANCE_THRESHOLD=0.8 to .env file (Mentioned by Ruby)
- Experiment with different RAG_SIMILARITY_THRESHOLD values (starting around 0.7) (Mentioned by Ruby)
- Integrate Microsoft's NLWeb for converting websites into MCP servers (Mentioned by DeFine)
- Consider implementing streaming responses in Eliza's message API (Mentioned by Syed Muqeet Aqib)

### Documentation
- Create guide on v1 vs v2 differences (Mentioned by Ruby)
- Document character configuration in v2 (Mentioned by Ruby)
- Create plugin development documentation for v2 (Mentioned by Jin)
- Create example of full directory layout for RAG knowledge structure (Mentioned by Ruby)
- Document process for checking and killing ElizaOS processes (Mentioned by Ruby)
- Explain how RAG system works with embeddings and knowledge retrieval (Mentioned by Ruby)

### Feature
- Implement cross-platform memory functionality (Mentioned by Jin)
- Develop no-code web UI for agent creation (Mentioned by Jin)
- Improve RAG capabilities (Mentioned by Jin)
- Explore building "emo-eliza" cheaply (Mentioned by sayonara)