Discord | Website | Give the repo a ⭐ !
To get started using evo.ninja simply head to our website, or to build and run from source follow these setup instructions.
Join our Discord community for support and discussions.
If you have questions or encounter issues, please don't hesitate to create a new issue to get support.
What makes evo.ninja special is that it adapts itself in real-time, based on the tasks at hand. Evo utilizes pre-defined agent personas that are tailored to specific domains of tasks. Each iteration of evo's execution loop it will select and adopt the persona that fits the task at hand best.
Agent | Expertise |
---|---|
📝Synthesizer | "Reads text files, analyzing and gathering data and information from text files, generating summaries and reports, and analyzing text." |
#️⃣ Csv Analyst | "Adept at reading CSV files, searching for data, extracting key data points, calculating amounts, and derive insights from CSV files." |
🌐 Researcher | "Searching the internet, comprehending details, and finding information." |
💻 Developer | "Architect and build complex software. specialized in python." |
- Predict Next Step: For each iteration of the execution loop, Evo starts by making an informed prediction about what the best-next-step should be.
- Select Best Agent: Based on this prediction, Evo selects a best-fit agent persona.
- Contextualize Chat History: Based on the prediction from step 1, and the agent persona in step 2, the complete chat history is "contextualized" and only the most relevant messages are used for the final evaluation step.
- Evaluate and Execute: A final evaluation step is run to determine what agent function is executed to try and further achieve the user's goal.
These 4 steps run in a loop continuously until it is determined the user's goal has been achieved.
Please install the following:
- Clone the repository
git clone https://github.com/polywrap/evo.ninja
- Copy the
.env.template
file and rename it to.env
.cp .env.template .env
- Find the line that says OPENAI_API_KEY=, and add your unique OpenAI API Key
OPENAI_API_KEY=sk-...
- Find the line that says SERP_API_KEY=, and add your unique SERP API Key.
SERP_API_KEY=b071...
(see https://serpapi.com) - Use the correct version of Node.JS
nvm install && nvm use
- Install all dependencies & build project
yarn && yarn build
Now you're ready to go! You can run Evo through CLI or using the UI
Run evo in the terminal:
yarn start
Arguments:
[goal]
- Goal to be achieved
Options:
-s, --session <name>
- Name of the session within the./sessions/...
directory.-t, --timeout <seconds>
- Specify a timeout, used to terminate the process after a specified number of seconds.-d, --debug
- Emit debug logs within the./sessions/${session}/.evo/...
directory.
Once the evo.ninja CLI is run, there will be a ./sessions
directory created, with named sessions within it. This is the root directory for the agent, and only files within this directory will be read and written by the agent. There exists a .evo/
directory within each session workspace, where internal logs are kept, including a chat.md
file that's provides a markdown version of the agent's output. Use --debug
to get a raw debug log emitted here as well.
The UI depends on Supabase Database. In order to run it locally you must have Docker Desktop installed and running.
- Make sure you've followed installation steps above
- Go to
cd apps/browser
- Run
yarn db:start
- This can take up to ~3 minutes, since it will download all the images needed by supabase - Update
.env.local
with:NEXT_PUBLIC_SUPABASE_URL
will have the value ofAPI URL
SUPABASE_SERVICE_ROLE_KEY
will have the value ofservice_role key
- Run the UI with
yarn dev