Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/elizaos/eliza into feat/…
Browse files Browse the repository at this point in the history
…sol-agent-kit
  • Loading branch information
odilitime committed Jan 7, 2025
2 parents 25b484a + 865ba30 commit 1ce9104
Show file tree
Hide file tree
Showing 1,243 changed files with 61,146 additions and 37,702 deletions.
24 changes: 24 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
ARG NODE_VER=23.5.0
ARG BASE_IMAGE=node:${NODE_VER}
FROM $BASE_IMAGE

ENV DEBIAN_FRONTEND=noninteractive

# Install pnpm globally and install necessary build tools
RUN apt-get update \
&& apt-get install -y \
git \
python3 \
make \
g++ \
nano \
vim \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

ARG PNPM_VER=9.15.2
RUN npm install -g pnpm@${PNPM_VER}

# Set Python 3 as the default python
RUN ln -s /usr/bin/python3 /usr/bin/python
ENV DEBIAN_FRONTEND=dialog
38 changes: 38 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// See https://aka.ms/vscode-remote/devcontainer.json for format details.
{
"name": "elizaos-dev",
"dockerFile": "Dockerfile",
"build": {
"args": {
"NODE_VER": "23.5.0",
"PNPM_VER": "9.15.2"
}
},
"privileged": true,
"runArgs": [
"-p=3000:3000", // Add port for server api
"-p=5173:5173", // Add port for client
//"--volume=/usr/lib/wsl:/usr/lib/wsl", // uncomment for WSL
//"--volume=/mnt/wslg:/mnt/wslg", // uncomment for WSL
"--gpus=all", // ! uncomment for vGPU
//"--device=/dev/dxg", // uncomment this for vGPU under WSL
"--device=/dev/dri"
],
"containerEnv": {
//"MESA_D3D12_DEFAULT_ADAPTER_NAME": "NVIDIA", // uncomment for WSL
//"LD_LIBRARY_PATH": "/usr/lib/wsl/lib" // uncomment for WSL
},
"customizations": {
"vscode": {
"extensions": [
"vscode.json-language-features",
"vscode.css-language-features",
// "foxundermoon.shell-format",
// "dbaeumer.vscode-eslint",
// "esbenp.prettier-vscode"
"ms-python.python"
]
}
},
"features": {}
}
73 changes: 69 additions & 4 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ DISCORD_VOICE_CHANNEL_ID= # The ID of the voice channel the bot should joi

# AI Model API Keys
OPENAI_API_KEY= # OpenAI API key, starting with sk-
OPENAI_API_URL= # OpenAI API Endpoint (optional), Default: https://api.openai.com/v1
SMALL_OPENAI_MODEL= # Default: gpt-4o-mini
MEDIUM_OPENAI_MODEL= # Default: gpt-4o
LARGE_OPENAI_MODEL= # Default: gpt-4o
Expand All @@ -19,8 +20,9 @@ IMAGE_OPENAI_MODEL= # Default: dall-e-3
ETERNALAI_URL=
ETERNALAI_MODEL= # Default: "neuralmagic/Meta-Llama-3.1-405B-Instruct-quantized.w4a16"
ETERNALAI_API_KEY=
ETERNAL_AI_LOG_REQUEST=false #Default: false

GROK_API_KEY= # GROK API Key
GROK_API_KEY= # GROK/xAI API Key
GROQ_API_KEY= # Starts with gsk_
OPENROUTER_API_KEY=
GOOGLE_GENERATIVE_AI_API_KEY= # Gemini API key
Expand All @@ -35,9 +37,28 @@ SMALL_HYPERBOLIC_MODEL= # Default: meta-llama/Llama-3.2-3B-Instruct
MEDIUM_HYPERBOLIC_MODEL= # Default: meta-llama/Meta-Llama-3.1-70B-Instruct
LARGE_HYPERBOLIC_MODEL= # Default: meta-llama/Meta-Llama-3.1-405-Instruct


# Infera Configuration

INFERA_API_KEY= # visit api.infera.org/docs to obtain an API key under /signup_user
INFERA_MODEL= # Default: llama3.2:latest
INFERA_SERVER_URL= # Default: https://api.infera.org/

SMALL_INFERA_MODEL= #Recommended: llama3.2:latest
MEDIUM_INFERA_MODEL= #Recommended: mistral-nemo:latest
LARGE_INFERA_MODEL= #Recommended: mistral-small:latest


# Livepeer configuration
LIVEPEER_GATEWAY_URL= # Free inference gateways and docs: https://livepeer-eliza.com/
LIVEPEER_IMAGE_MODEL= # Default: ByteDance/SDXL-Lightning

# Speech Synthesis
ELEVENLABS_XI_API_KEY= # API key from elevenlabs

# Transcription Provider
TRANSCRIPTION_PROVIDER= # Default: local (possible values: openai, deepgram, local)

# Direct Client Setting
EXPRESS_MAX_PAYLOAD= # Default: 100kb

Expand All @@ -62,8 +83,8 @@ TWITTER_POLL_INTERVAL=120 # How often (in seconds) the bot should check fo
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
TWITTER_RETRY_LIMIT= # Maximum retry attempts for Twitter login
TWITTER_SPACES_ENABLE=false # Enable or disable Twitter Spaces logic

X_SERVER_URL=
XAI_API_KEY=
XAI_MODEL=

Expand All @@ -73,8 +94,10 @@ POST_INTERVAL_MAX= # Default: 180
POST_IMMEDIATELY=

# Twitter action processing configuration
ACTION_INTERVAL=300000 # Interval in milliseconds between action processing runs (default: 5 minutes)
ACTION_INTERVAL= # Interval in minutes between action processing runs (default: 5 minutes)
ENABLE_ACTION_PROCESSING=false # Set to true to enable the action processing loop
MAX_ACTIONS_PROCESSING=1 # Maximum number of actions (e.g., retweets, likes) to process in a single cycle. Helps prevent excessive or uncontrolled actions.
ACTION_TIMELINE_TYPE=foryou # Type of timeline to interact with. Options: "foryou" or "following". Default: "foryou"

# Feature Flags
IMAGE_GEN= # Set to TRUE to enable image generation
Expand Down Expand Up @@ -157,10 +180,22 @@ LARGE_GAIANET_SERVER_URL= # Default: https://qwen72b.gaia.domains/v1
GAIANET_EMBEDDING_MODEL=
USE_GAIANET_EMBEDDING= # Set to TRUE for GAIANET/768, leave blank for local

# Volcengine Configuration
VOLENGINE_API_URL= # Volcengine API Endpoint, Default: https://open.volcengineapi.com/api/v3/
VOLENGINE_MODEL=
SMALL_VOLENGINE_MODEL= # Default: doubao-lite-128k
MEDIUM_VOLENGINE_MODEL= # Default: doubao-pro-128k
LARGE_VOLENGINE_MODEL= # Default: doubao-pro-256k
VOLENGINE_EMBEDDING_MODEL= # Default: doubao-embedding

# EVM
EVM_PRIVATE_KEY=
EVM_PROVIDER_URL=

# Avalanche
AVALANCHE_PRIVATE_KEY=
AVALANCHE_PUBLIC_KEY=

# Solana
SOLANA_PRIVATE_KEY=
SOLANA_PUBLIC_KEY=
Expand Down Expand Up @@ -317,6 +352,16 @@ NEAR_NETWORK=testnet # or mainnet
ZKSYNC_ADDRESS=
ZKSYNC_PRIVATE_KEY=

# Avail DA Configuration
AVAIL_ADDRESS=
AVAIL_SEED=
AVAIL_APP_ID=0
AVAIL_RPC_URL=wss://avail-turing.public.blastapi.io/ # (Default) Testnet: wss://avail-turing.public.blastapi.io/ | Mainnet: wss://avail-mainnet.public.blastapi.io/

# Marlin
TEE_MARLIN= # Set "yes" to enable the plugin
TEE_MARLIN_ATTESTATION_ENDPOINT= # Optional, default "http://127.0.0.1:1350"

# Ton
TON_PRIVATE_KEY= # Ton Mnemonic Seed Phrase Join With Empty String
TON_RPC_URL= # ton rpc
Expand All @@ -332,11 +377,31 @@ AWS_S3_UPLOAD_PATH=
DEEPGRAM_API_KEY=

# Sui
SUI_PRIVATE_KEY= # Sui Mnemonic Seed Phrase (`sui keytool generate ed25519`)
SUI_PRIVATE_KEY= # Sui Mnemonic Seed Phrase (`sui keytool generate ed25519`) , Also support `suiprivatekeyxxxx` (sui keytool export --key-identity 0x63)
SUI_NETWORK= # must be one of mainnet, testnet, devnet, localnet

# Story
STORY_PRIVATE_KEY= # Story private key
STORY_API_BASE_URL= # Story API base URL
STORY_API_KEY= # Story API key
PINATA_JWT= # Pinata JWT for uploading files to IPFS

# Cronos zkEVM
CRONOSZKEVM_ADDRESS=
CRONOSZKEVM_PRIVATE_KEY=

# Fuel Ecosystem (FuelVM)
FUEL_WALLET_PRIVATE_KEY=

# Tokenizer Settings
TOKENIZER_MODEL= # Specify the tokenizer model to be used.
TOKENIZER_TYPE= # Options: tiktoken (for OpenAI models) or auto (AutoTokenizer from Hugging Face for non-OpenAI models). Default: tiktoken.

# Stargaze NFT marketplace from Cosmos (You can use https://graphql.mainnet.stargaze-apis.com/graphql)
STARGAZE_ENDPOINT=

# GenLayer
GENLAYER_PRIVATE_KEY=0x0000000000000000000000000000000000000000000000000000000000000000 # Private key of the GenLayer account to use for the agent

# OpenWeather
OPEN_WEATHER_API_KEY= # OpenWeather API key
79 changes: 34 additions & 45 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,47 +1,36 @@
{
"plugins": [
"@stylistic"
],
"extends": [
"next/core-web-vitals",
"plugin:@stylistic/recommended-extends"
],
"rules": {
"@stylistic/indent": [
"error",
4,
{
"SwitchCase": 1
}
"plugins": ["@stylistic"],
"extends": [
"next/core-web-vitals",
"plugin:@stylistic/recommended-extends"
],
"@stylistic/no-tabs": "error",
"@stylistic/member-delimiter-style": [
"error",
{
"multiline": {
"delimiter": "semi",
"requireLast": true
},
"singleline": {
"delimiter": "semi",
"requireLast": false
}
}
],
"@stylistic/eol-last": [
"error",
"always"
],
"@stylistic/multiline-ternary": "off",
"@stylistic/semi": [
"error",
"always"
],
"@stylistic/quotes": "off",
"@stylistic/comma-dangle": "off",
"@stylistic/brace-style": [
"error",
"1tbs"
]
}
}
"rules": {
"@stylistic/indent": [
"error",
4,
{
"SwitchCase": 1
}
],
"@stylistic/no-tabs": "error",
"@stylistic/member-delimiter-style": [
"error",
{
"multiline": {
"delimiter": "semi",
"requireLast": true
},
"singleline": {
"delimiter": "semi",
"requireLast": false
}
}
],
"@stylistic/eol-last": ["error", "always"],
"@stylistic/multiline-ternary": "off",
"@stylistic/semi": ["error", "always"],
"@stylistic/quotes": "off",
"@stylistic/comma-dangle": "off",
"@stylistic/brace-style": ["error", "1tbs"]
}
}
24 changes: 12 additions & 12 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
<!-- Use this template by filling in information and copy and pasting relevant items out of the html comments. -->
<!-- Use this template by filling in information and copying and pasting relevant items out of the HTML comments. -->

# Relates to:
# Relates to

<!-- LINK TO ISSUE OR TICKET -->

<!-- This risks section is to be filled out before final review and merge. -->
<!-- This risks section must be filled out before the final review and merge. -->

# Risks

<!--
Low, medium, large. List what kind of risks, and what could be effected.
Low, medium, large. List what kind of risks and what could be affected.
-->

# Background
Expand All @@ -25,7 +25,7 @@ Features (non-breaking change which adds functionality)
Updates (new versions of included code)
-->

<!-- This "Why" section is most relevant if there is no linked issue explaining why. If there is a related issue it might make sense to skip this why section. -->
<!-- This "Why" section is most relevant if there are no linked issues explaining why. If there is a related issue, it might make sense to skip this why section. -->
<!--
## Why are we doing this? Any context or related work?
-->
Expand All @@ -35,10 +35,10 @@ Updates (new versions of included code)
<!--
My changes do not require a change to the project documentation.
My changes require a change to the project documentation.
If a docs change is needed: I have updated the documentation accordingly.
If documentation change is needed: I have updated the documentation accordingly.
-->

<!-- Please show how you tested the PR. This will really help if the PR needs to be retested, and probably help the PR get merged quicker. -->
<!-- Please show how you tested the PR. This will really help if the PR needs to be retested and probably help the PR get merged quicker. -->

# Testing

Expand All @@ -47,7 +47,7 @@ If a docs change is needed: I have updated the documentation accordingly.
## Detailed testing steps

<!--
None, automated tests are fine.
None: Automated tests are acceptable.
-->

<!--
Expand All @@ -63,22 +63,22 @@ None, automated tests are fine.
### After
-->

<!-- If there is anything about the deploy, please make a note. -->
<!-- If there is anything about the deployment, please make a note. -->
<!--
# Deploy Notes
-->

<!--  Copy and paste commandline output. -->
<!--  Copy and paste command line output. -->
<!--
## Database changes
-->

<!--  If there is something more than the automated steps, please specifiy deploy instructions. -->
<!--  Please specify deploy instructions if there is something more than the automated steps. -->
<!--
## Deployment instructions
-->

<!-- If you are on Discord, please join https://discord.gg/ai16z and state your Discord username here for contribute role and join us in #development-feed -->
<!-- If you are on Discord, please join https://discord.gg/ai16z and state your Discord username here for the contributor role and join us in #development-feed -->
<!--
## Discord username
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
cache: "pnpm"

- name: Install dependencies
run: pnpm install
run: pnpm install -r --no-frozen-lockfile

- name: Run Prettier
run: pnpm run prettier --check .
Expand Down
Loading

0 comments on commit 1ce9104

Please sign in to comment.