# ElizaOS Developer Update
August 1, 2025

## Core Framework

The ElizaOS core framework is undergoing significant architectural improvements to address identified challenges and enhance developer experience. Most notably:

### UUID Generation Refactoring
The team has identified a critical issue with the current deterministic UUID generation system, which creates agent UUIDs based on agent names. This can cause conflicts when different users create agents with identical names. Several solutions are being evaluated:

- Using random UUIDs for cloud deployments while maintaining deterministic UUIDs for local instances
- Adding an optional `agentName` field for display purposes while keeping the internal `name` field for UUID generation
- Making agent names unique across the platform

```typescript
// Current implementation (problematic)
const agentId = createDeterministicUUID(agentName);

// Potential solution for cloud environments
const agentId = isCloudDeployment 
  ? crypto.randomUUID() 
  : createDeterministicUUID(agentName);
```

### Plugin Namespacing
The team has reached consensus that plugins should use a structured namespace format (`plugins/<namespace>`) instead of a flat structure, improving organization and preventing naming collisions.

### API Improvements
The current API has been identified as having suboptimal developer experience, requiring manual channel management and polling. A new POST message API is being developed that will:
- Use default channels automatically
- Support hanging HTTP responses for bootstrap events
- Simplify agent interactions significantly

## New Features

### Character-Based Model Configuration
PR #5686 has been merged, adding support for character-specific model configuration settings. This allows developers to set different model parameters (like temperature, top_p, etc.) for each character, rather than globally.

```typescript
// Example character configuration with model settings
{
  "name": "FinancialAdvisor",
  "modelSettings": {
    "temperature": 0.2,
    "top_p": 0.95,
    "max_tokens": 2048
  }
}
```

### Plugin Search Functionality
A new plugin search feature is in development that will be available as a rate-limited endpoint, allowing developers to programmatically discover and utilize available plugins. The system will compute summaries and embeddings for all repositories to make them searchable.

### Dynamic Plugin Calling
The team is exploring context-based plugin calling to improve discoverability, allowing agents to dynamically identify and utilize the most appropriate plugins based on user queries without requiring explicit calls.

## Bug Fixes

### Project/Character Plugin Loading Order
A critical issue has been identified where project plugins are being incorrectly injected before character plugins, potentially causing unexpected behavior when plugins with the same name exist in both locations. The fix will ensure proper precedence rules are followed.

### Twitter Plugin Issues
The Twitter plugin (v1.2.17) has a reported issue where using the `TWITTER_TARGET_USERS` variable causes the bot to comment on original posts without LLM processing. This appears to be related to a recent migration of the Twitter client which may require adjustments to the `constants.ts` file.

```bash
# Current workaround for Twitter plugin
bun add @elizaos/plugin-twitter@latest
# Then modify constants.ts to adjust client parameters
```

### CLI Command Issues
Two new issues (#5695, #5696) have been opened regarding the CLI:
1. The `start` and `dev` commands should automatically add `@elizaos/cli` as a dev dependency if not already present
2. There's a Zod validation error affecting the `dev` command that needs to be fixed

## API Changes

### Runtime Service Access
We've received developer requests for clearer documentation on accessing services via the runtime by filtering entries. This is particularly important for plugin developers who need to interact with other services:

```typescript
// Example of how to access services by type (to be documented)
const knowledgeServices = runtime.getServicesByType('knowledge');
const twitterService = runtime.getServicesByType('twitter')[0];
```

### Farcaster Integration Updates
The Farcaster plugin is being refactored to use Neynar webhooks instead of polling for improved performance and reliability. Developers using this plugin will need to update their implementation to support the new webhook-based approach.

## Social Media Integrations

### Twitter/X Status
The ElizaOS X (Twitter) accounts are currently suspended, but the team has confirmed they are working on restoration. In the interim, the team is using alternative platforms like Farcaster and LinkedIn, and will be expanding to additional communication channels in the coming weeks.

### Twitter Plugin Migration
The Twitter client used in the plugin has been migrated, which may require adjustments to the `constants.ts` file. Developers experiencing issues should install the latest version and review the configuration:

```bash
bun add @elizaos/plugin-twitter@latest
```

## Model Provider Updates

### OpenRouter
OpenRouter has announced "Horizon Alpha," a new model with 256k context window that logs prompts and completions for training purposes. Developers should be aware of this logging behavior when utilizing this model for sensitive applications.

## Breaking Changes

### Plugin Routes Namespacing
PR #5693 introduces namespaced plugin routes, which may affect existing implementations. Plugins will now use a structured namespace format (`plugins/<namespace>`) rather than a flat structure.

### Documentation Restructuring
PR #5694 implements a major documentation restructuring and cleanup, which might affect bookmarks or direct links to specific documentation sections. The changes aim to make the documentation more organized and easier to navigate, but developers with hard-coded documentation links should update them.

---

For ongoing updates and discussions, please join us on Discord or visit our GitHub repository. The team is actively working on addressing issues and improving the platform based on community feedback.