Skip to content

Commit 9b8ba31

Browse files
authored
Merge branch 'main' into xw/aci-gaia-file-viewer
2 parents 366885f + e4d8494 commit 9b8ba31

File tree

158 files changed

+3793
-2692
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+3793
-2692
lines changed

.gitignore

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,6 @@ cython_debug/
161161
# and can be added to the global gitignore or merged into this file. For a more nuclear
162162
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
163163
.idea/
164-
.cursorignore
165164

166165
# VS Code: Ignore all but certain files that specify repo-specific settings.
167166
# https://stackoverflow.com/questions/32964920/should-i-commit-the-vscode-folder-to-source-control
@@ -171,6 +170,20 @@ cython_debug/
171170
!.vscode/settings.json
172171
!.vscode/tasks.json
173172

173+
# VS Code extensions/forks:
174+
.cursorignore
175+
.rooignore
176+
.clineignore
177+
.windsurfignore
178+
.cursorrules
179+
.roorules
180+
.clinerules
181+
.windsurfrules
182+
.cursor/rules
183+
.roo/rules
184+
.cline/rules
185+
.windsurf/rules
186+
174187
# evaluation
175188
evaluation/evaluation_outputs
176189
evaluation/outputs

Development.md

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
# Development Guide
22

33
This guide is for people working on OpenHands and editing the source code.
4-
If you wish to contribute your changes, check out the [CONTRIBUTING.md](https://github.com/All-Hands-AI/OpenHands/blob/main/CONTRIBUTING.md) on how to clone and setup the project
5-
initially before moving on. Otherwise, you can clone the OpenHands project directly.
4+
If you wish to contribute your changes, check out the
5+
[CONTRIBUTING.md](https://github.com/All-Hands-AI/OpenHands/blob/main/CONTRIBUTING.md)
6+
on how to clone and setup the project initially before moving on. Otherwise,
7+
you can clone the OpenHands project directly.
68

79
## Start the Server for Development
810

@@ -19,9 +21,20 @@ initially before moving on. Otherwise, you can clone the OpenHands project direc
1921

2022
Make sure you have all these dependencies installed before moving on to `make build`.
2123

24+
#### Dev container
25+
26+
There is a [dev container](https://containers.dev/) available which provides a
27+
pre-configured environment with all the necessary dependencies installed if you
28+
are using a [supported editor or tool](https://containers.dev/supporting). For
29+
example, if you are using Visual Studio Code (VS Code) with the
30+
[Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
31+
extension installed, you can open the project in a dev container by using the
32+
_Dev Container: Reopen in Container_ command from the Command Palette
33+
(Ctrl+Shift+P).
34+
2235
#### Develop without sudo access
2336

24-
If you want to develop without system admin/sudo access to upgrade/install `Python` and/or `NodeJs`, you can use
37+
If you want to develop without system admin/sudo access to upgrade/install `Python` and/or `NodeJs`, you can use
2538
`conda` or `mamba` to manage the packages for you:
2639

2740
```bash
@@ -37,7 +50,7 @@ mamba install conda-forge::poetry
3750

3851
### 2. Build and Setup The Environment
3952

40-
Begin by building the project which includes setting up the environment and installing dependencies. This step ensures
53+
Begin by building the project which includes setting up the environment and installing dependencies. This step ensures
4154
that OpenHands is ready to run on your system:
4255

4356
```bash
@@ -54,11 +67,11 @@ To configure the LM of your choice, run:
5467
make setup-config
5568
```
5669

57-
This command will prompt you to enter the LLM API key, model name, and other variables ensuring that OpenHands is
58-
tailored to your specific needs. Note that the model name will apply only when you run headless. If you use the UI,
70+
This command will prompt you to enter the LLM API key, model name, and other variables ensuring that OpenHands is
71+
tailored to your specific needs. Note that the model name will apply only when you run headless. If you use the UI,
5972
please set the model in the UI.
6073

61-
Note: If you have previously run OpenHands using the docker command, you may have already set some environmental
74+
Note: If you have previously run OpenHands using the docker command, you may have already set some environmental
6275
variables in your terminal. The final configurations are set from highest to lowest priority:
6376
Environment variables > config.toml variables > default variables
6477

@@ -77,14 +90,14 @@ make run
7790

7891
#### Option B: Individual Server Startup
7992

80-
- **Start the Backend Server:** If you prefer, you can start the backend server independently to focus on
93+
- **Start the Backend Server:** If you prefer, you can start the backend server independently to focus on
8194
backend-related tasks or configurations.
8295

8396
```bash
8497
make start-backend
8598
```
8699

87-
- **Start the Frontend Server:** Similarly, you can start the frontend server on its own to work on frontend-related
100+
- **Start the Frontend Server:** Similarly, you can start the frontend server on its own to work on frontend-related
88101
components or interface enhancements.
89102
```bash
90103
make start-frontend
@@ -120,7 +133,7 @@ poetry run pytest ./tests/unit/test_*.py
120133

121134
### 9. Use existing Docker image
122135

123-
To reduce build time (e.g., if no changes were made to the client-runtime component), you can use an existing Docker
136+
To reduce build time (e.g., if no changes were made to the client-runtime component), you can use an existing Docker
124137
container image by setting the SANDBOX_RUNTIME_CONTAINER_IMAGE environment variable to the desired Docker image.
125138

126139
Example: `export SANDBOX_RUNTIME_CONTAINER_IMAGE=ghcr.io/all-hands-ai/runtime:0.39-nikolaik`

config.template.toml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,15 @@ classpath = "my_package.my_module.MyCustomAgent"
325325
# Useful when deploying OpenHands in a remote machine where you need to expose a specific port.
326326
#vscode_port = 41234
327327

328+
# Volume mounts in the format 'host_path:container_path[:mode]'
329+
# e.g. '/my/host/dir:/workspace:rw'
330+
# Multiple mounts can be specified using commas
331+
# e.g. '/path1:/workspace/path1,/path2:/workspace/path2:ro'
332+
333+
# Configure volumes under the [sandbox] section:
334+
# [sandbox]
335+
# volumes = "/my/host/dir:/workspace:rw,/path2:/workspace/path2:ro"
336+
328337
#################################### Security ###################################
329338
# Configuration for security features
330339
##############################################################################

docs/modules/usage/configuration-options.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,19 @@ The core configuration options are defined in the `[core]` section of the `confi
6666

6767
- `file_store`
6868
- Type: `str`
69-
- Default: `"memory"`
69+
- Default: `"local"`
7070
- Description: File store type
7171

72+
- `file_store_web_hook_url`
73+
- Type: `str`
74+
- Default: `None`
75+
- Description: Optional url for a webhook to invoke after file store writes / deletes
76+
77+
- `file_store_web_hook_headers`
78+
- Type: `str`
79+
- Default: `None`
80+
- Description: HTTP Headers to include in web hook requests.
81+
7282
- `file_uploads_allowed_extensions`
7383
- Type: `list of str`
7484
- Default: `[".*"]`
@@ -331,6 +341,8 @@ The agent configuration options are defined in the `[agent]` and `[agent.<agent_
331341

332342
The sandbox configuration options are defined in the `[sandbox]` section of the `config.toml` file.
333343

344+
345+
334346
To use these with the docker command, pass in `-e SANDBOX_<option>`. Example: `-e SANDBOX_TIMEOUT`.
335347

336348
### Execution

0 commit comments

Comments
 (0)