This repository provides a starter template for creating plugins for the Eliza AI agent framework. It includes example implementations for search functionality using Tavily and Exa APIs.
- Node.js 23+
- pnpm
- TypeScript knowledge
- Clone this repository:
git clone https://github.com/yourusername/eliza-plugin-starter.git
cd eliza-plugin-starter
- Install dependencies:
pnpm install
- Compile the TypeScript code:
pnpm tsc
- Run the project using the 'direct' client:
pnpm exec node --loader ts-node/esm ./src/scripts/load-with-plugin.ts --characters=./characters/eternalai.character.json
Note: Only the 'direct' client will work within this repo since it uses mocked capabilities of the real client. Plugins developed here can be directly transposed into the main Eliza repository.
This starter template is designed to work with the 'direct' client within this repository due to the mocked capabilities of the real client. Plugins developed here are fully compatible with the main Eliza repository and can be directly transposed.
src/
├── plugins/
│ ├── tavily/ # Tavily search plugin implementation
│ └── exa/ # Exa search plugin implementation
├── common/ # Shared utilities and types
└── index.ts # Main entry point
See the Plugin Development Guide for detailed instructions on creating your own plugin.
You can run the project using the following command:
pnpm exec node --loader ts-node/esm ./src/scripts/load-with-plugin.ts --characters=./characters/eternalai.character.json
Alternatively, to simplify this process, use the predefined script:
pnpm mock-eliza --characters=./characters/eternalai.character.json
This script will prompt for a comma-separated list of character files to load.
Note: The 'mock-eliza' script uses the 'direct' client because the project contains mocked capabilities of the real client.
This template includes two example plugin implementations:
- Tavily Search Plugin: Demonstrates web search capabilities using the Tavily API
- Exa Search Plugin: Shows how to integrate with the Exa search API
Check the individual plugin directories for specific documentation and usage instructions.
Contributions are welcome! Please read our Contributing Guide for details.
MIT