Skip to content

Commit b3bf200

Browse files
authored
Merge branch 'develop' into main
2 parents 3bd7695 + ecfd42c commit b3bf200

File tree

117 files changed

+14238
-313
lines changed

Some content is hidden

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

117 files changed

+14238
-313
lines changed

.env.example

+16-3
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,12 @@ SMALL_ANTHROPIC_MODEL= # Default: claude-3-haiku-20240307
211211
MEDIUM_ANTHROPIC_MODEL= # Default: claude-3-5-sonnet-20241022
212212
LARGE_ANTHROPIC_MODEL= # Default: claude-3-5-sonnet-20241022
213213

214+
# VoyageAI Configuration
215+
VOYAGEAI_API_KEY=
216+
USE_VOYAGEAI_EMBEDDING= # Set to TRUE for VoyageAI, leave blank for local
217+
VOYAGEAI_EMBEDDING_MODEL= # Default: voyage-3-lite
218+
VOYAGEAI_EMBEDDING_DIMENSIONS= # Default: 512
219+
214220
# Heurist Configuration
215221
HEURIST_API_KEY= # Get from https://heurist.ai/dev-access
216222
SMALL_HEURIST_MODEL= # Default: meta-llama/llama-3-70b-instruct
@@ -356,6 +362,13 @@ ZEROG_EVM_RPC=
356362
ZEROG_PRIVATE_KEY=
357363
ZEROG_FLOW_ADDRESS=
358364

365+
# Squid Router
366+
SQUID_SDK_URL=https://apiplus.squidrouter.com # Default: https://apiplus.squidrouter.com
367+
SQUID_INTEGRATOR_ID= # get integrator id through https://docs.squidrouter.com/
368+
SQUID_EVM_ADDRESS=
369+
SQUID_EVM_PRIVATE_KEY=
370+
SQUID_API_THROTTLE_INTERVAL= # Default: 0; Used to throttle API calls to avoid rate limiting (in ms)
371+
359372
# TEE Configuration
360373
# TEE_MODE options:
361374
# - LOCAL: Uses simulator at localhost:8090 (for local development)
@@ -512,6 +525,9 @@ ECHOCHAMBERS_MAX_MESSAGES=10
512525
ALLORA_API_KEY= # Allora API key, format: UP-f8db7d6558ab432ca0d92716
513526
ALLORA_CHAIN_SLUG= # must be one of mainnet, testnet. If not specified, it will use testnet by default
514527

528+
# B2 Network
529+
B2_PRIVATE_KEY= # Private key of the B2 Network account to use for the agent
530+
515531
# Opacity zkTLS
516532
OPACITY_TEAM_ID=f309ac8ae8a9a14a7e62cd1a521b1c5f
517533
OPACITY_CLOUDFLARE_NAME=eigen-test
@@ -527,9 +543,6 @@ AWS_S3_UPLOAD_PATH=
527543
# Deepgram
528544
DEEPGRAM_API_KEY=
529545

530-
# Web search API Configuration
531-
TAVILY_API_KEY=
532-
533546
# Verifiable Inference Configuration
534547
VERIFIABLE_INFERENCE_ENABLED=false # Set to false to disable verifiable inference
535548
VERIFIABLE_INFERENCE_PROVIDER=opacity # Options: opacity

CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1312,7 +1312,7 @@
13121312
- Add OLLAMA as Model Provider [\#221](https://github.com/elizaOS/eliza/pull/221) ([o-on-x](https://github.com/o-on-x))
13131313
- lazy load llama [\#220](https://github.com/elizaOS/eliza/pull/220) ([lalalune](https://github.com/lalalune))
13141314
- Implement grok beta [\#216](https://github.com/elizaOS/eliza/pull/216) ([MeDott29](https://github.com/MeDott29))
1315-
- Abstracts Eliza into a Package to enble publishing onto NPM along with plugin system [\#214](https://github.com/elizaOS/eliza/pull/214) ([ponderingdemocritus](https://github.com/ponderingdemocritus))
1315+
- Abstracts Eliza into a Package to enable publishing onto NPM along with plugin system [\#214](https://github.com/elizaOS/eliza/pull/214) ([ponderingdemocritus](https://github.com/ponderingdemocritus))
13161316
- add the template overrides [\#207](https://github.com/elizaOS/eliza/pull/207) ([lalalune](https://github.com/lalalune))
13171317
- Shaw fix characters paths, .ts requirement and missings args [\#204](https://github.com/elizaOS/eliza/pull/204) ([lalalune](https://github.com/lalalune))
13181318
- Fix Discord Voice and DMs [\#203](https://github.com/elizaOS/eliza/pull/203) ([lalalune](https://github.com/lalalune))

README_FARSI.md

+153
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
<div dir="rtl">
2+
3+
# الیزا 🤖
4+
5+
<div align="center">
6+
<img src="./docs/static/img/eliza_banner.jpg" alt="Eliza Banner" width="100%" />
7+
</div>
8+
9+
<div align="center">
10+
11+
📖 [Documnet](https://elizaos.github.io/eliza/) | 🎯 [نمونه‌ها](https://github.com/thejoven/awesome-eliza)
12+
13+
</div>
14+
15+
## 🌍 ترجمه‌های README
16+
17+
[中文说明](./README_CN.md) | [日本語の説明](./README_JA.md) | [한국어 설명](./README_KOR.md) | [Français](./README_FR.md) | [Português](./README_PTBR.md) | [Türkçe](./README_TR.md) | [Русский](./README_RU.md) | [Español](./README_ES.md) | [Italiano](./README_IT.md) | [ไทย](./README_TH.md) | [Deutsch](./README_DE.md) | [Tiếng Việt](./README_VI.md) | [עִברִית](https://github.com/elizaos/Elisa/blob/main/README_HE.md) | [Tagalog](./README_TG.md) | [Polski](./README_PL.md) | [Arabic](./README_AR.md) | [Hungarian](./README_HU.md) | [Srpski](./README_RS.md)| [Persian](./README_FARSI.md)
18+
19+
## 🚩 نمای کلی
20+
21+
<div align="center">
22+
<img src="./docs/static/img/eliza_diagram.jpg" alt="Eliza Diagram" width="100%" />
23+
</div>
24+
25+
## ✨ ویژگی‌ها
26+
27+
- 🛠️ رابط‌های کامل برای دیسکورد، توییتر و تلگرام
28+
- 🔗 پشتیبانی از تمام مدل‌ها (Llama, Grok, OpenAI, Anthropic و غیره)
29+
- 👥 پشتیبانی از چند Agent و Room
30+
- 📚 وارد کردن و تعامل آسان با Document شما
31+
- 💾 حافظه و ذخیره‌سازی اسناد قابل بازیابی
32+
- 🚀 بسیار قابل گسترش - ایجاد اقدامات و مشتریان خود
33+
- ☁️ پشتیبانی از مدل‌های متعدد (Llama local، OpenAI، Anthropic، Groq و غیره)
34+
- 📦 به سادگی کار می‌کند!
35+
36+
37+
## ویدیوهای آموزشی
38+
39+
[مدرسه توسعه عامل هوش مصنوعی](https://www.youtube.com/watch?v=ArptLpQiKfI&list=PLx5pnFXdPTRzWla0RaOxALTSTnVq53fKL)
40+
41+
## 🎯 موارد استفاده
42+
43+
- 🤖 ربات‌های چت
44+
- 🕵️ Agentهای خودکار
45+
- 📈 مدیریت فرآیندهای تجاری
46+
- 🎮 NPC در بازی‌های ویدیویی
47+
- 🧠 معامله‌گری
48+
49+
## 🚀 شروع سریع
50+
51+
### پیش‌نیازها
52+
53+
- [پایتون ۲.۷+](https://www.python.org/downloads/)
54+
- [نود جی‌اس ۲۳+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
55+
- [pnpm](https://pnpm.io/installation)
56+
57+
> **نکته برای کاربران ویندوز:** [WSL 2](https://learn.microsoft.com/en-us/windows/wsl/install-manual) مورد نیاز است.
58+
59+
### استفاده از Starter (توصیه شده)
60+
61+
```bash
62+
git clone https://github.com/elizaos/eliza-starter.git
63+
cd eliza-starter
64+
cp .env.example .env
65+
pnpm i && pnpm build && pnpm start
66+
```
67+
68+
پس از اجرای Agent، باید پیامی برای اجرای "pnpm start:client" در انتها مشاهده کنید.
69+
یک ترمینال دیگر باز کنید و به همان دایرکتوری بروید و سپس دستور زیر را اجرا کنید و URL را دنبال کنید تا با Agent خود چت کنید.
70+
71+
```bash
72+
pnpm start:client
73+
```
74+
75+
سپس [Document](https://elizaos.github.io/eliza/) را بخوانید تا یاد بگیرید چگونه الیزای خود را سفارشی کنید.
76+
77+
### راه‌اندازی دستی الیزا (فقط برای برنامه نویسان توصیه می‌شود)
78+
79+
```bash
80+
# کلون کردن مخزن
81+
git clone https://github.com/elizaos/eliza.git
82+
83+
# چک‌اوت آخرین نسخه
84+
# این پروژه به سرعت به‌روز می‌شود، بنابراین توصیه می‌کنیم آخرین نسخه را چک‌اوت کنید
85+
git checkout $(git describe --tags --abbrev=0)
86+
```
87+
88+
### شروع الیزا با Gitpod
89+
90+
[![باز کردن در Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/elizaos/eliza/tree/main)
91+
92+
### ویرایش فایل .env
93+
94+
فایل .env.example را به .env کپی کنید و مقادیر مناسب را پر کنید.
95+
96+
```
97+
cp .env.example .env
98+
```
99+
100+
نکته: .env اختیاری است. اگر قصد اجرای چندین عامل متمایز را دارید، می‌توانید رمزها را از طریق JSON کاراکتر منتقل کنید.
101+
102+
### راه‌اندازی خودکار الیزا
103+
104+
این Script همه چیز را برای راه‌اندازی پروژه و شروع ربات با کاراکتر پیش‌فرض اجرا می‌کند.
105+
106+
```bash
107+
sh scripts/start.sh
108+
```
109+
110+
### ویرایش فایل شخصیت
111+
112+
۱. `packages/core/src/defaultCharacter.ts` را برای تغییر شخصیت پیش‌فرض باز کنید. توضیحات را حذف و ویرایش کنید.
113+
114+
۲. برای بارگذاری شخصیت‌های سفارشی: - از `pnpm start --characters="path/to/your/character.json"`
115+
استفاده کنید - چندین فایل شخصیت می‌توانند همزمان بارگذاری شوند
116+
117+
۳.اتصال به X (توییتر) - `"clients": []` را به `"clients": ["twitter"]` در فایل شخصیت تغییر دهید تا به X متصل شوید
118+
119+
### راه‌اندازی دستی الیزا
120+
121+
```bash
122+
pnpm i
123+
pnpm build
124+
pnpm start
125+
126+
# پروژه به سرعت به‌روز می‌شود، گاهی اوقات اگر به پروژه برمی‌گردید نیاز به پاک‌سازی پروژه دارید
127+
pnpm clean
128+
```
129+
130+
#### نیازمندی‌های اضافی
131+
132+
ممکن است نیاز به نصب Sharp داشته باشید. اگر هنگام راه‌اندازی خطایی مشاهده کردید، سعی کنید آن را با دستور زیر نصب کنید:
133+
134+
```
135+
pnpm install --include=optional sharp
136+
```
137+
138+
### Community و Contact
139+
140+
- [GitHub Issues](https://github.com/elizaos/eliza/issues). بهترین گزینه برای: باگ‌هایی که در استفاده از الیزا با آن‌ها مواجه می‌شوید و پیشنهادات ویژگی‌ها.
141+
- [Discord](https://discord.gg/ai16z). بهترین گزینه برای: به اشتراک‌گذاری برنامه‌های خود و گذراندن وقت با کامیونیتی.
142+
143+
## مشارکت‌کنندگان
144+
145+
<a href="https://github.com/elizaos/eliza/graphs/contributors">
146+
<img src="https://contrib.rocks/image?repo=elizaos/eliza" />
147+
</a>
148+
149+
## تاریخچه Star
150+
151+
[![نمودار تاریخچه ستاره‌ها](https://api.star-history.com/svg?repos=elizaos/eliza&type=Date)](https://star-history.com/#elizaos/eliza&Date)
152+
153+
</div>

agent/package.json

+5-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@
3535
"@elizaos/plugin-0g": "workspace:*",
3636
"@elizaos/plugin-abstract": "workspace:*",
3737
"@elizaos/plugin-aptos": "workspace:*",
38-
"@elizaos/plugin-coinmarketcap": "workspace:*",
38+
"@elizaos/plugin-birdeye": "workspace:*",
3939
"@elizaos/plugin-coingecko": "workspace:*",
40+
"@elizaos/plugin-coinmarketcap": "workspace:*",
4041
"@elizaos/plugin-binance": "workspace:*",
4142
"@elizaos/plugin-avail": "workspace:*",
4243
"@elizaos/plugin-bootstrap": "workspace:*",
@@ -59,6 +60,7 @@
5960
"@elizaos/plugin-node": "workspace:*",
6061
"@elizaos/plugin-solana": "workspace:*",
6162
"@elizaos/plugin-solana-agentkit": "workspace:*",
63+
"@elizaos/plugin-squid-router": "workspace:*",
6264
"@elizaos/plugin-autonome": "workspace:*",
6365
"@elizaos/plugin-starknet": "workspace:*",
6466
"@elizaos/plugin-stargaze": "workspace:*",
@@ -93,6 +95,7 @@
9395
"@elizaos/plugin-hyperliquid": "workspace:*",
9496
"@elizaos/plugin-akash": "workspace:*",
9597
"@elizaos/plugin-quai": "workspace:*",
98+
"@elizaos/plugin-b2": "workspace:*",
9699
"@elizaos/plugin-nft-collections": "workspace:*",
97100
"readline": "1.3.0",
98101
"ws": "8.18.0",
@@ -105,4 +108,4 @@
105108
"ts-node": "10.9.2",
106109
"tsup": "8.3.5"
107110
}
108-
}
111+
}

agent/src/index.ts

+29-17
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,16 @@ import createGoatPlugin from "@elizaos/plugin-goat";
4141
import { DirectClient } from "@elizaos/client-direct";
4242
import { ThreeDGenerationPlugin } from "@elizaos/plugin-3d-generation";
4343
import { abstractPlugin } from "@elizaos/plugin-abstract";
44+
import { akashPlugin } from "@elizaos/plugin-akash";
4445
import { alloraPlugin } from "@elizaos/plugin-allora";
4546
import { aptosPlugin } from "@elizaos/plugin-aptos";
4647
import { artheraPlugin } from "@elizaos/plugin-arthera";
48+
import { autonomePlugin } from "@elizaos/plugin-autonome";
4749
import { availPlugin } from "@elizaos/plugin-avail";
4850
import { avalanchePlugin } from "@elizaos/plugin-avalanche";
51+
import { b2Plugin } from "@elizaos/plugin-b2";
4952
import { binancePlugin } from "@elizaos/plugin-binance";
53+
import { birdeyePlugin } from "@elizaos/plugin-birdeye";
5054
import {
5155
advancedTradePlugin,
5256
coinbaseCommercePlugin,
@@ -55,8 +59,8 @@ import {
5559
tradePlugin,
5660
webhookPlugin,
5761
} from "@elizaos/plugin-coinbase";
58-
import { coinmarketcapPlugin } from "@elizaos/plugin-coinmarketcap";
5962
import { coingeckoPlugin } from "@elizaos/plugin-coingecko";
63+
import { coinmarketcapPlugin } from "@elizaos/plugin-coinmarketcap";
6064
import { confluxPlugin } from "@elizaos/plugin-conflux";
6165
import { createCosmosPlugin } from "@elizaos/plugin-cosmos";
6266
import { cronosZkEVMPlugin } from "@elizaos/plugin-cronoszkevm";
@@ -65,44 +69,41 @@ import { evmPlugin } from "@elizaos/plugin-evm";
6569
import { flowPlugin } from "@elizaos/plugin-flow";
6670
import { fuelPlugin } from "@elizaos/plugin-fuel";
6771
import { genLayerPlugin } from "@elizaos/plugin-genlayer";
72+
import { giphyPlugin } from "@elizaos/plugin-giphy";
73+
import { hyperliquidPlugin } from "@elizaos/plugin-hyperliquid";
6874
import { imageGenerationPlugin } from "@elizaos/plugin-image-generation";
6975
import { lensPlugin } from "@elizaos/plugin-lensNetwork";
76+
import { letzAIPlugin } from "@elizaos/plugin-letzai";
7077
import { multiversxPlugin } from "@elizaos/plugin-multiversx";
7178
import { nearPlugin } from "@elizaos/plugin-near";
79+
import createNFTCollectionsPlugin from "@elizaos/plugin-nft-collections";
7280
import { nftGenerationPlugin } from "@elizaos/plugin-nft-generation";
7381
import { createNodePlugin } from "@elizaos/plugin-node";
7482
import { obsidianPlugin } from "@elizaos/plugin-obsidian";
83+
import { OpacityAdapter } from "@elizaos/plugin-opacity";
84+
import { openWeatherPlugin } from "@elizaos/plugin-open-weather";
85+
import { quaiPlugin } from "@elizaos/plugin-quai";
7586
import { sgxPlugin } from "@elizaos/plugin-sgx";
7687
import { solanaPlugin } from "@elizaos/plugin-solana";
7788
import { solanaAgentkitPlguin } from "@elizaos/plugin-solana-agentkit";
78-
import { autonomePlugin } from "@elizaos/plugin-autonome";
89+
import { stargazePlugin } from "@elizaos/plugin-stargaze";
7990
import { storyPlugin } from "@elizaos/plugin-story";
8091
import { suiPlugin } from "@elizaos/plugin-sui";
8192
import { TEEMode, teePlugin } from "@elizaos/plugin-tee";
8293
import { teeLogPlugin } from "@elizaos/plugin-tee-log";
8394
import { teeMarlinPlugin } from "@elizaos/plugin-tee-marlin";
95+
import { verifiableLogPlugin } from "@elizaos/plugin-tee-verifiable-log";
96+
import { thirdwebPlugin } from "@elizaos/plugin-thirdweb";
8497
import { tonPlugin } from "@elizaos/plugin-ton";
98+
import { squidRouterPlugin } from "@elizaos/plugin-squid-router";
8599
import { webSearchPlugin } from "@elizaos/plugin-web-search";
86-
87-
import { giphyPlugin } from "@elizaos/plugin-giphy";
88-
import { letzAIPlugin } from "@elizaos/plugin-letzai";
89-
import { thirdwebPlugin } from "@elizaos/plugin-thirdweb";
90-
import { hyperliquidPlugin } from "@elizaos/plugin-hyperliquid";
91100
import { zksyncEraPlugin } from "@elizaos/plugin-zksync-era";
92-
93-
import { OpacityAdapter } from "@elizaos/plugin-opacity";
94-
import { openWeatherPlugin } from "@elizaos/plugin-open-weather";
95-
import { stargazePlugin } from "@elizaos/plugin-stargaze";
96-
import { akashPlugin } from "@elizaos/plugin-akash";
97-
import { quaiPlugin } from "@elizaos/plugin-quai";
98101
import Database from "better-sqlite3";
99102
import fs from "fs";
100103
import net from "net";
101104
import path from "path";
102105
import { fileURLToPath } from "url";
103106
import yargs from "yargs";
104-
import { verifiableLogPlugin } from "@elizaos/plugin-tee-verifiable-log";
105-
import createNFTCollectionsPlugin from "@elizaos/plugin-nft-collections";
106107

107108
const __filename = fileURLToPath(import.meta.url); // get the resolved path to the file
108109
const __dirname = path.dirname(__filename); // get the name of the directory
@@ -799,9 +800,11 @@ export async function createAgent(
799800
]
800801
: []),
801802
...(teeMode !== TEEMode.OFF && walletSecretSalt ? [teePlugin] : []),
802-
(teeMode !== TEEMode.OFF && walletSecretSalt &&getSecret(character,"VLOG")
803+
teeMode !== TEEMode.OFF &&
804+
walletSecretSalt &&
805+
getSecret(character, "VLOG")
803806
? verifiableLogPlugin
804-
: null),
807+
: null,
805808
getSecret(character, "SGX") ? sgxPlugin : null,
806809
getSecret(character, "ENABLE_TEE_LOG") &&
807810
((teeMode !== TEEMode.OFF && walletSecretSalt) ||
@@ -822,6 +825,7 @@ export async function createAgent(
822825
getSecret(character, "ABSTRACT_PRIVATE_KEY")
823826
? abstractPlugin
824827
: null,
828+
getSecret(character, "B2_PRIVATE_KEY") ? b2Plugin: null,
825829
getSecret(character, "BINANCE_API_KEY") &&
826830
getSecret(character, "BINANCE_SECRET_KEY")
827831
? binancePlugin
@@ -845,10 +849,18 @@ export async function createAgent(
845849
getSecret(character, "THIRDWEB_SECRET_KEY") ? thirdwebPlugin : null,
846850
getSecret(character, "SUI_PRIVATE_KEY") ? suiPlugin : null,
847851
getSecret(character, "STORY_PRIVATE_KEY") ? storyPlugin : null,
852+
getSecret(character, "SQUID_SDK_URL") &&
853+
getSecret(character, "SQUID_INTEGRATOR_ID") &&
854+
getSecret(character, "SQUID_EVM_ADDRESS") &&
855+
getSecret(character, "SQUID_EVM_PRIVATE_KEY") &&
856+
getSecret(character, "SQUID_API_THROTTLE_INTERVAL")
857+
? squidRouterPlugin
858+
: null,
848859
getSecret(character, "FUEL_PRIVATE_KEY") ? fuelPlugin : null,
849860
getSecret(character, "AVALANCHE_PRIVATE_KEY")
850861
? avalanchePlugin
851862
: null,
863+
getSecret(character, "BIRDEYE_API_KEY") ? birdeyePlugin : null,
852864
getSecret(character, "ECHOCHAMBERS_API_URL") &&
853865
getSecret(character, "ECHOCHAMBERS_API_KEY")
854866
? echoChambersPlugin

client/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"sideEffects": false,
55
"type": "module",
66
"scripts": {
7-
"extract-version": "./version.sh",
7+
"extract-version": "sh version.sh",
88
"dev": "pnpm run extract-version && vite",
99
"build": "pnpm run extract-version && tsc -b && vite build",
1010
"preview": "vite preview",

packages/adapter-pglite/src/index.ts

+8
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ export class PGLiteDatabaseAdapter
152152
roomIds: UUID[];
153153
agentId?: UUID;
154154
tableName: string;
155+
limit?: number;
155156
}): Promise<Memory[]> {
156157
return this.withDatabase(async () => {
157158
if (params.roomIds.length === 0) return [];
@@ -167,6 +168,13 @@ export class PGLiteDatabaseAdapter
167168
queryParams = [...queryParams, params.agentId];
168169
}
169170

171+
// Add ordering and limit
172+
query += ` ORDER BY "createdAt" DESC`;
173+
if (params.limit) {
174+
query += ` LIMIT $${queryParams.length + 1}`;
175+
queryParams.push(params.limit.toString());
176+
}
177+
170178
const { rows } = await this.query<Memory>(query, queryParams);
171179
return rows.map((row) => ({
172180
...row,

0 commit comments

Comments
 (0)