Skip to content

Commit

Permalink
Merge branch 'main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
rarepepi authored Dec 14, 2024
2 parents 1a23cc8 + 67f85fb commit d05f311
Show file tree
Hide file tree
Showing 88 changed files with 5,931 additions and 2,123 deletions.
32 changes: 32 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ DISCORD_VOICE_CHANNEL_ID= # The ID of the voice channel the bot should join (opt

# AI Model API Keys
OPENAI_API_KEY= # OpenAI API key, starting with sk-
SMALL_OPENAI_MODEL= # Default: gpt-4o-mini
MEDIUM_OPENAI_MODEL= # Default: gpt-4o
LARGE_OPENAI_MODEL= # Default: gpt-4o
EMBEDDING_OPENAI_MODEL= # Default: text-embedding-3-small
IMAGE_OPENAI_MODEL= # Default: dall-e-3

# Eternal AI's Decentralized Inference API
ETERNALAI_URL=
Expand Down Expand Up @@ -48,6 +53,8 @@ TWITTER_EMAIL= # Account email
TWITTER_2FA_SECRET=
TWITTER_COOKIES= # Account cookies
TWITTER_POLL_INTERVAL=120 # How often (in seconds) the bot should check for interactions
TWITTER_SEARCH_ENABLE=FALSE # Enable timeline search, WARNING this greatly increases your chance of getting banned
TWITTER_TARGET_USERS= # Comma separated list of Twitter user names to interact with
X_SERVER_URL=
XAI_API_KEY=
XAI_MODEL=
Expand All @@ -57,6 +64,10 @@ POST_INTERVAL_MIN= # Default: 90
POST_INTERVAL_MAX= # Default: 180
POST_IMMEDIATELY=

# Twitter action processing configuration
ACTION_INTERVAL=300000 # Interval in milliseconds between action processing runs (default: 5 minutes)
ENABLE_ACTION_PROCESSING=false # Set to true to enable the action processing loop

# Feature Flags
IMAGE_GEN= # Set to TRUE to enable image generation
USE_OPENAI_EMBEDDING= # Set to TRUE for OpenAI/1536, leave blank for local
Expand Down Expand Up @@ -107,6 +118,10 @@ LLAMALOCAL_PATH= # Default: "" which is the current directory in plugin-node/dis

# API Keys
ANTHROPIC_API_KEY= # For Claude
SMALL_ANTHROPIC_MODEL= # Default: claude-3-haiku-20240307
MEDIUM_ANTHROPIC_MODEL= # Default: claude-3-5-sonnet-20241022
LARGE_ANTHROPIC_MODEL= # Default: claude-3-5-sonnet-20241022

HEURIST_API_KEY= # Get from https://heurist.ai/dev-access

# Heurist Models
Expand Down Expand Up @@ -210,6 +225,12 @@ WALLET_SECRET_SALT= # ONLY DEFINE IF YOU WANT TO USE TEE Plugin, otherwise it wi
# Galadriel Configuration
GALADRIEL_API_KEY=gal-* # Get from https://dashboard.galadriel.com/

# Venice Configuration
VENICE_API_KEY= # generate from venice settings
SMALL_VENICE_MODEL= # Default: llama-3.3-70b
MEDIUM_VENICE_MODEL= # Default: llama-3.3-70b
LARGE_VENICE_MODEL= # Default: llama-3.1-405b

# fal.ai Configuration
FAL_API_KEY=
FAL_AI_LORA_PATH=
Expand All @@ -235,10 +256,21 @@ INTERNET_COMPUTER_ADDRESS=
APTOS_PRIVATE_KEY= # Aptos private key
APTOS_NETWORK= # must be one of mainnet, testnet

# EchoChambers Configuration
ECHOCHAMBERS_API_URL=http://127.0.0.1:3333
ECHOCHAMBERS_API_KEY=testingkey0011
ECHOCHAMBERS_USERNAME=eliza
ECHOCHAMBERS_DEFAULT_ROOM=general
ECHOCHAMBERS_POLL_INTERVAL=60
ECHOCHAMBERS_MAX_MESSAGES=10

# AWS S3 Configuration Settings for File Upload
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_REGION=
AWS_S3_BUCKET=
AWS_S3_UPLOAD_PATH=


# Deepgram
DEEPGRAM_API_KEY=
2 changes: 1 addition & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
echo "NODE_ENV=test" >> packages/core/.env.test
- name: Run tests
run: cd packages/core && pnpm test
run: cd packages/core && pnpm test:coverage

- name: Build packages
run: pnpm run build
Expand Down
55 changes: 55 additions & 0 deletions .github/workflows/integrationTests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: integration-test
on:
push:
branches:
- "*"
pull_request_target:
branches:
- "*"
jobs:
smoke-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v3
with:
version: 9.4.0

- uses: actions/setup-node@v4
with:
node-version: "23"
cache: "pnpm"

- name: Run smoke tests
run: pnpm run smokeTests
integration-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v3
with:
version: 9.4.0

- uses: actions/setup-node@v4
with:
node-version: "23"
cache: "pnpm"

- name: Install dependencies
run: pnpm install -r

- name: Build packages
run: pnpm build

- name: Run integration tests
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
if [ -z "$OPENAI_API_KEY" ]; then
echo "Skipping integration tests due to missing required API keys"
exit 1
else
pnpm run integrationTests
fi
18 changes: 18 additions & 0 deletions .github/workflows/require-develop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Check pull request source branch
on:
pull_request_target:
types:
- opened
- reopened
- synchronize
- edited
jobs:
check-branches:
runs-on: ubuntu-latest
steps:
- name: Check branches
run: |
if [ ${{ github.head_ref }} != "develop" ] && [ ${{ github.base_ref }} == "main" ]; then
echo "Merge requests to main branch are only allowed from dev branch."
exit 1
fi
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,5 @@ packages/plugin-coinbase/package-lock.json
tsup.config.bundled_*.mjs

.turbo

coverage
116 changes: 116 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,121 @@
# Changelog

## [v0.1.6-alpha.1](https://github.com/ai16z/eliza/tree/v0.1.6-alpha.1) (2024-12-13)

[Full Changelog](https://github.com/ai16z/eliza/compare/v0.1.5-alpha.5...v0.1.6-alpha.1)

**Implemented enhancements:**

- Add Venice.ai Model Provider [\#1016](https://github.com/ai16z/eliza/issues/1016)
- Need to add media file upload for posting tweets with image from imageGenerationPlugin. Currently only discord has this implemented [\#969](https://github.com/ai16z/eliza/issues/969)
- Script to create core memories for the agent [\#967](https://github.com/ai16z/eliza/issues/967)
- feat: add hot-reloading for agent dependencies [\#930](https://github.com/ai16z/eliza/issues/930)
- Improve `dev.sh` Script to Enhance Plugin Development Workflow [\#888](https://github.com/ai16z/eliza/issues/888)

**Fixed bugs:**

- How to set the model class for Anthropic? [\#988](https://github.com/ai16z/eliza/issues/988)
- Twitter Search Client Broken [\#943](https://github.com/ai16z/eliza/issues/943)
- Stuck querying when @'ing it in Discord [\#921](https://github.com/ai16z/eliza/issues/921)
- Error pnpm start - Promise.withResolvers\(\): pdfjs-dist [\#902](https://github.com/ai16z/eliza/issues/902)
- Running tests on start and dev? [\#893](https://github.com/ai16z/eliza/issues/893)
- build: eliza docs build creates 130 files that want to be modified/added to git [\#849](https://github.com/ai16z/eliza/issues/849)
- EVM Plugin can't run any action [\#735](https://github.com/ai16z/eliza/issues/735)
- Bug: plugin-solana crash report [\#467](https://github.com/ai16z/eliza/issues/467)

**Closed issues:**

- Issue: Unable to Post Tweets Using Eliza Integration with Twitter via Cookies or OAuth2 [\#901](https://github.com/ai16z/eliza/issues/901)

**Merged pull requests:**

- chore: release develop into main [\#1045](https://github.com/ai16z/eliza/pull/1045) ([odilitime](https://github.com/odilitime))
- fix: re-enable generateNewTweetLoop / lint fixes [\#1043](https://github.com/ai16z/eliza/pull/1043) ([odilitime](https://github.com/odilitime))
- docs: characterfile.md docs outdated with latest eliza version [\#1042](https://github.com/ai16z/eliza/pull/1042) ([tqdpham96](https://github.com/tqdpham96))
- feat: Add AI Agent Dev School Tutorial Link [\#1038](https://github.com/ai16z/eliza/pull/1038) ([lalalune](https://github.com/lalalune))
- fix: use pull\_request\_target for integration tests [\#1035](https://github.com/ai16z/eliza/pull/1035) ([jnaulty](https://github.com/jnaulty))
- feat: Add Discord Team features [\#1032](https://github.com/ai16z/eliza/pull/1032) ([azep-ninja](https://github.com/azep-ninja))
- feat: client-discord stop implementation / agent improvements [\#1029](https://github.com/ai16z/eliza/pull/1029) ([odilitime](https://github.com/odilitime))
- chore: Push Develop into Main [\#1028](https://github.com/ai16z/eliza/pull/1028) ([odilitime](https://github.com/odilitime))
- feat: improve voice processing and add deepgram transcription option [\#1026](https://github.com/ai16z/eliza/pull/1026) ([tcm390](https://github.com/tcm390))
- docs: Update README.md [\#1025](https://github.com/ai16z/eliza/pull/1025) ([sergical](https://github.com/sergical))
- docs: Update README.md [\#1024](https://github.com/ai16z/eliza/pull/1024) ([sergical](https://github.com/sergical))
- chore: Twitter fetchHomeTimeline rework [\#1021](https://github.com/ai16z/eliza/pull/1021) ([odilitime](https://github.com/odilitime))
- chore: Update CI configuration to enable test coverage and add covera… [\#1019](https://github.com/ai16z/eliza/pull/1019) ([snobbee](https://github.com/snobbee))
- docs: "AI Agent Dev School Part 4" livestream notes [\#1015](https://github.com/ai16z/eliza/pull/1015) ([YoungPhlo](https://github.com/YoungPhlo))
- docs: Add templates documentation to the project [\#1013](https://github.com/ai16z/eliza/pull/1013) ([Lukapetro](https://github.com/Lukapetro))
- feat: Add custom fetch logic for agent [\#1010](https://github.com/ai16z/eliza/pull/1010) ([v1xingyue](https://github.com/v1xingyue))
- feat: Plugin evm multichain [\#1009](https://github.com/ai16z/eliza/pull/1009) ([nicky-ru](https://github.com/nicky-ru))
- feat: add venice.ai api model provider [\#1008](https://github.com/ai16z/eliza/pull/1008) ([proteanx](https://github.com/proteanx))
- feat: improve Twitter client with action processing [\#1007](https://github.com/ai16z/eliza/pull/1007) ([dorianjanezic](https://github.com/dorianjanezic))
- chore: Bring Develop up to date with HEAD [\#1006](https://github.com/ai16z/eliza/pull/1006) ([odilitime](https://github.com/odilitime))
- feat: create example folder with example plugin [\#1004](https://github.com/ai16z/eliza/pull/1004) ([monilpat](https://github.com/monilpat))
- chore: Twitter search switch [\#1003](https://github.com/ai16z/eliza/pull/1003) ([odilitime](https://github.com/odilitime))
- fix: add callback to action in farcaster client [\#1002](https://github.com/ai16z/eliza/pull/1002) ([sin-bufan](https://github.com/sin-bufan))
- fix: typo initialize [\#1000](https://github.com/ai16z/eliza/pull/1000) ([cryptofish7](https://github.com/cryptofish7))
- feat: allow users to configure models for openai and anthropic [\#999](https://github.com/ai16z/eliza/pull/999) ([oxSaturn](https://github.com/oxSaturn))
- add echochambers [\#997](https://github.com/ai16z/eliza/pull/997) ([savageops](https://github.com/savageops))
- test: adding parsing tests. changed files parsing.test.ts [\#996](https://github.com/ai16z/eliza/pull/996) ([ai16z-demirix](https://github.com/ai16z-demirix))
- feat: create README\_DE.md [\#995](https://github.com/ai16z/eliza/pull/995) ([GottliebFreudenreich](https://github.com/GottliebFreudenreich))
- fix: Fix Twitter Search Logic and Add Galadriel Image Model [\#994](https://github.com/ai16z/eliza/pull/994) ([dontAskVI](https://github.com/dontAskVI))
- test: Initial release of smoke/integration tests + testing framework [\#993](https://github.com/ai16z/eliza/pull/993) ([jzvikart](https://github.com/jzvikart))
- fix: a typo in characterfile.md [\#986](https://github.com/ai16z/eliza/pull/986) ([oxSaturn](https://github.com/oxSaturn))
- fix: Goat Plugin + AWS S3 Service error when env vars absent [\#985](https://github.com/ai16z/eliza/pull/985) ([jnaulty](https://github.com/jnaulty))
- docs: add WSL Setup Guide to documentation [\#983](https://github.com/ai16z/eliza/pull/983) ([ileana-pr](https://github.com/ileana-pr))
- fix: docker trying to filter out missing docs package [\#978](https://github.com/ai16z/eliza/pull/978) ([odilitime](https://github.com/odilitime))
- chore: fix broken lockfile [\#977](https://github.com/ai16z/eliza/pull/977) ([shakkernerd](https://github.com/shakkernerd))
- chore: add how to startup chat ui [\#976](https://github.com/ai16z/eliza/pull/976) ([yodamaster726](https://github.com/yodamaster726))
- feat: Add hyperbolic env vars to override model class [\#974](https://github.com/ai16z/eliza/pull/974) ([meppsilon](https://github.com/meppsilon))
- LinkedIn Client [\#973](https://github.com/ai16z/eliza/pull/973) ([bkellgren](https://github.com/bkellgren))
- Fix farcaster client process action issue [\#963](https://github.com/ai16z/eliza/pull/963) ([sin-bufan](https://github.com/sin-bufan))
- fix\(agent\): correct EVM plugin activation condition [\#962](https://github.com/ai16z/eliza/pull/962) ([0xAsten](https://github.com/0xAsten))
- fix: use MAX\_TWEET\_LENGTH from setting [\#960](https://github.com/ai16z/eliza/pull/960) ([oxSaturn](https://github.com/oxSaturn))
- fix: Revert "docs: add WSL installation guide" [\#959](https://github.com/ai16z/eliza/pull/959) ([monilpat](https://github.com/monilpat))
- feat: add dev script to plugin-aptos [\#956](https://github.com/ai16z/eliza/pull/956) ([asianviking](https://github.com/asianviking))
- chore: rename intiface plugin [\#955](https://github.com/ai16z/eliza/pull/955) ([odilitime](https://github.com/odilitime))
- fix: revert llamacloud endpoint change [\#954](https://github.com/ai16z/eliza/pull/954) ([odilitime](https://github.com/odilitime))
- feat: allow character.json settings models for open router [\#953](https://github.com/ai16z/eliza/pull/953) ([odilitime](https://github.com/odilitime))
- chore: 947 add other evm chains to wallet [\#949](https://github.com/ai16z/eliza/pull/949) ([n00b21337](https://github.com/n00b21337))
- fix: telegram response memory userId to agentId [\#948](https://github.com/ai16z/eliza/pull/948) ([bmgalego](https://github.com/bmgalego))
- docs: add WSL installation guide [\#946](https://github.com/ai16z/eliza/pull/946) ([ileana-pr](https://github.com/ileana-pr))
- feat: Supports upload files to AWS S3. [\#941](https://github.com/ai16z/eliza/pull/941) ([xwxtwd](https://github.com/xwxtwd))
- feat: process all responses actions [\#940](https://github.com/ai16z/eliza/pull/940) ([bmgalego](https://github.com/bmgalego))
- feat: add callback handler to runtime evaluate method [\#938](https://github.com/ai16z/eliza/pull/938) ([bmgalego](https://github.com/bmgalego))
- fix: update package name in faq [\#937](https://github.com/ai16z/eliza/pull/937) ([oxSaturn](https://github.com/oxSaturn))
- fix: update quickstart and .env.example [\#932](https://github.com/ai16z/eliza/pull/932) ([oxSaturn](https://github.com/oxSaturn))
- feat: add dynamic watch paths for agent development [\#931](https://github.com/ai16z/eliza/pull/931) ([samuveth](https://github.com/samuveth))
- feat: flow update generate object [\#929](https://github.com/ai16z/eliza/pull/929) ([btspoony](https://github.com/btspoony))
- feat: Config eternalai model from env [\#927](https://github.com/ai16z/eliza/pull/927) ([genesis-0000](https://github.com/genesis-0000))
- feat: Add NanoGPT provider [\#926](https://github.com/ai16z/eliza/pull/926) ([dylan1951](https://github.com/dylan1951))
- fix: use of Heurist model env vars [\#924](https://github.com/ai16z/eliza/pull/924) ([boxhock](https://github.com/boxhock))
- feat: add readContract / invokeContract functionality to Coinbase plugin [\#923](https://github.com/ai16z/eliza/pull/923) ([monilpat](https://github.com/monilpat))
- chore: deprecate text based way of generating JSON [\#920](https://github.com/ai16z/eliza/pull/920) ([monilpat](https://github.com/monilpat))
- feat: create README\_TH.md [\#918](https://github.com/ai16z/eliza/pull/918) ([asianviking](https://github.com/asianviking))
- feat: update gaianet config [\#915](https://github.com/ai16z/eliza/pull/915) ([L-jasmine](https://github.com/L-jasmine))
- fix: Farcater client cleanup and fixed response logic [\#914](https://github.com/ai16z/eliza/pull/914) ([sayangel](https://github.com/sayangel))
- Twitter client enhancements [\#913](https://github.com/ai16z/eliza/pull/913) ([tharak123455](https://github.com/tharak123455))
- feat: MAX\_TWEET\_LENGTH env implementation [\#912](https://github.com/ai16z/eliza/pull/912) ([onur-saf](https://github.com/onur-saf))
- feat: allow users to configure models for groq [\#910](https://github.com/ai16z/eliza/pull/910) ([oxSaturn](https://github.com/oxSaturn))
- fix: evaluation json parsing [\#907](https://github.com/ai16z/eliza/pull/907) ([cygaar](https://github.com/cygaar))
- fix: twitter actions not triggering [\#903](https://github.com/ai16z/eliza/pull/903) ([cygaar](https://github.com/cygaar))
- chore: Consistent language for Community & Contact link label [\#899](https://github.com/ai16z/eliza/pull/899) ([golryang](https://github.com/golryang))
- chore: pass env variables when setting up GOAT and update GOAT readme [\#898](https://github.com/ai16z/eliza/pull/898) ([0xaguspunk](https://github.com/0xaguspunk))
- docs: Add What Did You Get Done This Week \#4 summaries and timestamps [\#895](https://github.com/ai16z/eliza/pull/895) ([YoungPhlo](https://github.com/YoungPhlo))
- chore: improved dev command [\#892](https://github.com/ai16z/eliza/pull/892) ([shakkernerd](https://github.com/shakkernerd))
- chore: added more help message to the important notice text. [\#891](https://github.com/ai16z/eliza/pull/891) ([shakkernerd](https://github.com/shakkernerd))
- chore: update models for groq [\#890](https://github.com/ai16z/eliza/pull/890) ([oxSaturn](https://github.com/oxSaturn))
- Feat : github image cicd [\#889](https://github.com/ai16z/eliza/pull/889) ([v1xingyue](https://github.com/v1xingyue))
- chore: enhance dev script, performance improvement and add help message [\#887](https://github.com/ai16z/eliza/pull/887) ([shakkernerd](https://github.com/shakkernerd))
- chore: disable building docs on build command [\#884](https://github.com/ai16z/eliza/pull/884) ([shakkernerd](https://github.com/shakkernerd))
- fix: re-enable coverage report upload to Codecov in CI workflow [\#880](https://github.com/ai16z/eliza/pull/880) ([snobbee](https://github.com/snobbee))
- feat: Add Flow Blockchain plugin [\#874](https://github.com/ai16z/eliza/pull/874) ([btspoony](https://github.com/btspoony))
- feat: Add TEE Mode to Solana Plugin [\#835](https://github.com/ai16z/eliza/pull/835) ([HashWarlock](https://github.com/HashWarlock))
- feat: add hyperbolic api to eliza [\#828](https://github.com/ai16z/eliza/pull/828) ([meppsilon](https://github.com/meppsilon))
- loading indicator [\#827](https://github.com/ai16z/eliza/pull/827) ([tcm390](https://github.com/tcm390))
- use github access token [\#825](https://github.com/ai16z/eliza/pull/825) ([tcm390](https://github.com/tcm390))
- fix: refactor contributor page [\#809](https://github.com/ai16z/eliza/pull/809) ([tcm390](https://github.com/tcm390))
- feat: implement advanced coinbase trading [\#725](https://github.com/ai16z/eliza/pull/725) ([monilpat](https://github.com/monilpat))

## [v0.1.5-alpha.5](https://github.com/ai16z/eliza/tree/v0.1.5-alpha.5) (2024-12-07)

[Full Changelog](https://github.com/ai16z/eliza/compare/v0.1.5-alpha.4...v0.1.5-alpha.5)
Expand Down
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@
- ☁️ Supports many models (local Llama, OpenAI, Anthropic, Groq, etc.)
- 📦 Just works!

## Video Tutorials
[AI Agent Dev School](https://www.youtube.com/watch?v=ArptLpQiKfI&list=PLx5pnFXdPTRzWla0RaOxALTSTnVq53fKL)

## 🎯 Use Cases

- 🤖 Chatbots
Expand All @@ -50,7 +53,7 @@ git clone https://github.com/ai16z/eliza-starter.git

cp .env.example .env

pnpm i && pnpm start
pnpm i && pnpm build && pnpm start
```

Then read the [Documentation](https://ai16z.github.io/eliza/) to learn how to customize your Eliza.
Expand Down Expand Up @@ -90,7 +93,7 @@ sh scripts/start.sh

### Edit the character file

1. Open `agent/src/character.ts` to modify the default character. Uncomment and edit.
1. Open `packages/core/src/defaultCharacter.ts` to modify the default character. Uncomment and edit.

2. To load custom characters:
- Use `pnpm start --characters="path/to/your/character.json"`
Expand Down
Loading

0 comments on commit d05f311

Please sign in to comment.