Skip to content

Commit f745b6b

Browse files
authored
Merge branch 'develop' into fix-plugin-import-error
2 parents 0b3fdae + e36327a commit f745b6b

File tree

230 files changed

+24406
-2857
lines changed

Some content is hidden

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

230 files changed

+24406
-2857
lines changed

.dockerignore

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Ignore node_modules from the build context
2+
node_modules
3+
4+
# Ignore logs and temporary files
5+
*.log
6+
*.tmp
7+
.DS_Store
8+
9+
# Ignore Git files and metadata
10+
.gitignore
11+
12+
# Ignore IDE and editor config files
13+
.vscode
14+
.idea
15+
*.swp
16+
17+
# Ignore build artifacts from the host
18+
dist
19+
build

.env.example

+264-202
Large diffs are not rendered by default.

.github/workflows/greetings.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ jobs:
1212
- uses: actions/first-interaction@v1
1313
with:
1414
repo-token: ${{ secrets.GITHUB_TOKEN }}
15-
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!"
16-
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!"
15+
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!"
16+
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!"

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))

Dockerfile

+43-19
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,62 @@
11
# Use a specific Node.js version for better reproducibility
22
FROM node:23.3.0-slim AS builder
33

4-
# Install pnpm globally and install necessary build tools
4+
# Install pnpm globally and necessary build tools
55
RUN npm install -g pnpm@9.4.0 && \
66
apt-get update && \
7-
apt-get install -y git python3 make g++ && \
7+
apt-get upgrade -y && \
8+
apt-get install -y \
9+
git \
10+
python3 \
11+
python3-pip \
12+
curl \
13+
node-gyp \
14+
ffmpeg \
15+
libtool-bin \
16+
autoconf \
17+
automake \
18+
libopus-dev \
19+
make \
20+
g++ \
21+
build-essential \
22+
libcairo2-dev \
23+
libjpeg-dev \
24+
libpango1.0-dev \
25+
libgif-dev \
26+
openssl \
27+
libssl-dev && \
828
apt-get clean && \
929
rm -rf /var/lib/apt/lists/*
1030

1131
# Set Python 3 as the default python
12-
RUN ln -s /usr/bin/python3 /usr/bin/python
32+
RUN ln -sf /usr/bin/python3 /usr/bin/python
1333

1434
# Set the working directory
1535
WORKDIR /app
1636

17-
# Copy package.json and other configuration files
18-
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc turbo.json ./
37+
# Copy application code
38+
COPY . .
1939

20-
# Copy the rest of the application code
21-
COPY agent ./agent
22-
COPY packages ./packages
23-
COPY scripts ./scripts
24-
COPY characters ./characters
40+
# Install dependencies
41+
RUN pnpm install --no-frozen-lockfile
2542

26-
# Install dependencies and build the project
27-
RUN pnpm install \
28-
&& pnpm build-docker \
29-
&& pnpm prune --prod
43+
# Build the project
44+
RUN pnpm run build && pnpm prune --prod
3045

31-
# Create a new stage for the final image
46+
# Final runtime image
3247
FROM node:23.3.0-slim
3348

34-
# Install runtime dependencies if needed
49+
# Install runtime dependencies
3550
RUN npm install -g pnpm@9.4.0 && \
3651
apt-get update && \
37-
apt-get install -y git python3 && \
52+
apt-get install -y \
53+
git \
54+
python3 \
55+
ffmpeg && \
3856
apt-get clean && \
3957
rm -rf /var/lib/apt/lists/*
4058

59+
# Set the working directory
4160
WORKDIR /app
4261

4362
# Copy built artifacts and production dependencies from the builder stage
@@ -47,9 +66,14 @@ COPY --from=builder /app/.npmrc ./
4766
COPY --from=builder /app/turbo.json ./
4867
COPY --from=builder /app/node_modules ./node_modules
4968
COPY --from=builder /app/agent ./agent
69+
COPY --from=builder /app/client ./client
70+
COPY --from=builder /app/lerna.json ./
5071
COPY --from=builder /app/packages ./packages
5172
COPY --from=builder /app/scripts ./scripts
5273
COPY --from=builder /app/characters ./characters
5374

54-
# Set the command to run the application
55-
CMD ["pnpm", "start"]
75+
# Expose necessary ports
76+
EXPOSE 3000 5173
77+
78+
# Command to start the application
79+
CMD ["sh", "-c", "pnpm start & pnpm start:client"]

Dockerfile.docs

+8-28
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,43 @@
11
# syntax=docker/dockerfile:1
22

3-
## Modified version of https://docusaurus.community/knowledge/deployment/docker/
4-
53
# Stage 1: Base image.
64
## Start with a base image containing NodeJS so we can build Docusaurus.
75
FROM node:23.3.0-slim AS base
86
## Disable colour output from yarn to make logs easier to read.
9-
10-
## https://pnpm.io/docker
11-
ENV PNPM_HOME="/pnpm"
12-
ENV PATH="$PNPM_HOME:$PATH"
13-
147
ENV FORCE_COLOR=0
158
## Enable corepack.
169
RUN corepack enable
1710
## Set the working directory to `/opt/docusaurus`.
1811
WORKDIR /opt/docusaurus
1912

20-
## Required by docusaurus: [ERROR] Loading of version failed for version current
21-
RUN apt-get update && apt-get install -y git
22-
13+
# Stage 2a: Development mode.
2314
FROM base AS dev
2415
## Set the working directory to `/opt/docusaurus`.
2516
WORKDIR /opt/docusaurus
2617
## Expose the port that Docusaurus will run on.
2718
EXPOSE 3000
2819
## Run the development server.
29-
CMD [ -d "node_modules" ] && npm run start -- --host 0.0.0.0 --poll 1000 || pnpm install && pnpm run start -- --host 0.0.0.0 --poll 1000
20+
CMD [ -d "node_modules" ] && pnpm start -- --host 0.0.0.0 --poll 1000 || pnpm install && pnpm start -- --host 0.0.0.0 --poll 1000
3021

3122
# Stage 2b: Production build mode.
32-
FROM base AS preprod
23+
FROM base AS prod
3324
## Set the working directory to `/opt/docusaurus`.
3425
WORKDIR /opt/docusaurus
3526

36-
## This is in case someone needs to build the lock file
37-
#RUN apt install python-is-python3 g++ make -y
38-
39-
COPY docs/package.json /opt/docusaurus/package.json
40-
COPY docs/package-lock.json /opt/docusaurus/package-lock.json
41-
42-
FROM preprod AS prod
43-
44-
## Install dependencies with `--immutable` to ensure reproducibility.
45-
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install
46-
47-
## Copy over the source code.
4827
COPY docs/ /opt/docusaurus/
4928
COPY packages/ /opt/packages/
5029

5130
## Required buy docusaurus [ERROR] Loading of version failed for version current
5231
COPY .git/ /opt/.git/
5332

54-
# Build from sources
55-
RUN pnpm run build
33+
## Install dependencies with `--frozen-lockfile` to ensure reproducibility.
34+
RUN pnpm install --no-frozen-lockfile
35+
## Build the static site.
36+
RUN pnpm build
5637

5738
# Stage 3a: Serve with `docusaurus serve`.
5839
FROM prod AS serve
5940
## Expose the port that Docusaurus will run on.
6041
EXPOSE 3000
6142
## Run the production server.
62-
CMD ["npm", "run", "serve", "--", "--host", "0.0.0.0", "--no-open"]
63-
43+
CMD ["pnpm", "run", "serve", "--host", "0.0.0.0", "--no-open"]

README.md

+47-29
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,11 @@
2323
## ✨ Features
2424

2525
- 🛠️ Full-featured Discord, Twitter and Telegram connectors
26-
- 🔗 Support for every model (Llama, Grok, OpenAI, Anthropic, etc.)
26+
- 🔗 Support for every model (Llama, Grok, OpenAI, Anthropic, Gemini, etc.)
2727
- 👥 Multi-agent and room support
2828
- 📚 Easily ingest and interact with your documents
2929
- 💾 Retrievable memory and document store
3030
- 🚀 Highly extensible - create your own actions and clients
31-
- ☁️ Supports many models (local Llama, OpenAI, Anthropic, Groq, etc.)
3231
- 📦 Just works!
3332

3433
## Video Tutorials
@@ -62,33 +61,21 @@ cp .env.example .env
6261
pnpm i && pnpm build && pnpm start
6362
```
6463

65-
Once the agent is running, you should see the message to run "pnpm start:client" at the end.
66-
Open another terminal and move to same directory and then run below command and follow the URL to chat to your agent.
67-
68-
```bash
69-
pnpm start:client
70-
```
71-
72-
Then read the [Documentation](https://elizaos.github.io/eliza/) to learn how to customize your Eliza.
73-
7464
### Manually Start Eliza (Only recommended if you know what you are doing)
7565

66+
#### Checkout the latest release
67+
7668
```bash
7769
# Clone the repository
7870
git clone https://github.com/elizaos/eliza.git
7971

80-
# Checkout the latest release
8172
# This project iterates fast, so we recommend checking out the latest release
8273
git checkout $(git describe --tags --abbrev=0)
8374
# If the above doesn't checkout the latest release, this should work:
8475
# git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
8576
```
8677

87-
### Start Eliza with Gitpod
88-
89-
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/elizaos/eliza/tree/main)
90-
91-
### Edit the .env file
78+
#### Edit the .env file
9279

9380
Copy .env.example to .env and fill in the appropriate values.
9481

@@ -98,15 +85,47 @@ cp .env.example .env
9885

9986
Note: .env is optional. If you're planning to run multiple distinct agents, you can pass secrets through the character JSON
10087

88+
89+
#### Start Eliza
90+
91+
```bash
92+
pnpm i
93+
pnpm build
94+
pnpm start
95+
96+
# The project iterates fast, sometimes you need to clean the project if you are coming back to the project
97+
pnpm clean
98+
```
99+
100+
### Interact via Browser
101+
102+
Once the agent is running, you should see the message to run "pnpm start:client" at the end.
103+
104+
Open another terminal, move to same directory, run the command below, then follow the URL to chat with your agent.
105+
106+
```bash
107+
pnpm start:client
108+
```
109+
110+
Then read the [Documentation](https://elizaos.github.io/eliza/) to learn how to customize your Eliza.
111+
112+
----
113+
101114
### Automatically Start Eliza
102115

103-
This will run everything to set up the project and start the bot with the default character.
116+
The start script provides an automated way to set up and run Eliza:
104117

105118
```bash
106119
sh scripts/start.sh
107120
```
108121

109-
### Edit the character file
122+
For detailed instructions on using the start script, including character management and troubleshooting, see our [Start Script Guide](./docs/docs/guides/start-script.md).
123+
124+
> **Note**: The start script handles all dependencies, environment setup, and character management automatically.
125+
126+
----
127+
128+
### Modify Character
110129

111130
1. Open `packages/core/src/defaultCharacter.ts` to modify the default character. Uncomment and edit.
112131

@@ -116,16 +135,7 @@ sh scripts/start.sh
116135
3. Connect with X (Twitter)
117136
- change `"clients": []` to `"clients": ["twitter"]` in the character file to connect with X
118137

119-
### Manually Start Eliza
120-
121-
```bash
122-
pnpm i
123-
pnpm build
124-
pnpm start
125-
126-
# The project iterates fast, sometimes you need to clean the project if you are coming back to the project
127-
pnpm clean
128-
```
138+
---
129139

130140
#### Additional Requirements
131141

@@ -134,6 +144,14 @@ You may need to install Sharp. If you see an error when starting up, try install
134144
```
135145
pnpm install --include=optional sharp
136146
```
147+
---
148+
149+
150+
### Start Eliza with Gitpod
151+
152+
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/elizaos/eliza/tree/main)
153+
154+
---
137155

138156
### Community & contact
139157

0 commit comments

Comments
 (0)