Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/develop' into develop
Browse files Browse the repository at this point in the history
* upstream/develop:
  plugin-tts: enhance TTS generation flow and caching (elizaOS#2506)
  chore: add eliza technical report/paper (elizaOS#2517)
  feat: plugin rabbi trader tests (elizaOS#2520)
  Replace user ID with room ID in MemoryManager and other improvements (elizaOS#2492)
  test: plugin-tee - adjusting project structure and new tests (elizaOS#2508)
  fix: use header key from api config (elizaOS#2518)
  docs: add docs/README_JA.md (elizaOS#2515)
  AgentKit - Default Agent Config (elizaOS#2505)
  feat(plugin-openai): add OpenAI integration for text generation (elizaOS#2463)
  feat: add support for NVIDIA inference for ElizaOS (elizaOS#2512)
  test: api timeout handling for plugin-binance (elizaOS#2504)
  Replace type assertions
  Replace type assertions
  destroy file system after sending media
  support multimedia
  • Loading branch information
mgunnin committed Jan 19, 2025
2 parents 95e1ddf + cfd1f48 commit 995f7ca
Show file tree
Hide file tree
Showing 46 changed files with 2,474 additions and 649 deletions.
11 changes: 10 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,15 @@ EMBEDDING_OPENAI_MODEL= # Default: text-embedding-3-small
IMAGE_OPENAI_MODEL= # Default: dall-e-3
USE_OPENAI_EMBEDDING= # Set to TRUE for OpenAI/1536, leave blank for local

# Community Plugin for OpenAI Configuration
ENABLE_OPEN_AI_COMMUNITY_PLUGIN=false
OPENAI_DEFAULT_MODEL=
OPENAI_MAX_TOKENS=
OPENAI_TEMPERATURE=




# Atoma SDK Configuration
ATOMASDK_BEARER_AUTH= # Atoma SDK Bearer Auth token
ATOMA_API_URL= # Default: https://api.atoma.network/v1
Expand Down Expand Up @@ -359,9 +368,9 @@ COINBASE_GENERATED_WALLET_HEX_SEED= # Not your address but the wallet hex seed f
COINBASE_NOTIFICATION_URI= # For webhook plugin the uri you want to send the webhook to for dummy ones use https://webhook.site

# Coinbase AgentKit
COINBASE_AGENT_KIT_NETWORK= # defaults to 'base-sepolia'
CDP_API_KEY_NAME=
CDP_API_KEY_PRIVATE_KEY=
CDP_AGENT_KIT_NETWORK=base-sepolia # Optional: Defaults to base-sepolia

# Coinbase Charity Configuration
IS_CHARITABLE=false # Set to true to enable charity donations
Expand Down
17 changes: 15 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<div align="center">

📖 [Documentation](https://elizaos.github.io/eliza/) | 🎯 [Examples](https://github.com/thejoven/awesome-eliza)
📑 [Technical Report](https://arxiv.org/pdf/2501.06781) | 📖 [Documentation](https://elizaos.github.io/eliza/) | 🎯 [Examples](https://github.com/thejoven/awesome-eliza)

</div>

Expand Down Expand Up @@ -157,12 +157,25 @@ pnpm install --include=optional sharp
- [GitHub Issues](https://github.com/elizaos/eliza/issues). Best for: bugs you encounter using Eliza, and feature proposals.
- [Discord](https://discord.gg/ai16z). Best for: sharing your applications and hanging out with the community.

## Citation

We now have a [paper](https://arxiv.org/pdf/2501.06781) you can cite for the Eliza OS:
```bibtex
@article{walters2025eliza,
title={Eliza: A Web3 friendly AI Agent Operating System},
author={Walters, Shaw and Gao, Sam and Nerd, Shakker and Da, Feng and Williams, Warren and Meng, Ting-Chien and Han, Hunter and He, Frank and Zhang, Allen and Wu, Ming and others},
journal={arXiv preprint arXiv:2501.06781},
year={2025}
}
```

## Contributors

<a href="https://github.com/elizaos/eliza/graphs/contributors">
<img src="https://contrib.rocks/image?repo=elizaos/eliza" />
<img src="https://contrib.rocks/image?repo=elizaos/eliza" alt="Eliza project contributors" />
</a>


## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=elizaos/eliza&type=Date)](https://star-history.com/#elizaos/eliza&Date)
97 changes: 48 additions & 49 deletions agent/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,96 +18,95 @@
"exec": "node --enable-source-maps --loader ts-node/esm src/index.ts"
},
"dependencies": {
"@elizaos/adapter-pglite": "workspace:*",
"@elizaos/adapter-supabase": "workspace:*",
"@elizaos/adapter-postgres": "workspace:*",
"@elizaos/adapter-redis": "workspace:*",
"@elizaos/adapter-sqlite": "workspace:*",
"@elizaos/adapter-supabase": "workspace:*",
"@elizaos/adapter-pglite": "workspace:*",
"@elizaos/client-auto": "workspace:*",
"@elizaos/client-direct": "workspace:*",
"@elizaos/client-discord": "workspace:*",
"@elizaos/client-farcaster": "workspace:*",
"@elizaos/client-instagram": "workspace:*",
"@elizaos/client-lens": "workspace:*",
"@elizaos/client-slack": "workspace:*",
"@elizaos/client-telegram": "workspace:*",
"@elizaos/client-twitter": "workspace:*",
"@elizaos/client-instagram": "workspace:*",
"@elizaos/client-slack": "workspace:*",
"@elizaos/core": "workspace:*",
"@elizaos/plugin-0g": "workspace:*",
"@elizaos/plugin-3d-generation": "workspace:*",
"@elizaos/plugin-abstract": "workspace:*",
"@elizaos/plugin-agentkit": "workspace:*",
"@elizaos/plugin-akash": "workspace:*",
"@elizaos/plugin-allora": "workspace:*",
"@elizaos/plugin-aptos": "workspace:*",
"@elizaos/plugin-arthera": "workspace:*",
"@elizaos/plugin-autonome": "workspace:*",
"@elizaos/plugin-avail": "workspace:*",
"@elizaos/plugin-avalanche": "workspace:*",
"@elizaos/plugin-b2": "workspace:*",
"@elizaos/plugin-binance": "workspace:*",
"@elizaos/plugin-birdeye": "workspace:*",
"@elizaos/plugin-bootstrap": "workspace:*",
"@elizaos/plugin-coinbase": "workspace:*",
"@elizaos/plugin-coingecko": "workspace:*",
"@elizaos/plugin-coinmarketcap": "workspace:*",
"@elizaos/plugin-conflux": "workspace:*",
"@elizaos/plugin-binance": "workspace:*",
"@elizaos/plugin-avail": "workspace:*",
"@elizaos/plugin-bootstrap": "workspace:*",
"@elizaos/plugin-di": "workspace:*",
"@elizaos/plugin-cosmos": "workspace:*",
"@elizaos/plugin-cronoszkevm": "workspace:*",
"@elizaos/plugin-depin": "workspace:*",
"@elizaos/plugin-dexscreener": "workspace:*",
"@elizaos/plugin-di": "workspace:0.1.9-alpha.1",
"@elizaos/plugin-echochambers": "workspace:*",
"@elizaos/plugin-intiface": "workspace:*",
"@elizaos/plugin-coinbase": "workspace:*",
"@elizaos/plugin-conflux": "workspace:*",
"@elizaos/plugin-evm": "workspace:*",
"@elizaos/plugin-echochambers": "workspace:*",
"@elizaos/plugin-flow": "workspace:*",
"@elizaos/plugin-fuel": "workspace:*",
"@elizaos/plugin-genlayer": "workspace:*",
"@elizaos/plugin-giphy": "workspace:*",
"@elizaos/plugin-gitbook": "workspace:*",
"@elizaos/plugin-story": "workspace:*",
"@elizaos/plugin-gitcoin-passport": "workspace:*",
"@elizaos/plugin-goat": "workspace:*",
"@elizaos/plugin-hyperliquid": "workspace:*",
"@elizaos/plugin-lensNetwork": "workspace:*",
"@elizaos/plugin-icp": "workspace:*",
"@elizaos/plugin-image-generation": "workspace:*",
"@elizaos/plugin-injective": "workspace:*",
"@elizaos/plugin-intiface": "workspace:*",
"@elizaos/plugin-iq6900": "workspace:*",
"@elizaos/plugin-lensNetwork": "workspace:*",
"@elizaos/plugin-letzai": "workspace:*",
"@elizaos/plugin-massa": "workspace:*",
"@elizaos/plugin-movement": "workspace:*",
"@elizaos/plugin-multiversx": "workspace:*",
"@elizaos/plugin-near": "workspace:*",
"@elizaos/plugin-nft-collections": "workspace:*",
"@elizaos/plugin-massa": "workspace:*",
"@elizaos/plugin-nft-generation": "workspace:*",
"@elizaos/plugin-node": "workspace:*",
"@elizaos/plugin-obsidian": "workspace:*",
"@elizaos/plugin-opacity": "workspace:*",
"@elizaos/plugin-open-weather": "workspace:*",
"@elizaos/plugin-primus": "workspace:*",
"@elizaos/plugin-pyth-data": "workspace:*",
"@elizaos/plugin-quai": "workspace:*",
"@elizaos/plugin-rabbi-trader": "workspace:*",
"@elizaos/plugin-sgx": "workspace:*",
"@elizaos/plugin-solana": "workspace:*",
"@elizaos/plugin-injective": "workspace:*",
"@elizaos/plugin-solana-agent-kit": "workspace:*",
"@elizaos/plugin-squid-router": "workspace:*",
"@elizaos/plugin-stargaze": "workspace:*",
"@elizaos/plugin-autonome": "workspace:*",
"@elizaos/plugin-starknet": "workspace:*",
"@elizaos/plugin-story": "workspace:*",
"@elizaos/plugin-stargaze": "workspace:*",
"@elizaos/plugin-giphy": "workspace:*",
"@elizaos/plugin-ton": "workspace:*",
"@elizaos/plugin-sui": "workspace:*",
"@elizaos/plugin-sgx": "workspace:*",
"@elizaos/plugin-iq6900": "workspace:*",
"@elizaos/plugin-tee": "workspace:*",
"@elizaos/plugin-tee-log": "workspace:*",
"@elizaos/plugin-tee-marlin": "workspace:*",
"@elizaos/plugin-tee-verifiable-log": "workspace:*",
"@elizaos/plugin-thirdweb": "workspace:*",
"@elizaos/plugin-ton": "workspace:*",
"@elizaos/plugin-multiversx": "workspace:*",
"@elizaos/plugin-near": "workspace:*",
"@elizaos/plugin-zksync-era": "workspace:*",
"@elizaos/plugin-twitter": "workspace:*",
"@elizaos/plugin-primus": "workspace:*",
"@elizaos/plugin-cronoszkevm": "workspace:*",
"@elizaos/plugin-3d-generation": "workspace:*",
"@elizaos/plugin-fuel": "workspace:*",
"@elizaos/plugin-avalanche": "workspace:*",
"@elizaos/plugin-video-generation": "workspace:*",
"@elizaos/plugin-web-search": "workspace:*",
"@elizaos/plugin-zksync-era": "workspace:*",
"@elizaos/plugin-dexscreener": "workspace:*",
"@elizaos/plugin-letzai": "workspace:*",
"@elizaos/plugin-thirdweb": "workspace:*",
"@elizaos/plugin-genlayer": "workspace:*",
"@elizaos/plugin-tee-verifiable-log": "workspace:*",
"@elizaos/plugin-depin": "workspace:*",
"@elizaos/plugin-open-weather": "workspace:*",
"@elizaos/plugin-obsidian": "workspace:*",
"@elizaos/plugin-arthera": "workspace:*",
"@elizaos/plugin-allora": "workspace:*",
"@elizaos/plugin-opacity": "workspace:*",
"@elizaos/plugin-hyperliquid": "workspace:*",
"@elizaos/plugin-akash": "workspace:*",
"@elizaos/plugin-quai": "workspace:*",
"@elizaos/plugin-b2": "workspace:*",
"@elizaos/plugin-nft-collections": "workspace:*",
"@elizaos/plugin-pyth-data": "workspace:*",
"@elizaos/plugin-openai": "workspace:*",
"readline": "1.3.0",
"rss-parser": "^3.13.0",
"ws": "8.18.0",
"yargs": "17.7.2"
},
Expand Down
28 changes: 23 additions & 5 deletions agent/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@ import { RedisClient } from "@elizaos/adapter-redis";
import { SqliteDatabaseAdapter } from "@elizaos/adapter-sqlite";
import { SupabaseDatabaseAdapter } from "@elizaos/adapter-supabase";
import { AutoClientInterface } from "@elizaos/client-auto";
import { DirectClient } from "@elizaos/client-direct";
import { DiscordClientInterface } from "@elizaos/client-discord";
import { FarcasterClientInterface } from "@elizaos/client-farcaster";
import { InstagramClientInterface } from "@elizaos/client-instagram";
import { LensAgentClient } from "@elizaos/client-lens";
import { SlackClientInterface } from "@elizaos/client-slack";
import { TelegramClientInterface } from "@elizaos/client-telegram";
import { TwitterClientInterface } from "@elizaos/client-twitter";
import { FarcasterClientInterface } from "@elizaos/client-farcaster";
import { DirectClient } from "@elizaos/client-direct";
import { agentKitPlugin } from "@elizaos/plugin-agentkit";
// import { ReclaimAdapter } from "@elizaos/plugin-reclaim";
// import { elizaCodeinPlugin, onchainJson } from "@elizaos/plugin-iq6900";
import { PrimusAdapter } from "@elizaos/plugin-primus";
Expand Down Expand Up @@ -105,8 +106,11 @@ import { verifiableLogPlugin } from "@elizaos/plugin-tee-verifiable-log";
import { thirdwebPlugin } from "@elizaos/plugin-thirdweb";
import { tonPlugin } from "@elizaos/plugin-ton";
import { webSearchPlugin } from "@elizaos/plugin-web-search";

import { pythDataPlugin } from "@elizaos/plugin-pyth-data";
import { openaiPlugin } from '@elizaos/plugin-openai';
import createRabbiTraderPlugin from "@elizaos/plugin-rabbi-trader";


import { zksyncEraPlugin } from "@elizaos/plugin-zksync-era";
import Database from "better-sqlite3";
import fs from "fs";
Expand Down Expand Up @@ -564,15 +568,20 @@ export function getTokenForProvider(
character.settings?.secrets?.HYPERBOLIC_API_KEY ||
settings.HYPERBOLIC_API_KEY
);

case ModelProviderName.VENICE:
return (
character.settings?.secrets?.VENICE_API_KEY ||
settings.VENICE_API_KEY
);
case ModelProviderName.ATOMA:
return (
character.settings?.secrets?.ATOMASDK_BEARER_AUTH ||
settings.ATOMASDK_BEARER_AUTH
case ModelProviderName.NVIDIA:
return (
character.settings?.secrets?.ATOMASDK_BEARER_AUTH ||
settings.ATOMASDK_BEARER_AUTH
character.settings?.secrets?.NVIDIA_API_KEY ||
settings.NVIDIA_API_KEY
);
case ModelProviderName.AKASH_CHAT_API:
return (
Expand Down Expand Up @@ -904,6 +913,10 @@ export async function createAgent(
// : null,
bootstrapPlugin,
rabbiPlugin,
getSecret(character, "CDP_API_KEY_NAME") &&
getSecret(character, "CDP_API_KEY_PRIVATE_KEY")
? agentKitPlugin
: null,
getSecret(character, "DEXSCREENER_API_KEY")
? dexScreenerPlugin
: null,
Expand Down Expand Up @@ -959,6 +972,7 @@ export async function createAgent(
getSecret(character, "FAL_API_KEY") ||
getSecret(character, "OPENAI_API_KEY") ||
getSecret(character, "VENICE_API_KEY") ||
getSecret(character, "NVIDIA_API_KEY") ||
getSecret(character, "NINETEEN_AI_API_KEY") ||
getSecret(character, "HEURIST_API_KEY") ||
getSecret(character, "LIVEPEER_GATEWAY_URL")
Expand Down Expand Up @@ -1079,6 +1093,9 @@ export async function createAgent(
// getSecret(character, "PYTH_MAINNET_PROGRAM_KEY")
// ? pythDataPlugin
// : null,
getSecret(character, "OPENAI_API_KEY") && getSecret(character, "ENABLE_OPEN_AI_COMMUNITY_PLUGIN")
? openaiPlugin
: null,
].filter(Boolean),
providers: [],
actions: [],
Expand Down Expand Up @@ -1329,3 +1346,4 @@ if (
console.error("unhandledRejection", err);
});
}

Loading

0 comments on commit 995f7ca

Please sign in to comment.