Skip to content

Commit

Permalink
Merge branch 'main' into auth
Browse files Browse the repository at this point in the history
# Conflicts:
#	prisma/schema.prisma
#	src/server/api/routers/example.ts
  • Loading branch information
awtkns committed Apr 13, 2023
2 parents 4307f4d + 6d627a9 commit 2bc2aed
Show file tree
Hide file tree
Showing 26 changed files with 2,776 additions and 258 deletions.
7 changes: 7 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
**/.git
**/node_modules
**/idea
**/.next
**/aws
**/.husky
**/venv
7 changes: 6 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@
"plugins": ["@typescript-eslint"],
"extends": ["next/core-web-vitals", "plugin:@typescript-eslint/recommended"],
"rules": {
"@typescript-eslint/consistent-type-imports": "warn"
"@typescript-eslint/consistent-type-imports": "warn",
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/no-unsafe-return": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/no-unsafe-call": "off",
"@typescript-eslint/no-unsafe-assignment": "off"
}
}
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: reworkd-admin
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
# database
/prisma/db.sqlite
/prisma/db.sqlite-journal
/db/db.sqlite

# next.js
/.next/
Expand All @@ -32,8 +33,7 @@ yarn-error.log*

# local env files
# do not commit any .env files to git, except for the .env.example file. https://create.t3.gg/en/usage/env-variables#using-environment-variables
.env
.env*.local
.env*

# vercel
.vercel
Expand Down
32 changes: 32 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Use the official Node.js image as the base image
FROM node:19-alpine

# Set the working directory
WORKDIR /app

# Copy package.json and package-lock.json to the working directory
COPY package*.json ./

# Install dependencies
RUN npm ci

# Copy the rest of the application code
COPY . .
RUN mv .env.docker .env \
&& sed -ie 's/postgresql/sqlite/g' prisma/schema.prisma \
&& sed -ie 's/@db.Text//' prisma/schema.prisma

# Expose the port the app will run on
EXPOSE 3000

# Add Prisma and generate Prisma client
RUN npx prisma generate \
&& npx prisma migrate dev --name init \
&& npx prisma db push

# Build the Next.js app
RUN npm run build


# Start the application
CMD ["npm", "start"]
67 changes: 59 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,26 @@
<a href="#-getting-started">🤝 Contribute</a>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>
<a href="https://twitter.com/asimdotshrestha/status/1644883727707959296">🐦 Twitter</a>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>
<a href="https://discord.gg/3PccggEG">📢 Discord</a>
</p>

---

<h2 align="center">
💝 Support the Advancement of AgentGPT!! 💝
</h2>

<p align="center">
Join us in fueling the development of AgentGPT, an open-source project pushing the boundaries of AI autonomy! We're facing challenges in covering the operational costs 💸, including in-house API and other infrastructure expenses, which is projected to grow to around $150 USD per day 💳🤕 Your sponsorship would drive progress by helping us scale up resources, enhance features and functionality, and continue to iterate on this exciting project! 🚀
</p>

<p align="center">
By sponsoring this free, open-source project, you not only have the opportunity to have your avatar/logo featured below, but also get the exclusive chance to chat with the founders!🗣️
</p>

<p align="center">
<a href="https://github.com/sponsors/reworkd-admin">👉 Click here</a> to support the project
</p>

---
Expand All @@ -22,13 +42,17 @@ AgentGPT allows you to configure and deploy Autonomous AI agents.
Name your own custom AI and have it embark on any goal imaginable.
It will attempt to reach the goal by thinking of tasks to do, executing them, and learning from the results 🚀.

## 🎉 Features
## 🎉 Roadmap

This platform is currently in beta, we are currently working on:

- Long term memory 🧠
- Web browsing 🌐
- Long term memory via a vector DB 🧠
- Web browsing capabilities via langchain 🌐
- Interaction with websites and people 👨‍👩‍👦
- Writing capabilities via a document API 📄
- Saving agent runs 💾
- Users and authentication 🔐
- Stripe integration for a lower limit paid version (So we can stop worrying about infra costs) 💵

More Coming soon...

Expand All @@ -45,7 +69,27 @@ More Coming soon...

## 👨‍🚀 Getting Started

> 🚧 You will need [Nodejs +16 (LTS recommended)](https://nodejs.org/en/) installed.
### 🐳 Docker Setup

The easiest way to run AgentGPT locally is by using docker.
A convenient setup script is provided to help you get started.

```bash
./setup.sh --docker
```

### 👷 Local Development Setup

If you wish to develop AgentGPT locally, the easiest way is to
use the provided setup script.

```bash
./setup.sh --local
```

### 🛠️ Manual Setup

> 🚧 You will need [Nodejs +18 (LTS recommended)](https://nodejs.org/en/) installed.
1. Fork this project:

Expand All @@ -60,6 +104,7 @@ git clone [email protected]:YOU_USER/AgentGPT.git
3. Install dependencies:

```bash
cd AgentGPT
npm install
```

Expand All @@ -75,15 +120,21 @@ NODE_ENV=development
# Generate a secret with `openssl rand -base64 32`
NEXTAUTH_SECRET=changeme
NEXTAUTH_URL=https://localhost:3000

# Prisma
DATABASE_URL=file:./db.sqlite

# External APIs:
# Your open api key
OPENAI_API_KEY=changeme
```

5. Ready 🥳, now run:
5. Modify prisma schema to use sqlite:

```bash
./prisma/useSqlite.sh
```

**Note:** This only needs to be done if you wish to use sqlite.

6. Ready 🥳, now run:

```bash
# Create database migrations
Expand Down
4 changes: 4 additions & 0 deletions next.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,9 @@ const config = {
locales: ["en"],
defaultLocale: "en",
},
webpack: function (config, options) {
config.experiments = { asyncWebAssembly: true, layers: true };
return config;
}
};
export default config;
Loading

0 comments on commit 2bc2aed

Please sign in to comment.