# elizaOS Development Discord - 2025-01-06

## Overall Discussion Highlights

### Technical Issues & Troubleshooting
- **Develop Branch Stability**: Multiple users reported issues with the develop branch being broken, with TypeScript errors related to the Reclaim protocol TLS package. PR #1917 was submitted to address these issues, bringing hope for stability.
- **Database Errors**: Users encountered both PostgreSQL errors ("simple_heap_update") and SQLite issues ("zero-length vectors not supported"), with community members providing workarounds.
- **Environment Setup**: Challenges with Node.js version compatibility were discussed, particularly between v23.3.0 and older LTS versions. Docker configuration was suggested as a solution for consistent deployment.
- **Model Provider Integration**: Users troubleshooted issues with OpenAI and Heurist API connections, including quota errors and configuration problems.

### Architecture & Development
- **State Management**: Discussions focused on maintaining state between plugin calls, with recommendations to use runtime context, cache, or providers to inject information.
- **Plugin Architecture**: Detailed conversations about plugin orchestration, action handlers, and callback mechanisms, with code examples shared.
- **Database Extensions**: A user shared their implementation of an optional table name parameter for the PostgreSQL adapter.
- **Docker Deployment**: Issues with missing docker-compose file in the "starter" component were identified as a "source of fake bugs" causing deployment problems.

### Integration & Custom Development
- **Social Media Integration**: Several users expressed interest in developing plugins for Twitter, Twitch streaming, and OpenSea NFT data.
- **Cryptocurrency Applications**: Discussions about implementing crypto trading bots and ensuring real-time pricing data through multiple sources.
- **Knowledge Base Integration**: Questions about adding external knowledge beyond character files, with recommendations to use folder2knowledge tool.

## Key Questions & Answers

### Installation & Setup
- **Q**: What's the difference between developing with eliza-starter and eliza?  
  **A**: Eliza comes with everything while with starter you add plugins yourself.

- **Q**: How can I fix the TypeScript error with ROOT_CAS in the develop branch?  
  **A**: Use main branch instead as develop is currently broken.

- **Q**: How to change the node version of Eliza framework?  
  **A**: Use nvm (node version manager) to install and switch between Node.js versions.

### Development & Debugging
- **Q**: How can I fix the PostgreSQL error "simple_heap_update"?  
  **A**: Dropping the participants table fixes this.

- **Q**: How can I fix the "SQLITE ERROR, zero-length vectors not supported" issue?  
  **A**: Delete agent/data/db.sqlite, fetch latest develop, and run git pull && pnpm i.

- **Q**: What are possible reasons for the action handler not writing handler response to the client?  
  **A**: Could stem from incorrect middleware configuration, missing response serialization, async handler not properly resolved, or mismatched content type headers.

- **Q**: How to debug if my bot doesn't see any Twitter interactions it's supposed to see?  
  **A**: Validate webhook config, check rate limits, verify oauth tokens, inspect network logs.

- **Q**: How to debug if I'm seeing a looping message upon running Eliza?  
  **A**: Check character configuration for circular reference triggers, enable debug logging to trace execution path, and verify no runaway regex patterns in response generation.

### Features & Integration
- **Q**: How can I add a knowledge base beyond character file, like PDF files?  
  **A**: Use the folder2knowledge tool from the characterfile repository.

- **Q**: Where should I put the knowledge.json file in my Eliza project?  
  **A**: It goes into the character file JSON in the knowledge field.

- **Q**: Is the Solana plugin the right one to use for analyzing Solana tokens?  
  **A**: Yes, use plugin-solana with Birdeye for token analytics.

- **Q**: How does one assure real-time cryptocurrency pricing data?  
  **A**: Use a multi-layered approach: websocket streams from exchanges, aggregator APIs like coingecko, and on-chain oracle networks like chainlink and pyth for low-latency price feeds.

- **Q**: What does `TWITTER_DRY_RUN` mean in the .env?  
  **A**: It's a debug flag that lets you simulate Twitter interactions without actually sending real API calls.

- **Q**: Can we add custom function API such as market data, news with Eliza?  
  **A**: Absolutely. Eliza's extensibility allows implementing custom API integrations via middleware or character-specific plugins.

## Community Help & Collaboration

- **sayonara** helped **WarfreakzPlays** with issues in the develop branch by suggesting using the main branch and offering to review pull requests when develop is fixed.

- **Santi** assisted **BitCoder** with SQLite errors by providing steps to fix by deleting db.sqlite file and pulling the latest develop branch.

- **W3_Bounty** guided **AD** in setting up a knowledge base by sharing documentation links and explaining how to use the folder2knowledge tool.

- **Ruby** provided **skmd | Kev's meat space** with a detailed Dockerfile and step-by-step guide for installing Eliza in Docker on Ubuntu.

- **W3_Bounty** helped **kAI wilder** understand how to add information to the context by explaining providers with code examples.

- **W3_Bounty** assisted **GeoStrong** with changing OpenAI model configuration by providing the correct environment variables.

- **jeanayala.eth** clarified for **saccharinedreams** that plugins can use clients (not vice versa) when troubleshooting Twitter client issues.

- **Odilitime** reassured **Dev LoD** about development direction, clarifying that no major code refactor is happening immediately regarding Token 2022.

## Action Items

### Technical
- Fix develop branch stability issues to address recurring integration test failures and TypeScript errors (Mentioned by Multiple users)
- Resolve PostgreSQL "simple_heap_update" error occurring on deployment (Mentioned by agwnl)
- Fix SQLite zero-length vectors error occurring after one question (Mentioned by BitCoder)
- Implement a sliding window or token-based truncation strategy for context management (Mentioned by Ruby)
- Create a custom solution or fork the existing runtime context handler (Mentioned by Ruby)
- Extend PostgreSQL adapter to take an optional table name parameter (Mentioned by kAI wilder)
- Develop test suite for PostgreSQL adapter extension (Mentioned by Ruby)
- Implement Docker containerization for cross-platform deployment consistency (Mentioned by Ruby)
- Investigate and fix issues with the starter component, particularly the missing docker-compose file (Mentioned by AIFlow.ML @ ElizaOS)
- Look into issue #1925 (Mentioned by AIFlow.ML @ ElizaOS)
- Perform deep dive into RPC data flow to address character file transmission errors (Mentioned by Ruby)

### Feature Development
- Create Twitch streaming plugin for agents to stream with chat interaction (Mentioned by DeFine and agwnl)
- Develop OpenSea/NFT marketplace integration for querying NFT properties and sales data (Mentioned by kAI wilder)
- Implement Twitter Spaces plugin for agents to participate in Twitter Spaces (Mentioned by Vice man)
- Create a custom provider for crypto news integration (Mentioned by Ruby)
- Develop an image metadata indexer for contextual image mapping (Mentioned by Ruby)
- Build a modular design for Solana trading bot with separate microservices (Mentioned by Ruby)
- Implement a custom image context library for using specific images in conversations (Mentioned by Ruby)

### Documentation
- Improve plugin development documentation to clarify creation and registration (Mentioned by Bertux)
- Create guide for onboarding new developers to simplify for newcomers (Mentioned by BitCoder)
- Document the process for debugging Twitter API interactions (Mentioned by Fricoben)
- Create a guide for implementing Telegram bot integration with Eliza (Mentioned by DreedX)
- Audit the starter's deployment workflow documentation (Mentioned by Ruby)