Skip to content

Commit 995f7ca

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into develop
* 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
2 parents 95e1ddf + cfd1f48 commit 995f7ca

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+2474
-649
lines changed

.env.example

+10-1
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,15 @@ EMBEDDING_OPENAI_MODEL= # Default: text-embedding-3-small
9191
IMAGE_OPENAI_MODEL= # Default: dall-e-3
9292
USE_OPENAI_EMBEDDING= # Set to TRUE for OpenAI/1536, leave blank for local
9393

94+
# Community Plugin for OpenAI Configuration
95+
ENABLE_OPEN_AI_COMMUNITY_PLUGIN=false
96+
OPENAI_DEFAULT_MODEL=
97+
OPENAI_MAX_TOKENS=
98+
OPENAI_TEMPERATURE=
99+
100+
101+
102+
94103
# Atoma SDK Configuration
95104
ATOMASDK_BEARER_AUTH= # Atoma SDK Bearer Auth token
96105
ATOMA_API_URL= # Default: https://api.atoma.network/v1
@@ -359,9 +368,9 @@ COINBASE_GENERATED_WALLET_HEX_SEED= # Not your address but the wallet hex seed f
359368
COINBASE_NOTIFICATION_URI= # For webhook plugin the uri you want to send the webhook to for dummy ones use https://webhook.site
360369

361370
# Coinbase AgentKit
362-
COINBASE_AGENT_KIT_NETWORK= # defaults to 'base-sepolia'
363371
CDP_API_KEY_NAME=
364372
CDP_API_KEY_PRIVATE_KEY=
373+
CDP_AGENT_KIT_NETWORK=base-sepolia # Optional: Defaults to base-sepolia
365374

366375
# Coinbase Charity Configuration
367376
IS_CHARITABLE=false # Set to true to enable charity donations

README.md

+15-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<div align="center">
88

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

1111
</div>
1212

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

160+
## Citation
161+
162+
We now have a [paper](https://arxiv.org/pdf/2501.06781) you can cite for the Eliza OS:
163+
```bibtex
164+
@article{walters2025eliza,
165+
title={Eliza: A Web3 friendly AI Agent Operating System},
166+
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},
167+
journal={arXiv preprint arXiv:2501.06781},
168+
year={2025}
169+
}
170+
```
171+
160172
## Contributors
161173

162174
<a href="https://github.com/elizaos/eliza/graphs/contributors">
163-
<img src="https://contrib.rocks/image?repo=elizaos/eliza" />
175+
<img src="https://contrib.rocks/image?repo=elizaos/eliza" alt="Eliza project contributors" />
164176
</a>
165177

178+
166179
## Star History
167180

168181
[![Star History Chart](https://api.star-history.com/svg?repos=elizaos/eliza&type=Date)](https://star-history.com/#elizaos/eliza&Date)

agent/package.json

+48-49
Original file line numberDiff line numberDiff line change
@@ -18,96 +18,95 @@
1818
"exec": "node --enable-source-maps --loader ts-node/esm src/index.ts"
1919
},
2020
"dependencies": {
21-
"@elizaos/adapter-pglite": "workspace:*",
21+
"@elizaos/adapter-supabase": "workspace:*",
2222
"@elizaos/adapter-postgres": "workspace:*",
2323
"@elizaos/adapter-redis": "workspace:*",
2424
"@elizaos/adapter-sqlite": "workspace:*",
25-
"@elizaos/adapter-supabase": "workspace:*",
25+
"@elizaos/adapter-pglite": "workspace:*",
2626
"@elizaos/client-auto": "workspace:*",
2727
"@elizaos/client-direct": "workspace:*",
2828
"@elizaos/client-discord": "workspace:*",
2929
"@elizaos/client-farcaster": "workspace:*",
30-
"@elizaos/client-instagram": "workspace:*",
3130
"@elizaos/client-lens": "workspace:*",
32-
"@elizaos/client-slack": "workspace:*",
3331
"@elizaos/client-telegram": "workspace:*",
3432
"@elizaos/client-twitter": "workspace:*",
33+
"@elizaos/client-instagram": "workspace:*",
34+
"@elizaos/client-slack": "workspace:*",
3535
"@elizaos/core": "workspace:*",
3636
"@elizaos/plugin-0g": "workspace:*",
37-
"@elizaos/plugin-3d-generation": "workspace:*",
3837
"@elizaos/plugin-abstract": "workspace:*",
3938
"@elizaos/plugin-agentkit": "workspace:*",
40-
"@elizaos/plugin-akash": "workspace:*",
41-
"@elizaos/plugin-allora": "workspace:*",
4239
"@elizaos/plugin-aptos": "workspace:*",
43-
"@elizaos/plugin-arthera": "workspace:*",
44-
"@elizaos/plugin-autonome": "workspace:*",
45-
"@elizaos/plugin-avail": "workspace:*",
46-
"@elizaos/plugin-avalanche": "workspace:*",
47-
"@elizaos/plugin-b2": "workspace:*",
48-
"@elizaos/plugin-binance": "workspace:*",
4940
"@elizaos/plugin-birdeye": "workspace:*",
50-
"@elizaos/plugin-bootstrap": "workspace:*",
51-
"@elizaos/plugin-coinbase": "workspace:*",
5241
"@elizaos/plugin-coingecko": "workspace:*",
5342
"@elizaos/plugin-coinmarketcap": "workspace:*",
54-
"@elizaos/plugin-conflux": "workspace:*",
43+
"@elizaos/plugin-binance": "workspace:*",
44+
"@elizaos/plugin-avail": "workspace:*",
45+
"@elizaos/plugin-bootstrap": "workspace:*",
46+
"@elizaos/plugin-di": "workspace:*",
5547
"@elizaos/plugin-cosmos": "workspace:*",
56-
"@elizaos/plugin-cronoszkevm": "workspace:*",
57-
"@elizaos/plugin-depin": "workspace:*",
58-
"@elizaos/plugin-dexscreener": "workspace:*",
59-
"@elizaos/plugin-di": "workspace:0.1.9-alpha.1",
60-
"@elizaos/plugin-echochambers": "workspace:*",
48+
"@elizaos/plugin-intiface": "workspace:*",
49+
"@elizaos/plugin-coinbase": "workspace:*",
50+
"@elizaos/plugin-conflux": "workspace:*",
6151
"@elizaos/plugin-evm": "workspace:*",
52+
"@elizaos/plugin-echochambers": "workspace:*",
6253
"@elizaos/plugin-flow": "workspace:*",
63-
"@elizaos/plugin-fuel": "workspace:*",
64-
"@elizaos/plugin-genlayer": "workspace:*",
65-
"@elizaos/plugin-giphy": "workspace:*",
6654
"@elizaos/plugin-gitbook": "workspace:*",
55+
"@elizaos/plugin-story": "workspace:*",
6756
"@elizaos/plugin-gitcoin-passport": "workspace:*",
6857
"@elizaos/plugin-goat": "workspace:*",
69-
"@elizaos/plugin-hyperliquid": "workspace:*",
58+
"@elizaos/plugin-lensNetwork": "workspace:*",
7059
"@elizaos/plugin-icp": "workspace:*",
7160
"@elizaos/plugin-image-generation": "workspace:*",
72-
"@elizaos/plugin-injective": "workspace:*",
73-
"@elizaos/plugin-intiface": "workspace:*",
74-
"@elizaos/plugin-iq6900": "workspace:*",
75-
"@elizaos/plugin-lensNetwork": "workspace:*",
76-
"@elizaos/plugin-letzai": "workspace:*",
77-
"@elizaos/plugin-massa": "workspace:*",
7861
"@elizaos/plugin-movement": "workspace:*",
79-
"@elizaos/plugin-multiversx": "workspace:*",
80-
"@elizaos/plugin-near": "workspace:*",
81-
"@elizaos/plugin-nft-collections": "workspace:*",
62+
"@elizaos/plugin-massa": "workspace:*",
8263
"@elizaos/plugin-nft-generation": "workspace:*",
8364
"@elizaos/plugin-node": "workspace:*",
84-
"@elizaos/plugin-obsidian": "workspace:*",
85-
"@elizaos/plugin-opacity": "workspace:*",
86-
"@elizaos/plugin-open-weather": "workspace:*",
87-
"@elizaos/plugin-primus": "workspace:*",
88-
"@elizaos/plugin-pyth-data": "workspace:*",
89-
"@elizaos/plugin-quai": "workspace:*",
90-
"@elizaos/plugin-rabbi-trader": "workspace:*",
91-
"@elizaos/plugin-sgx": "workspace:*",
9265
"@elizaos/plugin-solana": "workspace:*",
66+
"@elizaos/plugin-injective": "workspace:*",
9367
"@elizaos/plugin-solana-agent-kit": "workspace:*",
9468
"@elizaos/plugin-squid-router": "workspace:*",
95-
"@elizaos/plugin-stargaze": "workspace:*",
69+
"@elizaos/plugin-autonome": "workspace:*",
9670
"@elizaos/plugin-starknet": "workspace:*",
97-
"@elizaos/plugin-story": "workspace:*",
71+
"@elizaos/plugin-stargaze": "workspace:*",
72+
"@elizaos/plugin-giphy": "workspace:*",
73+
"@elizaos/plugin-ton": "workspace:*",
9874
"@elizaos/plugin-sui": "workspace:*",
75+
"@elizaos/plugin-sgx": "workspace:*",
76+
"@elizaos/plugin-iq6900": "workspace:*",
9977
"@elizaos/plugin-tee": "workspace:*",
10078
"@elizaos/plugin-tee-log": "workspace:*",
10179
"@elizaos/plugin-tee-marlin": "workspace:*",
102-
"@elizaos/plugin-tee-verifiable-log": "workspace:*",
103-
"@elizaos/plugin-thirdweb": "workspace:*",
104-
"@elizaos/plugin-ton": "workspace:*",
80+
"@elizaos/plugin-multiversx": "workspace:*",
81+
"@elizaos/plugin-near": "workspace:*",
82+
"@elizaos/plugin-zksync-era": "workspace:*",
10583
"@elizaos/plugin-twitter": "workspace:*",
84+
"@elizaos/plugin-primus": "workspace:*",
85+
"@elizaos/plugin-cronoszkevm": "workspace:*",
86+
"@elizaos/plugin-3d-generation": "workspace:*",
87+
"@elizaos/plugin-fuel": "workspace:*",
88+
"@elizaos/plugin-avalanche": "workspace:*",
10689
"@elizaos/plugin-video-generation": "workspace:*",
10790
"@elizaos/plugin-web-search": "workspace:*",
108-
"@elizaos/plugin-zksync-era": "workspace:*",
91+
"@elizaos/plugin-dexscreener": "workspace:*",
92+
"@elizaos/plugin-letzai": "workspace:*",
93+
"@elizaos/plugin-thirdweb": "workspace:*",
94+
"@elizaos/plugin-genlayer": "workspace:*",
95+
"@elizaos/plugin-tee-verifiable-log": "workspace:*",
96+
"@elizaos/plugin-depin": "workspace:*",
97+
"@elizaos/plugin-open-weather": "workspace:*",
98+
"@elizaos/plugin-obsidian": "workspace:*",
99+
"@elizaos/plugin-arthera": "workspace:*",
100+
"@elizaos/plugin-allora": "workspace:*",
101+
"@elizaos/plugin-opacity": "workspace:*",
102+
"@elizaos/plugin-hyperliquid": "workspace:*",
103+
"@elizaos/plugin-akash": "workspace:*",
104+
"@elizaos/plugin-quai": "workspace:*",
105+
"@elizaos/plugin-b2": "workspace:*",
106+
"@elizaos/plugin-nft-collections": "workspace:*",
107+
"@elizaos/plugin-pyth-data": "workspace:*",
108+
"@elizaos/plugin-openai": "workspace:*",
109109
"readline": "1.3.0",
110-
"rss-parser": "^3.13.0",
111110
"ws": "8.18.0",
112111
"yargs": "17.7.2"
113112
},

agent/src/index.ts

+23-5
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ import { RedisClient } from "@elizaos/adapter-redis";
44
import { SqliteDatabaseAdapter } from "@elizaos/adapter-sqlite";
55
import { SupabaseDatabaseAdapter } from "@elizaos/adapter-supabase";
66
import { AutoClientInterface } from "@elizaos/client-auto";
7-
import { DirectClient } from "@elizaos/client-direct";
87
import { DiscordClientInterface } from "@elizaos/client-discord";
9-
import { FarcasterClientInterface } from "@elizaos/client-farcaster";
108
import { InstagramClientInterface } from "@elizaos/client-instagram";
119
import { LensAgentClient } from "@elizaos/client-lens";
1210
import { SlackClientInterface } from "@elizaos/client-slack";
1311
import { TelegramClientInterface } from "@elizaos/client-telegram";
1412
import { TwitterClientInterface } from "@elizaos/client-twitter";
13+
import { FarcasterClientInterface } from "@elizaos/client-farcaster";
14+
import { DirectClient } from "@elizaos/client-direct";
15+
import { agentKitPlugin } from "@elizaos/plugin-agentkit";
1516
// import { ReclaimAdapter } from "@elizaos/plugin-reclaim";
1617
// import { elizaCodeinPlugin, onchainJson } from "@elizaos/plugin-iq6900";
1718
import { PrimusAdapter } from "@elizaos/plugin-primus";
@@ -105,8 +106,11 @@ import { verifiableLogPlugin } from "@elizaos/plugin-tee-verifiable-log";
105106
import { thirdwebPlugin } from "@elizaos/plugin-thirdweb";
106107
import { tonPlugin } from "@elizaos/plugin-ton";
107108
import { webSearchPlugin } from "@elizaos/plugin-web-search";
108-
109+
import { pythDataPlugin } from "@elizaos/plugin-pyth-data";
110+
import { openaiPlugin } from '@elizaos/plugin-openai';
109111
import createRabbiTraderPlugin from "@elizaos/plugin-rabbi-trader";
112+
113+
110114
import { zksyncEraPlugin } from "@elizaos/plugin-zksync-era";
111115
import Database from "better-sqlite3";
112116
import fs from "fs";
@@ -564,15 +568,20 @@ export function getTokenForProvider(
564568
character.settings?.secrets?.HYPERBOLIC_API_KEY ||
565569
settings.HYPERBOLIC_API_KEY
566570
);
571+
567572
case ModelProviderName.VENICE:
568573
return (
569574
character.settings?.secrets?.VENICE_API_KEY ||
570575
settings.VENICE_API_KEY
571576
);
572577
case ModelProviderName.ATOMA:
578+
return (
579+
character.settings?.secrets?.ATOMASDK_BEARER_AUTH ||
580+
settings.ATOMASDK_BEARER_AUTH
581+
case ModelProviderName.NVIDIA:
573582
return (
574-
character.settings?.secrets?.ATOMASDK_BEARER_AUTH ||
575-
settings.ATOMASDK_BEARER_AUTH
583+
character.settings?.secrets?.NVIDIA_API_KEY ||
584+
settings.NVIDIA_API_KEY
576585
);
577586
case ModelProviderName.AKASH_CHAT_API:
578587
return (
@@ -904,6 +913,10 @@ export async function createAgent(
904913
// : null,
905914
bootstrapPlugin,
906915
rabbiPlugin,
916+
getSecret(character, "CDP_API_KEY_NAME") &&
917+
getSecret(character, "CDP_API_KEY_PRIVATE_KEY")
918+
? agentKitPlugin
919+
: null,
907920
getSecret(character, "DEXSCREENER_API_KEY")
908921
? dexScreenerPlugin
909922
: null,
@@ -959,6 +972,7 @@ export async function createAgent(
959972
getSecret(character, "FAL_API_KEY") ||
960973
getSecret(character, "OPENAI_API_KEY") ||
961974
getSecret(character, "VENICE_API_KEY") ||
975+
getSecret(character, "NVIDIA_API_KEY") ||
962976
getSecret(character, "NINETEEN_AI_API_KEY") ||
963977
getSecret(character, "HEURIST_API_KEY") ||
964978
getSecret(character, "LIVEPEER_GATEWAY_URL")
@@ -1079,6 +1093,9 @@ export async function createAgent(
10791093
// getSecret(character, "PYTH_MAINNET_PROGRAM_KEY")
10801094
// ? pythDataPlugin
10811095
// : null,
1096+
getSecret(character, "OPENAI_API_KEY") && getSecret(character, "ENABLE_OPEN_AI_COMMUNITY_PLUGIN")
1097+
? openaiPlugin
1098+
: null,
10821099
].filter(Boolean),
10831100
providers: [],
10841101
actions: [],
@@ -1329,3 +1346,4 @@ if (
13291346
console.error("unhandledRejection", err);
13301347
});
13311348
}
1349+

0 commit comments

Comments
 (0)