Skip to content

Commit

Permalink
Merge branch 'develop' into sif-dev
Browse files Browse the repository at this point in the history
  • Loading branch information
actions-user committed Jan 13, 2025
2 parents 111bf11 + 64b4174 commit da13ba1
Show file tree
Hide file tree
Showing 50 changed files with 7,955 additions and 58 deletions.
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,7 @@ LARGE_VOLENGINE_MODEL= # Default: doubao-pro-256k
VOLENGINE_EMBEDDING_MODEL= # Default: doubao-embedding

# DeepSeek Configuration
DEEPSEEK_API_KEY= #Your DeepSeek API key
DEEPSEEK_API_URL= # Default: https://api.deepseek.com
SMALL_DEEPSEEK_MODEL= # Default: deepseek-chat
MEDIUM_DEEPSEEK_MODEL= # Default: deepseek-chat
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/greetings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ jobs:
- uses: actions/first-interaction@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
issue-message: "Hello @${{ github.actor }}! Welcome to the ai16z community. Thank you for opening your first issue; we appreciate your contribution. You are now a ai16z contributor!"
pr-message: "Hi @${{ github.actor }}! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
issue-message: "Hello @${{ github.actor }}! Welcome to the elizaOS community. Thank you for opening your first issue; we appreciate your contribution. You are now an elizaOS contributor!"
pr-message: "Hi @${{ github.actor }}! Welcome to the elizaOS community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now an elizaOS contributor!"
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

## 🌍 README Translations

[中文说明](./README_CN.md) | [日本語の説明](./README_JA.md) | [한국어 설명](./README_KOR.md) | [Persian](./README_FA.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) | [Română](./README_RO.md) | [Nederlands](./README_NL.md)
[中文说明](./README_CN.md) | [日本語の説明](./README_JA.md) | [한국어 설명](./README_KOR.md) | [Persian](./README_FA.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) | [Română](./README_RO.md) | [Nederlands](./README_NL.md) | [Ελληνικά](./README_GR.md)

## 🚩 Overview

Expand Down
148 changes: 148 additions & 0 deletions README_GR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
# Eliza 🤖

<div align="center">
<img src="./docs/static/img/eliza_banner.jpg" alt="Eliza Banner" width="100%" />
</div>

<div align="center">

📖 [Τεκμηρίωση](https://elizaos.github.io/eliza/) | 🎯 [Παραδείγματα](https://github.com/thejoven/awesome-eliza)

</div>

## 🌍 Μεταφράσεις README
[中文说明](./README_CN.md) | [日本語の説明](./README_JA.md) | [한국어 설명](./README_KOR.md) | [Persian](./README_FA.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) | [Română](./README_RO.md) | [Nederlands](./README_NL.md) | [Ελληνικά](./README_GR.md)

## 🚩 Επισκόπηση
<div align="center">
<img src="./docs/static/img/eliza_diagram.png" alt="Eliza Diagram" width="100%" />
</div>

## ✨ Χαρακτηριστικά

- 🛠️ Πλήρεις συνδέσεις για Discord, Twitter και Telegram
- 🔗 Υποστήριξη για κάθε μοντέλο (Llama, Grok, OpenAI, Anthropic, κ.λπ.)
- 👥 Υποστήριξη πολλών πρακτόρων και δωματίων
- 📚 Εύκολη ενσωμάτωση και αλληλεπίδραση με τα έγγραφά σας
- 💾 Ανακτήσιμη μνήμη και αποθήκευση εγγράφων
- 🚀 Εξαιρετικά επεκτάσιμο - δημιουργήστε τις δικές σας δράσεις και πελάτες
- ☁️ Υποστήριξη για πολλά μοντέλα (τοπικά Llama, OpenAI, Anthropic, Groq, κ.λπ.)
- 📦 Έτοιμο για χρήση!

[Σχολείο για προγραμματιστές για Πράκτορες Τεχνητής Νοημοσύνης (ΑΙ)](https://www.youtube.com/watch?v=ArptLpQiKfI&list=PLx5pnFXdPTRzWla0RaOxALTSTnVq53fKL)

## 🎯 Περιτπώσεις για χρήση

- 🤖 Chatbots
- 🕵️ Αυτόνομοι πράκτορες
- 📈 Διαχείριση επιχειρηματικών διαδικασιών
- 🎮 NPC σε βιντεοπαιχνίδια
- 🧠 Trading
- 🚀 Γρήγορη Εκκίνηση


## 🚀 Γρήγορη Εκκίνηση

## Προαπαιτούμενα

- [Python 2.7+](https://www.python.org/downloads/)
- [Node.js 23+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- [pnpm](https://pnpm.io/installation)

> **Σημείωση για χρήστες Windows:** Απαιτείται [WSL 2](https://learn.microsoft.com/en-us/windows/wsl/install-manual).
### Πως να ξεκινήσετε (Συνιστάται)

```bash
git clone https://github.com/elizaos/eliza-starter.git
cd eliza-starter
cp .env.example .env
pnpm i && pnpm build && pnpm start
```

Μόλις ο πράκτορας ξεκινήσει, θα δείτε ένα μήνυμα να εκτελέσετε ```pnpm start:client```.
Ανοίξτε ένα νέο τερματικό, μεταβείτε στον ίδιο κατάλογο και εκτελέστε την παρακάτω εντολή:

```bash
pnpm start:client
```

Έπειτα διαβάστε την [Τεκμηρίωση]((https://elizaos.github.io/eliza/)) για να μάθετε πώς να προσαρμόσετε το Eliza.

### Χειροκίνητη Εκκίνηση του Eliza (Μόνο για προχωρημένους χρήστες)

```bash
# Κλωνοποίηση του αποθετηρίου
git clone https://github.com/elizaos/eliza.git

# Έλεγχος της τελευταίας έκδοσης
# Αυτό το έργο εξελίσσεται γρήγορα, οπότε συνιστούμε να ελέγξετε την τελευταία έκδοση
git checkout $(git describe --tags --abbrev=0)
# Αν το παραπάνω δεν ελέγξει την τελευταία έκδοση, αυτό θα πρέπει να λειτουργήσει:
# git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
```

### Εκκίνηση του Eliza με το Gitpod

[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/elizaos/eliza/tree/main)
### Τροποποιήστε το .env αρχείο

Αντιγράψτε το αρχείο .env.example σε ένα νέο αρχείο .env και συμπληρώστε τις παραμέτρους που χρειάζεστε.

```
cp .env.example .env
```

Σημείωση: Το .env είναι προαιρετικό. Αν σχεδιάζετε να τρέξετε πολλούς διαφορετικούς πράκτορες, μπορείτε να περάσετε τα secrets μέσω του JSON της χαρακτήρα.

### Αυτόματη Εκκίνηση του Eliza

Αυτό θα εκτελέσει όλα τα απαραίτητα βήματα για να ρυθμίσετε το έργο και να ξεκινήσετε το bot με τον προεπιλεγμένο χαρακτήρα.

```bash
sh scripts/start.sh
```

### Τροποποίηση του αρχείου σχετικού με τον χαρακτήρα

1. Ανοίξτε το `packages/core/src/defaultCharacter.ts` για να τροποποιήσετε τον προεπιλεγμένο χαρακτήρα. Αποσχολιάστε και επεξεργαστείτε.

2. Για να φορτώσετε προσαρμοσμένους χαρακτήρες:
- Χρησιμοποιήστε `pnpm start --characters="path/to/your/character.json"`
- Πολλά αρχεία χαρακτήρων μπορούν να φορτωθούν ταυτόχρονα

3. Σύνδεση με το X (Twitter)
αλλάξτε `"clients": []` σε `"clients": ["twitter"]` στο αρχείο χαρακτήρα για να συνδεθείτε με το X

### Χειροκίνητη Εκκίνηση του Eliza

```bash
pnpm i
pnpm build
pnpm start

# Το έργο εξελίσσεται γρήγορα, μερικές φορές πρέπει να καθαρίσετε το έργο, εαν επιστρέφετε στο έργο
```

#### Επιπλέον Πληροφορίες

Μπορεί να χρειαστεί να εγκαταστήσετε το Sharp. Αν αντιμετωπίζετε προβλήματα, προσπαθήστε να το εγκαταστήσετε, εκτελώντας την παρακάτω εντολή:

```
pnpm install --include=optional sharp
```

### Κοινότητα & Επικοινωνία

- [Προβλήματα στο GitHub](https://github.com/elizaos/eliza/issues). Καλύτερο για: Προβλήματα που αντιμετωπίζετε με το Eliza, και για προτάσεις βελτίωσης.
- [Discord](https://discord.gg/ai16z). Καλύτερο για: Κοινοποίηση των εφαρμογών σας και συνομιλία με την κοινότητα.

## Συνεισφορές

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

## Ιστορικό Αστεριών

[![Star History Chart](https://api.star-history.com/svg?repos=elizaos/eliza&type=Date)](https://star-history.com/#elizaos/eliza&Date)
103 changes: 65 additions & 38 deletions agent/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import { TelegramClientInterface } from "@elizaos/client-telegram";
import { TwitterClientInterface } from "@elizaos/client-twitter";
import { GitHubClientInterface } from "@elizaos/client-github";
// import { ReclaimAdapter } from "@elizaos/plugin-reclaim";
import { DirectClient } from "@elizaos/client-direct";
import { PrimusAdapter } from "@elizaos/plugin-primus";

import {
Expand Down Expand Up @@ -103,7 +102,7 @@ import net from "net";
import path from "path";
import { fileURLToPath } from "url";
import yargs from "yargs";
import {dominosPlugin} from "@elizaos/plugin-dominos";
import createNFTCollectionsPlugin from "@elizaos/plugin-nft-collections";

import {
githubInitializePlugin,
Expand Down Expand Up @@ -165,14 +164,29 @@ function tryLoadFile(filePath: string): string | null {
function mergeCharacters(base: Character, child: Character): Character {
const mergeObjects = (baseObj: any, childObj: any) => {
const result: any = {};
const keys = new Set([...Object.keys(baseObj || {}), ...Object.keys(childObj || {})]);
keys.forEach(key => {
if (typeof baseObj[key] === 'object' && typeof childObj[key] === 'object' && !Array.isArray(baseObj[key]) && !Array.isArray(childObj[key])) {
const keys = new Set([
...Object.keys(baseObj || {}),
...Object.keys(childObj || {}),
]);
keys.forEach((key) => {
if (
typeof baseObj[key] === "object" &&
typeof childObj[key] === "object" &&
!Array.isArray(baseObj[key]) &&
!Array.isArray(childObj[key])
) {
result[key] = mergeObjects(baseObj[key], childObj[key]);
} else if (Array.isArray(baseObj[key]) || Array.isArray(childObj[key])) {
result[key] = [...(baseObj[key] || []), ...(childObj[key] || [])];
} else if (
Array.isArray(baseObj[key]) ||
Array.isArray(childObj[key])
) {
result[key] = [
...(baseObj[key] || []),
...(childObj[key] || []),
];
} else {
result[key] = childObj[key] !== undefined ? childObj[key] : baseObj[key];
result[key] =
childObj[key] !== undefined ? childObj[key] : baseObj[key];
}
});
return result;
Expand All @@ -187,32 +201,36 @@ async function loadCharacter(filePath: string): Promise<Character> {
let character = JSON.parse(content);
validateCharacterConfig(character);

// .id isn't really valid
const characterId = character.id || character.name;
const characterPrefix = `CHARACTER.${characterId.toUpperCase().replace(/ /g, "_")}.`;
const characterSettings = Object.entries(process.env)
.filter(([key]) => key.startsWith(characterPrefix))
.reduce((settings, [key, value]) => {
const settingKey = key.slice(characterPrefix.length);
return { ...settings, [settingKey]: value };
}, {});
if (Object.keys(characterSettings).length > 0) {
character.settings = character.settings || {};
character.settings.secrets = {
...characterSettings,
...character.settings.secrets,
};
}
// Handle plugins
character.plugins = await handlePluginImporting(
character.plugins
);
// .id isn't really valid
const characterId = character.id || character.name;
const characterPrefix = `CHARACTER.${characterId.toUpperCase().replace(/ /g, "_")}.`;
const characterSettings = Object.entries(process.env)
.filter(([key]) => key.startsWith(characterPrefix))
.reduce((settings, [key, value]) => {
const settingKey = key.slice(characterPrefix.length);
return { ...settings, [settingKey]: value };
}, {});
if (Object.keys(characterSettings).length > 0) {
character.settings = character.settings || {};
character.settings.secrets = {
...characterSettings,
...character.settings.secrets,
};
}
// Handle plugins
character.plugins = await handlePluginImporting(character.plugins);
if (character.extends) {
elizaLogger.info(`Merging ${character.name} character with parent characters`);
elizaLogger.info(
`Merging ${character.name} character with parent characters`
);
for (const extendPath of character.extends) {
const baseCharacter = await loadCharacter(path.resolve(path.dirname(filePath), extendPath));
const baseCharacter = await loadCharacter(
path.resolve(path.dirname(filePath), extendPath)
);
character = mergeCharacters(baseCharacter, character);
elizaLogger.info(`Merged ${character.name} with ${baseCharacter.name}`);
elizaLogger.info(
`Merged ${character.name} with ${baseCharacter.name}`
);
}
}
return character;
Expand Down Expand Up @@ -485,7 +503,9 @@ function initializeDatabase(dataDir: string) {
// Test the connection
db.init()
.then(() => {
elizaLogger.success("Successfully connected to Supabase database");
elizaLogger.success(
"Successfully connected to Supabase database"
);
})
.catch((error) => {
elizaLogger.error("Failed to connect to Supabase:", error);
Expand All @@ -502,7 +522,9 @@ function initializeDatabase(dataDir: string) {
// Test the connection
db.init()
.then(() => {
elizaLogger.success("Successfully connected to PostgreSQL database");
elizaLogger.success(
"Successfully connected to PostgreSQL database"
);
})
.catch((error) => {
elizaLogger.error("Failed to connect to PostgreSQL:", error);
Expand All @@ -517,14 +539,17 @@ function initializeDatabase(dataDir: string) {
});
return db;
} else {
const filePath = process.env.SQLITE_FILE ?? path.resolve(dataDir, "db.sqlite");
const filePath =
process.env.SQLITE_FILE ?? path.resolve(dataDir, "db.sqlite");
elizaLogger.info(`Initializing SQLite database at ${filePath}...`);
const db = new SqliteDatabaseAdapter(new Database(filePath));

// Test the connection
db.init()
.then(() => {
elizaLogger.success("Successfully connected to SQLite database");
elizaLogger.success(
"Successfully connected to SQLite database"
);
})
.catch((error) => {
elizaLogger.error("Failed to connect to SQLite:", error);
Expand Down Expand Up @@ -706,7 +731,8 @@ export async function createAgent(
if (
process.env.PRIMUS_APP_ID &&
process.env.PRIMUS_APP_SECRET &&
process.env.VERIFIABLE_INFERENCE_ENABLED === "true"){
process.env.VERIFIABLE_INFERENCE_ENABLED === "true"
) {
verifiableInferenceAdapter = new PrimusAdapter({
appId: process.env.PRIMUS_APP_ID,
appSecret: process.env.PRIMUS_APP_SECRET,
Expand Down Expand Up @@ -884,8 +910,9 @@ export async function createAgent(
getSecret(character, "AKASH_WALLET_ADDRESS")
? akashPlugin
: null,
getSecret(character, "QUAI_PRIVATE_KEY")
? quaiPlugin
getSecret(character, "QUAI_PRIVATE_KEY") ? quaiPlugin : null,
getSecret(character, "RESERVOIR_API_KEY")
? createNFTCollectionsPlugin()
: null,
].filter(Boolean),
providers: [],
Expand Down
13 changes: 7 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
"devDependencies": {
"@commitlint/cli": "18.6.1",
"@commitlint/config-conventional": "18.6.3",
"@types/jest": "^29.5.11",
"@typescript-eslint/eslint-plugin": "8.16.0",
"@typescript-eslint/parser": "8.16.0",
"@vitest/eslint-plugin": "1.1.13",
Expand All @@ -36,20 +37,19 @@
"eslint": "9.16.0",
"eslint-config-prettier": "9.1.0",
"husky": "9.1.7",
"jest": "^29.7.0",
"lerna": "8.1.5",
"only-allow": "1.2.1",
"ts-node": "^10.9.2",
"tsx": "^4.19.2",
"prettier": "3.4.1",
"ts-jest": "^29.1.1",
"turbo": "2.3.3",
"typedoc": "0.26.11",
"typescript": "5.6.3",
"vite": "5.4.11",
"vitest": "2.1.5",
"viem": "2.21.58",
"ts-jest": "^29.1.1",
"@types/jest": "^29.5.11",
"jest": "^29.7.0"
"vite": "5.4.11",
"vitest": "2.1.5"
},
"pnpm": {
"overrides": {
Expand All @@ -70,6 +70,7 @@
"opusscript": "^0.1.1",
"sqlite3": "^5.1.7",
"csv-parse": "5.6.0",
"langdetect": "^0.2.1",
"ollama-ai-provider": "0.16.1",
"optional": "0.1.4",
"pnpm": "9.14.4",
Expand All @@ -80,4 +81,4 @@
"workspaces": [
"packages/*"
]
}
}
Loading

0 comments on commit da13ba1

Please sign in to comment.