{"id":15949735,"url":"https://github.com/tomzx/autogpt","last_synced_at":"2025-05-07T05:47:31.412Z","repository":{"id":169605629,"uuid":"631821579","full_name":"tomzx/autogpt","owner":"tomzx","description":"Playing around with ChatGPT to automate various processes","archived":false,"fork":false,"pushed_at":"2023-05-28T22:58:40.000Z","size":209,"stargazers_count":4,"open_issues_count":29,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T06:51:15.489Z","etag":null,"topics":["artificial-general-intelligence","artificial-intelligence","auto-gpt","autogpt","chatgpt"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tomzx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-24T06:13:43.000Z","updated_at":"2024-06-01T14:06:08.000Z","dependencies_parsed_at":"2024-07-22T11:46:18.012Z","dependency_job_id":null,"html_url":"https://github.com/tomzx/autogpt","commit_stats":null,"previous_names":["tomzx/autogpt"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomzx%2Fautogpt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomzx%2Fautogpt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomzx%2Fautogpt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomzx%2Fautogpt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomzx","download_url":"https://codeload.github.com/tomzx/autogpt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252823685,"owners_count":21809707,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-general-intelligence","artificial-intelligence","auto-gpt","autogpt","chatgpt"],"created_at":"2024-10-07T12:55:22.565Z","updated_at":"2025-05-07T05:47:31.392Z","avatar_url":"https://github.com/tomzx.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AutoGPT\nAutoGPT is a library to automate interactions with a LLM. It is built on top of [OpenAI's ChatGPT](https://openai.com/blog/chatgpt) and [Dask](https://dask.org/).\n\n## Features\n[See roadmap](https://github.com/users/tomzx/projects/1/views/6)\n* Multi-process, multi-thread, distributed using dask\n* Sessions and interactions recorded in Notion\n* Reads tasks from Notion\n* Background mode which polls Notion for new tasks\n* Budget management\n* Tasks\n  * Simple LLM queries\n  * Summarize a text\n  * Query multiple personas\n  * Summarize multiple personas\n\n## Getting started\n* Install python 3.8+\n* Install poetry\n* Install docker (if using docker as a backend)\n* Install kubernetes (if using kubernetes as a backend)\n* Clone this repository\n* `poetry install`\n\n### Run without scheduler (local)\n* Make sure you do not have an environment variable `SCHEDULER_URL` set nor in your `.env` file\n* Run the CLI `python cli.py`\n* You can visit the dask dashboard at http://localhost:8787/\n\n### Run with scheduler (distributed)\n* In your `.env` file, set `SCHEDULER_URL=tcp://localhost:8786`\n* Start one dask scheduler and one to many workers (in the poetry environment)\n  * `dask scheduler`\n  * `dask-worker --nprocs 1 --nthreads 1 --memory-limit 2GB  tcp://localhost:8786`\n    * Feel free to configure your dask workers as you see fit and to launch as many as you want\n* Run the CLI `python cli.py`\n* You can visit the dask dashboard at http://localhost:8787/\n\n## Notion\nYou can store sessions and interactions in Notion for reviewing/analysis purposes. To do so, you need to set the following environment variables in your `.env` file:\n\n```\nNOTION_TOKEN\nNOTION_TASK_DATABASE_ID\nNOTION_SESSION_DATABASE_ID\nNOTION_INTERACTION_DATABASE_ID\n```\n\nFor AutoGPT to interact with your Notion workspace, go to `Settings \u0026 members`, then `Connections`, then `Develop or manage integrations`. Click on `New integration`, fill out the form and associate it with the workspace you want to use. Once the integration is created, copy the generated token as `NOTION_TOKEN`.\n\nYou then need to create 3 new pages. With the pages created, click on the 3 dots on the top right corner and select `Add connections`, the pick the integration you just created. Repeat this process for every page you want to give access.\n\nFor the task database, you need to create a database with the following properties:\n* Query: the title property\n* Status: Select, with the following options: `Not started`, `In progress`, `Done`\n* Budget: Budget for the task\n* Created: Creation date time of the task, used to process tasks in ascending order\n* Updated (optional)\n\nFor the session database, you need to create a database with the following properties:\n* Id: the title property\n* Interactions: Relation to the interactions database\n* Budget: Budget for the session\n* Total cost (optional): Rollup, using th `Cost` property of the `Interactions` relation, calculate the sum\n* Duration (optional): Rollup, using the `Duration` property of the `Interactions` relation, calculate the date range\n* Total interactions (optional): Rollup, using the `Interactions` property of the `Interactions` relation, calculate the count\n* Created (optional)\n* Updated (optional)\n\nFor the interactions database, you need to create a database with the following properties:\n* Prompt\n* Response\n* Task\n* Cost\n* Parent (relation to the interactions database, parent interaction)\n* Children (relation to the interactions database, children interactions)\n* Sessions (inverse relation to the sessions database)\n* Created (optional)\n* Updated (optional)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomzx%2Fautogpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomzx%2Fautogpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomzx%2Fautogpt/lists"}