From 1b2bb70b7fbcfc81b25951f47994403c83f40274 Mon Sep 17 00:00:00 2001 From: Marina Cabrera Date: Fri, 31 May 2024 19:48:22 -0300 Subject: [PATCH 1/2] chore: improve docs --- README.md | 189 ++----------------- CONTRIBUTING.md => docs/contributing.md | 0 docs/features-and-roadmap.md | 54 ++++++ docs/installation.md | 0 docs/running-the-agent-with-a-local-model.md | 29 +++ docs/running-the-agent.md | 39 ++++ 6 files changed, 137 insertions(+), 174 deletions(-) rename CONTRIBUTING.md => docs/contributing.md (100%) create mode 100644 docs/features-and-roadmap.md create mode 100644 docs/installation.md create mode 100644 docs/running-the-agent-with-a-local-model.md create mode 100644 docs/running-the-agent.md diff --git a/README.md b/README.md index e570b41c..ea6633e9 100644 --- a/README.md +++ b/README.md @@ -16,205 +16,46 @@ https://github.com/entropy-research/Devon/assets/61808204/d42a8b9a-0211-4624-9804-d24df1d4dbf6 +### [Quickstart](#quickstart) | [Documentation](#docs) + ### How do y'all ship so quickly? Join our Discord community ← We have a __**community-driven Dev Team**__ for this repo. Come join us! It's great. - -# Installation - -## Prerequisites - -1. `node.js` and `npm` -2. `pipx`, if you don't have this go [here](https://pipx.pypa.io/stable/installation/) -3. API Key (just one is required) - - [**Anthropic**](https://console.anthropic.com/settings/keys) - - [**OpenAI**](https://platform.openai.com/api-keys) - - [**Groq**](https://console.groq.com/keys) (not released in package yet, run locally) -> We're currently working on supporting Windows! (Let us know if you can help) - -## Installation commands -To install, simply run: + +# Quickstart +1. Install Devon ```bash curl -sSL https://raw.githubusercontent.com/entropy-research/Devon/main/install.sh | bash ``` - -*Or to install using `pipx` + `npm`:* - -```bash -pipx install devon_agent -npm install -g devon-tui -``` - -This installs the Python backend, and the cli command to run the tool - -### Thats it! Happy building :) - - -# Running the agent -Navigate to your project folder and open the terminal. - -Set your Anthropic API or OpenAI API key as an environment variable: - +2. Set your API key ```bash export ANTHROPIC_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - -#OR - -export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - -#OR - -export GROQ_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ``` -Then to *run*, the command is: +3. Run Devon ```bash devon ``` -It's as easy as that. - -> [!NOTE] -> Don't worry, the agent will be able to only access files and folders in the directory you started it from. You can also correct it while it's performing actions. - ---- - -To run in *debug* mode, the command is: -```bash -devon --debug -``` - ---- +# Docs -To run in *local* mode: -> [!WARNING] -> The current version of local model support is not mature, proceed with caution, and expect the performance to degrade significantly compared to the other options. +- [Installation](docs/installation.md) +- [Running the agent](docs/running-the-agent.md) +- [Running the agent with a local model](docs/running-the-agent-with-a-local-model.md) +- [Features and Roadmap](docs/features-and-roadmap.md) +- [Contributing](docs/contributing.md) -1. Get deepseek running with [ollama](https://ollama.com/library/deepseek-coder:6.7b) +## Star history -2. Start the local ollama server by running -``` -ollama run deepseek-coder:6.7b -``` - -4. Then configure devon to use the model -```bash -devon configure - -Configuring Devon CLI... -? Select the model name: - claude-opus - gpt4-o - llama-3-70b -❯ ollama/deepseek-coder:6.7b -``` - -4. And finally, run it with: -``` -devon --api_key=FOSS -``` - ---- - -For a list of all commands available: -```bash -devon --help -``` - -# Features -- Multi-file editing -- Codebase exploration -- Config writing -- Test writing -- Bug fixing -- Architecture exploration -- Local Model Support - -### Limitations -- Minimal functionality for non-Python languages -- Sometimes have to specify the file where you want the change to happen -- Local mode is not good right now. Please try to avoid using it. - -# Progress - -### This project is still super early and we would love your help to make it great! - -### Current goals -- Multi-model support - - [x] Claude 3 Opus - - [x] GPT4-o - - [x] Groq llama3-70b - - [x] Ollama deepseek-6.7b - - [ ] Google Gemini 1.5 Pro -- Launch plugin system for tool and agent builders -- Create self-hostable Electron app -- Set SOTA on [SWE-bench Lite](https://www.swebench.com/lite.html) - -> View our current thoughts on next steps [**here**](https://docs.google.com/document/d/e/2PACX-1vTjLCQcWE_n-uUHFhtBkxTCIJ4FFe5ftY_E4_q69SjXhuEZv_CYpLaQDh3HqrJlAxsgikUx0sTzf9le/pub) - -### Star history

Star History Chart

-### Past milestones - -- [x] **May 19, 2024** - GPT4o support + better interface support v0.1.7 -- [x] **May 10, 2024** - Complete interactive agent v0.1.0 -- [x] **May 10, 2024** - Add steerability features -- [x] **May 8, 2024** - Beat AutoCodeRover on SWE-Bench Lite -- [x] **Mid April, 2024** - Add repo level code search tooling -- [x] **April 2, 2024** - Begin development of v0.1.0 interactive agent -- [x] **March 17, 2024** - Launch non-interactive agent v0.0.1 - - -## Current development priorities - -1. Improve context gathering and code indexing abilities ex: - - Adding memory modules - - Improved code indexing -2. Add alternative models and agents to: - - a) Reduce end user cost and - - b) Reduce end user latency -3. Introduce Electron app and new UI - - - -# How can I contribute? - -Devon and the entropy-research org are community-driven, and we welcome contributions from everyone! -From tackling issues to building features to creating datasets, there are many ways to get involved: - -- **Core functionality:** Help us develop the core agents, user experience, tool integrations, plugins, etc. -- **Research:** Help us research agent performance (including benchmarks!), build data pipelines, and finetune models. -- **Feedback and Testing:** Use Devon, report bugs, suggest features, or provide feedback on usability. - -For details, please check [CONTRIBUTING.md](./CONTRIBUTING.md). - -If you would like to contribute to the project, please join the discord: [Discord](https://discord.gg/p5YpZ5vjd9) - -# Feedback - -We would love feedback! Feel free to drop us a note on our [Discord](https://discord.gg/p5YpZ5vjd9) in the #feedback channel, or [create issues](https://github.com/entropy-research/Devon/issues)! - -We collect basic event type (i.e. "tool call") and failure telemetry to solve bugs and improve the user experience, but if you want to reach out, we would love to hear from you! - -To disable telemetry, set the environment variable `DEVON_TELEMETRY_DISABLED` to `true` -```bash -export DEVON_TELEMETRY_DISABLED=true -``` - -# Community - -Join our Discord server and say hi! -[Discord](https://discord.gg/p5YpZ5vjd9) - - -# License +## License Distributed under the AGPL License. See [`LICENSE`](./LICENSE) for more information. diff --git a/CONTRIBUTING.md b/docs/contributing.md similarity index 100% rename from CONTRIBUTING.md rename to docs/contributing.md diff --git a/docs/features-and-roadmap.md b/docs/features-and-roadmap.md new file mode 100644 index 00000000..6c034b7a --- /dev/null +++ b/docs/features-and-roadmap.md @@ -0,0 +1,54 @@ + +# Features +- Multi-file editing +- Codebase exploration +- Config writing +- Test writing +- Bug fixing +- Architecture exploration +- Local Model Support + +### Limitations +- Minimal functionality for non-Python languages +- Sometimes have to specify the file where you want the change to happen +- Local mode is not good right now. Please try to avoid using it. + +# Progress + +### This project is still super early and we would love your help to make it great! + +### Current goals +- Multi-model support + - [x] Claude 3 Opus + - [x] GPT4-o + - [x] Groq llama3-70b + - [x] Ollama deepseek-6.7b + - [ ] Google Gemini 1.5 Pro +- Launch plugin system for tool and agent builders +- Create self-hostable Electron app +- Set SOTA on [SWE-bench Lite](https://www.swebench.com/lite.html) + +> View our current thoughts on next steps [**here**](https://docs.google.com/document/d/e/2PACX-1vTjLCQcWE_n-uUHFhtBkxTCIJ4FFe5ftY_E4_q69SjXhuEZv_CYpLaQDh3HqrJlAxsgikUx0sTzf9le/pub) + + +### Past milestones + +- [x] **May 19, 2024** - GPT4o support + better interface support v0.1.7 +- [x] **May 10, 2024** - Complete interactive agent v0.1.0 +- [x] **May 10, 2024** - Add steerability features +- [x] **May 8, 2024** - Beat AutoCodeRover on SWE-Bench Lite +- [x] **Mid April, 2024** - Add repo level code search tooling +- [x] **April 2, 2024** - Begin development of v0.1.0 interactive agent +- [x] **March 17, 2024** - Launch non-interactive agent v0.0.1 + + +## Current development priorities + +1. Improve context gathering and code indexing abilities ex: + - Adding memory modules + - Improved code indexing +2. Add alternative models and agents to: + - a) Reduce end user cost and + - b) Reduce end user latency +3. Introduce Electron app and new UI + diff --git a/docs/installation.md b/docs/installation.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/running-the-agent-with-a-local-model.md b/docs/running-the-agent-with-a-local-model.md new file mode 100644 index 00000000..9048e7fe --- /dev/null +++ b/docs/running-the-agent-with-a-local-model.md @@ -0,0 +1,29 @@ + +# Running the agent with a *local* model + +> [!WARNING] +> The current version of local model support is not mature, proceed with caution, and expect the performance to degrade significantly compared to the other options. + +1. Get deepseek running with [ollama](https://ollama.com/library/deepseek-coder:6.7b) + +2. Start the local ollama server by running +``` +ollama run deepseek-coder:6.7b +``` + +4. Then configure devon to use the model +```bash +devon configure + +Configuring Devon CLI... +? Select the model name: + claude-opus + gpt4-o + llama-3-70b +❯ ollama/deepseek-coder:6.7b +``` + +4. And finally, run it with: +``` +devon --api_key=FOSS +``` diff --git a/docs/running-the-agent.md b/docs/running-the-agent.md new file mode 100644 index 00000000..25f4bdbf --- /dev/null +++ b/docs/running-the-agent.md @@ -0,0 +1,39 @@ +# Running the agent +Navigate to your project folder and open the terminal. + +Set your provider's API key as an environment variable: + +```bash +export ANTHROPIC_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + +#OR + +export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + +#OR + +export GROQ_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +``` + +Then to *run*, the command is: +```bash +devon +``` + +It's as easy as that. + +> [!NOTE] +> Don't worry, the agent will be able to only access files and folders in the directory you started it from. You can also correct it while it's performing actions. + +--- + +To run in *debug* mode, the command is: +```bash +devon --debug +``` + +--- +To disable telemetry, set the environment variable `DEVON_TELEMETRY_DISABLED` to `true` +```bash +export DEVON_TELEMETRY_DISABLED=true +``` \ No newline at end of file From 30af715c191f0b9058489aaeb2865fdf9bf90e77 Mon Sep 17 00:00:00 2001 From: Marina Cabrera Date: Fri, 31 May 2024 19:52:27 -0300 Subject: [PATCH 2/2] fix: missing installation docs --- docs/installation.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/docs/installation.md b/docs/installation.md index e69de29b..313ca3ec 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -0,0 +1,40 @@ +# Installation + +## Prerequisites + +1. `node.js` and `npm` +2. `pipx`, if you don't have this go [here](https://pipx.pypa.io/stable/installation/) +3. API Key (just one is required) + - [**Anthropic**](https://console.anthropic.com/settings/keys) + - [**OpenAI**](https://platform.openai.com/api-keys) + - [**Groq**](https://console.groq.com/keys) (not released in package yet, run locally) +> We're currently working on supporting Windows! (Let us know if you can help) + +## Installation commands + +To install, simply run: + +```bash +curl -sSL https://raw.githubusercontent.com/entropy-research/Devon/main/install.sh | bash +``` + + +*Or to install using `pipx` + `npm`:* + +```bash +pipx install devon_agent +npm install -g devon-tui +``` + +This installs the Python backend, and the cli command to run the tool + +--- + + +For a list of all commands available: +```bash +devon --help +``` + + +