diff --git a/README.md b/README.md index 84f7baaef4..2c165041cd 100644 --- a/README.md +++ b/README.md @@ -1,70 +1,47 @@ - +
+ Logo +

OpenHands: Code Less, Make More

+
- - - -

- - GitHub Trend - -

Contributors - Forks Stargazers - Issues + CodeCov MIT License - Credits
Join our Slack community Join our Discord community - CodeCov -
- - -
- Logo -

OpenHands: Code Less, Make More

- Check out the documentation - Paper on Arxiv + Credits
- Evaluation Benchmark + Check out the documentation + Paper on Arxiv + Evaluation Benchmark Score +
-
+Welcome to OpenHands (formerly OpenDevin), a platform for software development agents powered by AI. -Welcome to OpenHands, a platform for autonomous software engineers, powered by AI and LLMs (previously called "OpenDevin"). +OpenHands agents can do anything a human developer can: modify code, run commands, browse the web, +call APIs, and yes—even copy code snippets from StackOverflow. -OpenHands agents collaborate with human developers to write code, fix bugs, and ship features. +Learn more at [docs.all-hands.dev](https://docs.all-hands.dev), or jump to the [Quick Start](#-quick-start). ![App screenshot](./docs/static/img/screenshot.png) -## ⚡ Getting Started -OpenHands works best with Docker version 26.0.0+ (Docker Desktop 4.31.0+). -You must be using Linux, Mac OS, or WSL on Windows. +## ⚡ Quick Start -To start OpenHands in a docker container, run the following commands in your terminal: +The easiest way to run OpenHands is in Docker. You can change `WORKSPACE_BASE` below to +point OpenHands to existing code that you'd like to modify. -> [!WARNING] -> When you run the following command, files in `./workspace` may be modified or deleted. +See the [Getting Started](https://docs.all-hands.dev/modules/usage/getting-started) guide for +system requirements and more information. ```bash WORKSPACE_BASE=$(pwd)/workspace + docker run -it --pull=always \ -e SANDBOX_RUNTIME_CONTAINER_IMAGE=ghcr.io/all-hands-ai/runtime:0.9.2-nikolaik \ -e SANDBOX_USER_ID=$(id -u) \ @@ -77,24 +54,14 @@ docker run -it --pull=always \ ghcr.io/all-hands-ai/openhands:0.9 ``` -> [!NOTE] -> This command pulls the `0.9` tag, which represents the most recent stable release of OpenHands. You have other options as well: -> - For a specific release version, use `ghcr.io/all-hands-ai/openhands:` (replace with the desired version number). -> - For the most up-to-date development version, use `ghcr.io/all-hands-ai/openhands:main`. This version may be **(unstable!)** and is recommended for testing or development purposes only. -> -> Choose the tag that best suits your needs based on stability requirements and desired features. +You'll find OpenHands running at [http://localhost:3000](http://localhost:3000). +Visit [Getting Started](https://docs.all-hands.dev/modules/usage/getting-started) for more information and setup. -You'll find OpenHands running at [http://localhost:3000](http://localhost:3000) with access to `./workspace`. To have OpenHands operate on your code, place it in `./workspace`. -OpenHands will only have access to this workspace folder. The rest of your system will not be affected as it runs in a secured docker sandbox. +If you want to modify the OpenHands source code, check out [Development.md](https://github.com/All-Hands-AI/OpenHands/blob/main/Development.md). -Upon opening OpenHands, you must select the appropriate `Model` and enter the `API Key` within the settings that should pop up automatically. These can be set at any time by selecting -the `Settings` button (gear icon) in the UI. If the required `Model` does not exist in the list, you can manually enter it in the text box. +Having issues? The [Troubleshooting Guide](https://docs.all-hands.dev/modules/usage/troubleshooting) can help. -For the development workflow, see [Development.md](https://github.com/All-Hands-AI/OpenHands/blob/main/Development.md). - -Are you having trouble? Check out our [Troubleshooting Guide](https://docs.all-hands.dev/modules/usage/troubleshooting). - -## 🚀 Documentation +## 📖 Documentation To learn more about the project, and for tips on using OpenHands, **check out our [documentation](https://docs.all-hands.dev/modules/usage/intro)**. @@ -134,17 +101,6 @@ Let's make software engineering better together! Distributed under the MIT License. See [`LICENSE`](./LICENSE) for more information. -[contributors-shield]: https://img.shields.io/github/contributors/All-Hands-AI/OpenHands?style=for-the-badge -[contributors-url]: https://github.com/All-Hands-AI/OpenHands/graphs/contributors -[forks-shield]: https://img.shields.io/github/forks/All-Hands-AI/OpenHands?style=for-the-badge -[forks-url]: https://github.com/All-Hands-AI/OpenHands/network/members -[stars-shield]: https://img.shields.io/github/stars/All-Hands-AI/OpenHands?style=for-the-badge -[stars-url]: https://github.com/All-Hands-AI/OpenHands/stargazers -[issues-shield]: https://img.shields.io/github/issues/All-Hands-AI/OpenHands?style=for-the-badge -[issues-url]: https://github.com/All-Hands-AI/OpenHands/issues -[license-shield]: https://img.shields.io/github/license/All-Hands-AI/OpenHands?style=for-the-badge -[license-url]: https://github.com/All-Hands-AI/OpenHands/blob/main/LICENSE - ## 🙏 Acknowledgements OpenHands is built by a large number of contributors, and every contribution is greatly appreciated! We also build upon other open source projects, and we are deeply thankful for their work. diff --git a/docs/modules/usage/getting-started.md b/docs/modules/usage/getting-started.md new file mode 100644 index 0000000000..82b3242990 --- /dev/null +++ b/docs/modules/usage/getting-started.md @@ -0,0 +1,54 @@ +--- +sidebar_position: 2 +--- + +# ⚡Getting Started + +## System Requirements +* Docker version 26.0.0+ or Docker Desktop 4.31.0+ +* You must be using Linux or Mac OS + * If you are on Windows, you must use [WSL](https://learn.microsoft.com/en-us/windows/wsl/install) + +## Installation +The easiest way to run OpenHands is in Docker. Use `WORKSPACE_BASE` below to +specify which folder the OpenHands agent should modify. + +```bash +WORKSPACE_BASE=$(pwd)/workspace + +docker run -it --pull=always \ + -e SANDBOX_RUNTIME_CONTAINER_IMAGE=ghcr.io/all-hands-ai/runtime:0.9.2-nikolaik \ + -e SANDBOX_USER_ID=$(id -u) \ + -e WORKSPACE_MOUNT_PATH=$WORKSPACE_BASE \ + -v $WORKSPACE_BASE:/opt/workspace_base \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -p 3000:3000 \ + --add-host host.docker.internal:host-gateway \ + --name openhands-app-$(date +%Y%m%d%H%M%S) \ + ghcr.io/all-hands-ai/openhands:0.9 +``` + +## Setup +After running the command above, you'll find OpenHands running at [http://localhost:3000](http://localhost:3000). + +The agent will have access to the `./workspace` folder to do its work. You can copy existing code here, or change `WORKSPACE_BASE` in the +command to point to an existing folder. + +Upon launching OpenHands, you'll see a settings modal. You must select an LLM backend using `Model`, and enter a corresponding `API Key` +These can be changed at any time by selecting the `Settings` button (gear icon) in the UI. +If the required `Model` does not exist in the list, you can manually enter it in the text box. + +![settings-modal](/img/settings-screenshot.png) + + +## Versions +The command above pulls the `0.9` tag, which represents the most recent stable release of OpenHands. You have other options as well: +- For a specific release, use `ghcr.io/all-hands-ai/openhands:$VERSION`, replacing $VERSION with the version number. +- We use semver, and release major, minor, and patch tags. So `0.9` will automatically point to the latest `0.9.x` release, and `0` will point to the latest `0.x.x` release. +- For the most up-to-date development version, you can use `ghcr.io/all-hands-ai/openhands:main`. This version is unstable and is recommended for testing or development purposes only. + +You can choose the tag that best suits your needs based on stability requirements and desired features. + +For the development workflow, see [Development.md](https://github.com/All-Hands-AI/OpenHands/blob/main/Development.md). + +Are you having trouble? Check out our [Troubleshooting Guide](https://docs.all-hands.dev/modules/usage/troubleshooting). diff --git a/docs/modules/usage/llms/llms.md b/docs/modules/usage/llms/llms.md index ffb9e3c408..4952507740 100644 --- a/docs/modules/usage/llms/llms.md +++ b/docs/modules/usage/llms/llms.md @@ -1,5 +1,5 @@ --- -sidebar_position: 2 +sidebar_position: 3 --- # 🤖 LLM Backends diff --git a/docs/static/img/logo.png b/docs/static/img/logo.png index 985f6d9814..799c7ee739 100644 Binary files a/docs/static/img/logo.png and b/docs/static/img/logo.png differ diff --git a/docs/static/img/settings-screenshot.png b/docs/static/img/settings-screenshot.png new file mode 100644 index 0000000000..3ba6189b66 Binary files /dev/null and b/docs/static/img/settings-screenshot.png differ