# elizaOS Development Discord - 2025-04-17

## Overall Discussion Highlights

### ElizaOS v2 Development
- The community is actively working with the v2 beta, developing plugins, and adapting to architectural changes
- Most plugins are still in transition from v1 to v2
- Client architecture has changed significantly in v2, with the previous client system being replaced by a plugin-based architecture
- Knowledge directory structure has changed in v2, with files now typically stored under projects/[project_name]/knowledge/
- API endpoints have been restructured in v2 under /api/v2/ with separate routes for agents, projects, and knowledge management

### Plugin Development
- Developers are working on integrating various plugins into the ElizaOS v2 ecosystem, including:
  - Discord plugin
  - Twitter plugin
  - Suno (music AI) plugin
  - MCP plugin by Fleek
  - Livepeer as an inference provider for Vtuber plugin
- Discussions about how to add and use local plugins in the monorepo environment without publishing them
- Questions about adding new inference providers under the packages folder

### Technical Challenges
- PDF upload functionality is not supported in v2, requiring manual file placement in knowledge directories
- For production environments with multiple characters, separate projects are recommended for better isolation and control
- A workaround for PDF handling was suggested using GPT-4's PDF reading capability combined with a custom embedding pipeline

### Pull Requests & Code Reviews
- PR #100 for the agent-twitter-client repo implementing tweet deletion feature
- PR #4320 for plugin-twitter to maintain consistency across codebases
- PRs for XMTP client upgrades (#2) and registry updates (#127)

## Key Questions & Answers

**Q: How do I import a local plugin in monorepo and use it in defaultCharacter?**  
A: You should be able to add the plugin in monorepo, then build it and reference it in the character file. (0xbbjoker)

**Q: Can I find the Discord V2 plugin for my project?**  
A: The v2-develop version should work with the beta version. (Nisita)

**Q: Any good tutorial on how to create a client?**  
A: Clients are not in v2 anymore; check existing clients in v1 like Auto-client and direct-client. (standard)

**Q: Can the agents or the org use MCP?**  
A: Yes, there's a plugin-mcp by fleek. (Odilitime)

**Q: Where is the knowledge directory in the new rework?**  
A: In v2 the knowledge directory structure changed - check the config/projects folder for the default path, or specify a custom knowledge_path in your agent config. (Ruby)

**Q: For production, is it better to use multiple projects for each character or just one?**  
A: Multiple projects gives better isolation and control over each character's knowledge and behavior. Single project is simpler but requires careful namespacing. (Ruby)

**Q: Does the project version have an API to upload knowledge?**  
A: Not yet - knowledge upload via API is still in development. Files need to be added manually to project directories for now. (Ruby)

**Q: Can I change the ID of an already created avatar?**  
A: Yes, you can update an avatar's ID in the config file, but it will break existing conversations or knowledge tied to that ID. (Ruby)

**Q: Could you return the response from the deleteTweet method?**  
A: Thank you for the feedback, I'm adding the return to the wrapping method, that was an oversight. (4nzn)

## Community Help & Collaboration

### Plugin Development Support
- **0xbbjoker** helped **standard** with adding and using local plugins in monorepo by providing step-by-step instructions for building, linking, and using local plugins
- **standard** assisted **LemonS** with creating a client when no plugin exists by suggesting combining Auto-client and direct-client from v1 as a starting point
- **Nisita** helped **モーテンセン** find the Discord V2 plugin and confirmed the v2-develop version works with beta

### PDF Handling Solutions
- **Ruby** provided **mindxploit** with a comprehensive solution for PDF RAG with v0.25.9, including code examples using langchain with PDFPlumberLoader, RecursiveCharacterTextSplitter, OpenAIEmbeddings, and FAISS to create a custom PDF processing pipeline

### Code Review & Improvement
- **tcm390** helped **4nzn** improve the deleteTweet method implementation by suggesting returning the Response object and opening a PR to the v2-develop branch for consistency
- **Ruby** reviewed and approved **4nzn**'s PR after confirming code quality, test coverage, and API integration

## Action Items

### Technical
- Implement custom PDF handling via GPT-4 and embedding pipeline for v0.25.9 (Mentioned by Ruby)
- Export important data before changing agent IDs (Mentioned by Ruby)
- Add Response return type to deleteTweet method in agent-twitter-client (Mentioned by tcm390)
- Create PR for tweet deletion feature in v2-develop branch of plugin-twitter (Mentioned by tcm390)
- Review XMTP client upgrades and registry updates (Mentioned by Ruby)
- Add Livepeer as inference provider for Vtuber plugin (Mentioned by DeFine)
- Port client functionality into the new plugin-based architecture (Mentioned by standard)

### Documentation
- Create better tutorials for plugin development in v2 (Mentioned by LemonS)
- Create clear documentation for agent ID configuration (Mentioned by mindxploit)

### Feature
- Add PDF upload support to v2 and projects mode (Mentioned by mindxploit)
- Develop API endpoints for knowledge management (Mentioned by Ruby)
- Add joystram to Eliza (Mentioned by Yemmii)
- Integration of Suno music AI plugin (Mentioned by DorianD)
- Implement Discord plugin for v2 (Mentioned by モーテンセン)