# ElizaOS Developer Update - 2025-09-17

## Core Framework

The ElizaOS framework has undergone significant architectural improvements this week as we approach the 2.0 release, which is planned for approximately two weeks from now. Key developments include:

- **Message Bus Cleanup**: Work is in progress to create a JavaScript pure safe MessageBus class for easier CI and browser support. This change will enable more seamless integration between different environments.

- **Server-Side Improvements**: PR #5864 has been submitted to move functionality from CLI to server with added tests, part of the ongoing effort to centralize business logic in the server package and simplify the CLI architecture.

- **ElizaOS Class Development**: A new orchestration class is being developed to better manage agent lifecycle, plugin loading, and configuration handling, creating a cleaner separation of concerns.

- **TAU Development**: The TAU system has been completed with the tool calling specification now approximately 70% complete, enhancing the agent's ability to use tools effectively.

## New Features

### React Hooks & Browser Plugin Compatibility

The upcoming 2.0 release will feature React hooks and browser plugin compatibility, allowing developers to write ElizaOS plugins directly in React components:

```javascript
import { useEliza } from '@elizaos/core/react';

function MyElizaComponent() {
  const { agent, messages, sendMessage } = useEliza();
  
  return (
    <div>
      <div className="messages">
        {messages.map(msg => (
          <div key={msg.id}>{msg.content}</div>
        ))}
      </div>
      <button onClick={() => sendMessage("Hello agent!")}>
        Send Message
      </button>
    </div>
  );
}
```

### PGLite Browser Compatibility

The same PGLite instance that runs in Node.js now works in browsers without logical code changes:

```javascript
import { sql } from '@elizaos/plugin-sql'; // Automatically resolves to browser or node version

// In browser environments, this uses PGLite WASM
// In Node environments, this can use PostgreSQL or PGLite
const result = await sql`SELECT * FROM users WHERE id = ${userId}`;
```

### Autonomous Agent Technology (A2A)

New visualization tools for chain swarm exploration are in development, with suggestions to create:

- Interactive 8004 GUI with MetaMask browser support
- Frontends for exploring chain swarm and bidding for tasks
- Reputation/identity systems for autonomous agents

## Bug Fixes

### Local LLM Integration Issue

Users were experiencing issues connecting to local Ollama LLM instances. The solution involves environment variable configuration:

```bash
# Add to your .env file
OLLAMA_API_ENDPOINT=http://localhost:11434
```

### Character Migration Challenges

Several users reported difficulties migrating characters from v1. The recommended solution:

```bash
# Use the character-migrator tool
npx @elizaos/character-migrator

# For better debugging, add LOG_LEVEL
LOG_LEVEL=debug elizaos start
```

### Data Accuracy for Numerical Information

Users were experiencing hallucinated numerical data when using vector search. The recommended approach is to use CSV plugins with analysis actions instead:

```javascript
// Instead of relying on vector search for precise numbers
// Use structured data through the CSV plugin
const results = await agent.csv.analyze({
  file: "quarterly_reports.csv",
  query: "What was Q3 revenue growth?"
});
```

## API Changes

### Plugin Bootstrap Requirement

The `plugin-bootstrap` is now required in all ElizaOS projects. This plugin provides core functionality that was previously optional but is now considered essential:

```javascript
// Add to your project's plugin list
import bootstrap from '@elizaos/plugin-bootstrap';

const character = {
  name: 'MyAgent',
  plugins: [bootstrap, /* other plugins */]
};
```

### Browser Field in Package.json

Developers can now explicitly specify imports for different environments:

```javascript
// Default import (resolves based on bundler preference)
import { Agent } from '@elizaos/core';

// Browser-specific import
import { Agent } from '@elizaos/core/browser';

// Node-specific import
import { Agent } from '@elizaos/core/node';
```

## Social Media Integrations

### Farcaster Plugin

A significant issue was identified with the Farcaster plugin making approximately 2 million requests to PostgreSQL databases. This is a known issue that the team is investigating, likely related to `/notifications` requests via Neynar.

### Discord Plugin

Several improvements have been made to the Discord plugin:

- Fixed a critical bug that prevented generated images from appearing in Discord channels (PR #5861)
- Added ability to control bot permissions through environment variables:

```bash
# Control which channels the Discord bot can operate in
CHANNEL_IDS=123456789,987654321
```

### Crypto Streaming System

Jin mentioned development of a crypto superchat system allowing token tips with message pop-ups and text-to-speech functionality, potentially integrating with Spartan for message responses.

## Model Provider Updates

### Anthropic Plugin Configuration

Users can now configure the Anthropic plugin to use Claude Opus 4 instead of being limited to Claude 3.5 Sonnet through environment variables:

```bash
# Set in your .env file
ANTHROPIC_SMALL_MODEL=claude-3-5-sonnet-20240620
ANTHROPIC_LARGE_MODEL=claude-opus-4-20250514
```

### Claude Performance

Users have reported that Claude Opus is getting faster, confirming improved performance over previous versions.

### Universal AI Gateway

PR #5806 proposes adding a universal AI Gateway plugin that would provide access to 100+ AI models through Vercel AI Gateway and other OpenAI-compatible gateways:

```javascript
import aiGatewayPlugin from '@elizaos/plugin-aigateway';

const character = {
    name: 'MyAgent',
    plugins: [aiGatewayPlugin],
    settings: {
        AIGATEWAY_API_KEY: 'your-api-key',
        AIGATEWAY_DEFAULT_MODEL: 'openai:gpt-4o-mini',
        AIGATEWAY_LARGE_MODEL: 'anthropic:claude-opus-4'
    }
};
```

## Breaking Changes

### V1 to V2 Migration Issues

As we approach the 2.0 release, developers should be aware of the following migration issues:

1. **Plugin Bootstrap**: The `plugin-bootstrap` is now required. Without it, many core features will not function properly.

2. **Character Migration**: Use the character-migrator tool when migrating characters from v1:
   ```bash
   npx @elizaos/character-migrator
   ```

3. **Message Bus Changes**: The new MessageBus implementation may require adjustments to custom plugins that directly interact with the message bus.

4. **CLI Architecture**: The CLI is becoming a thin orchestration layer that delegates to the server package. Projects that directly interact with CLI internals may need updates.

5. **Browser Compatibility**: While the new browser compatibility features open up new possibilities, they also introduce environment-specific considerations in plugin development.

For more information on these changes and to prepare for the 2.0 release, keep an eye on the upcoming dev blog workshop that will showcase the new useEliza React hooks and browser plugin compatibility.