mirror of
https://github.com/All-Hands-AI/OpenHands.git
synced 2026-04-29 03:00:45 -04:00
Compare commits
202 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| da500222d5 | |||
| 6f1effba5b | |||
| bc223885a0 | |||
| 0dcd5e9d30 | |||
| 8ee85a45a2 | |||
| 342563d113 | |||
| af037b3a8a | |||
| 33b714e0a0 | |||
| 35d2281717 | |||
| 83bfbc7045 | |||
| 11e6d40c7a | |||
| 41d84ee8cd | |||
| 0c2924453f | |||
| 77cd05c33b | |||
| ff22712686 | |||
| edc43ca60d | |||
| b838ea0427 | |||
| 9a5e5956fc | |||
| 35426a04d8 | |||
| 598d19cd5d | |||
| dd3b3d1253 | |||
| 693d912361 | |||
| 31ad7fc175 | |||
| 5e43dbadcb | |||
| b0b5a6c2a1 | |||
| 92f8061558 | |||
| 2bb1b7b7aa | |||
| ca9fe7c5c8 | |||
| a40443f5f4 | |||
| 20983a2128 | |||
| efe287ce34 | |||
| fa5b52298e | |||
| 57bfef3735 | |||
| f3a127a17f | |||
| 8cc039997f | |||
| 50d4c79094 | |||
| f7cdf4720f | |||
| 6d3c2170b1 | |||
| 926b425e12 | |||
| 3980ba53c9 | |||
| be78cc07bd | |||
| 13f9acd48a | |||
| 2906a9023f | |||
| 66f33bfa96 | |||
| cfa2725abd | |||
| 097f757c65 | |||
| ac87ff8d27 | |||
| a3d1a92353 | |||
| 70573dcbc0 | |||
| 637cb0726a | |||
| 2bd10de636 | |||
| 70322c8418 | |||
| 8b08958efe | |||
| 5b021ad1bb | |||
| 890796cc9d | |||
| 7305c8fb31 | |||
| f1897b8095 | |||
| c26ef180f2 | |||
| 37e9933092 | |||
| c353fb6e7e | |||
| 3280f450ac | |||
| 6335afb010 | |||
| 40d9b0b13a | |||
| 005c5d6bde | |||
| 0deabd5935 | |||
| 6f5bb4341f | |||
| a5daf0e3c1 | |||
| 3873d9f002 | |||
| 5e1039e4b5 | |||
| d648d249d8 | |||
| aa55da27fa | |||
| e69d6b3ef1 | |||
| be1ddaa57d | |||
| 7b59e81048 | |||
| 470687f826 | |||
| 38b4d93237 | |||
| 872b97a3c8 | |||
| 14334040f1 | |||
| b244138ec5 | |||
| 4a3d2e6859 | |||
| 1a3cb16ba6 | |||
| 2ecc39ffcc | |||
| 0b26174d60 | |||
| b0005d4e09 | |||
| 2dc7b37fe8 | |||
| 27c18f5bdd | |||
| 5077fea5c7 | |||
| bf383b4881 | |||
| c17b0ebfc6 | |||
| 1f390430e5 | |||
| 819bad0777 | |||
| 2faed14139 | |||
| 4733270e3c | |||
| 21dd91de63 | |||
| 25619c5a93 | |||
| 15f71e7ed6 | |||
| 5b583e5f27 | |||
| c191a17afb | |||
| 8ec5d0e043 | |||
| f3f038bb60 | |||
| b8d3027cfe | |||
| feb04dc65f | |||
| 1f827170f4 | |||
| f7cb2d0f64 | |||
| 033788c2d0 | |||
| 21d0990be4 | |||
| 6227073cff | |||
| 4c38113cb7 | |||
| fb516dfa0f | |||
| 04d585513c | |||
| 7a4ea23b9d | |||
| 7490c1927f | |||
| 8d2ac59909 | |||
| 68e5f485aa | |||
| e4c284f96d | |||
| 3ca585b79f | |||
| 7e88d4195f | |||
| f046efd53d | |||
| e4586432ad | |||
| d956abe56b | |||
| 6145552841 | |||
| b1dca48c8e | |||
| 81ba80dde0 | |||
| 08a790c4ca | |||
| 1b57fd4d1e | |||
| c36cbf6543 | |||
| 67d438ea4f | |||
| 154eed148f | |||
| f9b0fcd76e | |||
| 0782aeb1c4 | |||
| 55fbb65e05 | |||
| 1abed30b44 | |||
| 1f29ec836b | |||
| 81c754ec65 | |||
| 880ec57c78 | |||
| e06aac7521 | |||
| 60d9b519e0 | |||
| 5ad11e73b8 | |||
| 3e5b16b348 | |||
| f3d0ae3fbf | |||
| dea3ddfcc6 | |||
| 31b2f3c9c2 | |||
| 4bb6ec2ee5 | |||
| ae8ed49280 | |||
| 786e21fb8a | |||
| f317c03b1b | |||
| e72153629d | |||
| b127d5f656 | |||
| f75fa50b80 | |||
| 5a927c8651 | |||
| 2693360ad0 | |||
| 1081f8091d | |||
| 8d0e5c6c34 | |||
| 0b897ff3dc | |||
| c5ace563c4 | |||
| 9af132933c | |||
| 10c56932af | |||
| e9905115c4 | |||
| 6b11fff735 | |||
| 3d02c0c3a3 | |||
| a17c57d82e | |||
| da637a0dad | |||
| 27c49471a8 | |||
| bffe8de597 | |||
| f0bb7de1c6 | |||
| 90aab29bc0 | |||
| ade059bfba | |||
| 5073cee7ff | |||
| dc4b06f96b | |||
| b5dbf81179 | |||
| b50831d06c | |||
| 46c735282a | |||
| 507c02e518 | |||
| 29f3e028e5 | |||
| f8faa28bb1 | |||
| b6c5a7e854 | |||
| c805247574 | |||
| 3d68711ca3 | |||
| 7d356cad47 | |||
| 4c33b28dad | |||
| 9d4d56d3be | |||
| 4ff43d1d99 | |||
| 6d1e1f75ae | |||
| c982bc6692 | |||
| 3606ca87d5 | |||
| 05f3840ca5 | |||
| a87bb10bfc | |||
| b030594646 | |||
| 99a4717826 | |||
| 11f32d2465 | |||
| c6c94d979b | |||
| b06bd277ba | |||
| d8dfc7735c | |||
| 6f88ddb2ab | |||
| 750b1f03b7 | |||
| e95c2bf521 | |||
| 56651bb93c | |||
| 13c9bff050 | |||
| 689d3c9046 | |||
| d5a8d4251c | |||
| 087438eb3e | |||
| f2af1807e3 |
@@ -0,0 +1,15 @@
|
||||
// For format details, see: https://aka.ms/devcontainer.json
|
||||
{
|
||||
"name": "Python 3",
|
||||
// Documentation for this image:
|
||||
// - https://github.com/devcontainers/templates/tree/main/src/python
|
||||
// - https://github.com/microsoft/vscode-remote-try-python
|
||||
// - https://hub.docker.com/r/microsoft/devcontainers-python
|
||||
"image": "mcr.microsoft.com/devcontainers/python:1-3.12-bullseye",
|
||||
"features": {
|
||||
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {},
|
||||
"ghcr.io/devcontainers-extra/features/poetry:2": {},
|
||||
"ghcr.io/devcontainers/features/node:1": {},
|
||||
},
|
||||
"postCreateCommand": ".devcontainer/setup.sh",
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Install `nc`
|
||||
sudo apt update && sudo apt install netcat -y
|
||||
|
||||
# Do common setup tasks
|
||||
source .openhands/setup.sh
|
||||
@@ -0,0 +1,5 @@
|
||||
[*]
|
||||
# force *nix line endings so files don't look modified in container run from Windows clone
|
||||
end_of_line = lf
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
@@ -1 +1,7 @@
|
||||
*.ipynb linguist-vendored
|
||||
|
||||
# force *nix line endings so files don't look modified in container run from Windows clone
|
||||
* text eol=lf
|
||||
# Git incorrectly thinks some media is text
|
||||
*.png -text
|
||||
*.mp4 -text
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
codecov:
|
||||
notify:
|
||||
wait_for_ci: true
|
||||
# our project is large, so 6 builds are typically uploaded. this waits till 5/6
|
||||
# See https://docs.codecov.com/docs/notifications#section-preventing-notifications-until-after-n-builds
|
||||
after_n_builds: 5
|
||||
|
||||
coverage:
|
||||
status:
|
||||
patch:
|
||||
default:
|
||||
threshold: 100% # allow patch coverage to be lower than project coverage by any amount
|
||||
project:
|
||||
default:
|
||||
threshold: 5% # allow project coverage to drop at most 5%
|
||||
|
||||
comment: false
|
||||
github_checks:
|
||||
annotations: false
|
||||
@@ -0,0 +1,11 @@
|
||||
# CODEOWNERS file for OpenHands repository
|
||||
# See https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
|
||||
|
||||
# Frontend code owners
|
||||
/frontend/ @rbren @amanape
|
||||
|
||||
# Evaluation code owners
|
||||
/evaluation/ @xingyaoww @neubig
|
||||
|
||||
# Documentation code owners
|
||||
/docs/ @mamoodi
|
||||
@@ -13,6 +13,10 @@ updates:
|
||||
browsergym:
|
||||
patterns:
|
||||
- "browsergym*"
|
||||
mcp-packages:
|
||||
patterns:
|
||||
- "mcp"
|
||||
- "mcpm"
|
||||
security-all:
|
||||
applies-to: "security-updates"
|
||||
patterns:
|
||||
|
||||
@@ -2,10 +2,9 @@
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
from typing import Set, Tuple
|
||||
|
||||
|
||||
def find_version_references(directory: str) -> Tuple[Set[str], Set[str]]:
|
||||
def find_version_references(directory: str) -> tuple[set[str], set[str]]:
|
||||
openhands_versions = set()
|
||||
runtime_versions = set()
|
||||
|
||||
|
||||
@@ -42,7 +42,3 @@ jobs:
|
||||
- name: Run tests and collect coverage
|
||||
working-directory: ./frontend
|
||||
run: npm run test:coverage
|
||||
- name: Upload coverage to Codecov
|
||||
uses: codecov/codecov-action@v5
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
@@ -312,11 +312,7 @@ jobs:
|
||||
SANDBOX_RUNTIME_CONTAINER_IMAGE=$image_name \
|
||||
TEST_IN_CI=true \
|
||||
RUN_AS_OPENHANDS=false \
|
||||
poetry run pytest -n 7 -raRs --reruns 2 --reruns-delay 5 --cov=openhands --cov-report=xml -s ./tests/runtime --ignore=tests/runtime/test_browsergym_envs.py --durations=10
|
||||
- name: Upload coverage to Codecov
|
||||
uses: codecov/codecov-action@v5
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
poetry run pytest -n 7 -raRs --reruns 2 --reruns-delay 5 -s ./tests/runtime --ignore=tests/runtime/test_browsergym_envs.py --durations=10
|
||||
|
||||
# Run unit tests with the Docker runtime Docker images as openhands user
|
||||
test_runtime_oh:
|
||||
@@ -381,11 +377,7 @@ jobs:
|
||||
SANDBOX_RUNTIME_CONTAINER_IMAGE=$image_name \
|
||||
TEST_IN_CI=true \
|
||||
RUN_AS_OPENHANDS=true \
|
||||
poetry run pytest -n 7 -raRs --reruns 2 --reruns-delay 5 --cov=openhands --cov-report=xml -s ./tests/runtime --ignore=tests/runtime/test_browsergym_envs.py --durations=10
|
||||
- name: Upload coverage to Codecov
|
||||
uses: codecov/codecov-action@v5
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
poetry run pytest -n 7 -raRs --reruns 2 --reruns-delay 5 -s ./tests/runtime --ignore=tests/runtime/test_browsergym_envs.py --durations=10
|
||||
|
||||
# The two following jobs (named identically) are to check whether all the runtime tests have passed as the
|
||||
# "All Runtime Tests Passed" is a required job for PRs to merge
|
||||
|
||||
@@ -30,11 +30,12 @@ jobs:
|
||||
run: |
|
||||
cd frontend
|
||||
npm install --frozen-lockfile
|
||||
- name: Lint and TypeScript compilation
|
||||
- name: Lint, TypeScript compilation, and translation checks
|
||||
run: |
|
||||
cd frontend
|
||||
npm run lint
|
||||
npm run make-i18n && tsc
|
||||
npm run check-translation-completeness
|
||||
|
||||
# Run lint on the python code
|
||||
lint-python:
|
||||
|
||||
@@ -24,7 +24,7 @@ on:
|
||||
LLM_MODEL:
|
||||
required: false
|
||||
type: string
|
||||
default: "anthropic/claude-3-7-sonnet-20250219"
|
||||
default: "anthropic/claude-sonnet-4-20250514"
|
||||
LLM_API_VERSION:
|
||||
required: false
|
||||
type: string
|
||||
@@ -83,7 +83,7 @@ jobs:
|
||||
(github.event.review.author_association == 'OWNER' || github.event.review.author_association == 'COLLABORATOR' || github.event.review.author_association == 'MEMBER')
|
||||
)
|
||||
)
|
||||
runs-on: "${{ inputs.runner }}"
|
||||
runs-on: "${{ inputs.runner || 'ubuntu-latest' }}"
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
@@ -92,6 +92,9 @@ jobs:
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
- name: Upgrade pip
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
|
||||
- name: Get latest versions and create requirements.txt
|
||||
run: |
|
||||
@@ -229,11 +232,11 @@ jobs:
|
||||
// Perform package installation
|
||||
if (isExperimentalLabel || isIssueCommentExperimental || isReviewCommentExperimental) {
|
||||
console.log("Installing experimental OpenHands...");
|
||||
await exec.exec("python -m pip install --upgrade pip");
|
||||
|
||||
await exec.exec("pip install git+https://github.com/all-hands-ai/openhands.git");
|
||||
} else {
|
||||
console.log("Installing from requirements.txt...");
|
||||
await exec.exec("python -m pip install --upgrade pip");
|
||||
|
||||
await exec.exec("pip install -r /tmp/requirements.txt");
|
||||
}
|
||||
|
||||
|
||||
@@ -47,12 +47,10 @@ jobs:
|
||||
run: poetry install --without evaluation
|
||||
- name: Build Environment
|
||||
run: make build
|
||||
- name: Run Tests
|
||||
run: poetry run pytest --forked -n auto --cov=openhands --cov-report=xml -svv ./tests/unit
|
||||
- name: Upload coverage to Codecov
|
||||
uses: codecov/codecov-action@v5
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
- name: Run Unit Tests
|
||||
run: poetry run pytest --forked -n auto -svv ./tests/unit
|
||||
- name: Run Runtime Tests with CLIRuntime
|
||||
run: TEST_RUNTIME=cli poetry run pytest -svv tests/runtime/test_bash.py
|
||||
|
||||
# Run specific Windows python tests
|
||||
test-on-windows:
|
||||
@@ -76,5 +74,5 @@ jobs:
|
||||
run: poetry install --without evaluation
|
||||
- name: Run Windows unit tests
|
||||
run: poetry run pytest -svv tests/unit/test_windows_bash.py
|
||||
- name: Run Windows runtime tests
|
||||
- name: Run Windows runtime tests with LocalRuntime
|
||||
run: $env:TEST_RUNTIME="local"; poetry run pytest -svv tests/runtime/test_bash.py
|
||||
|
||||
@@ -9,7 +9,7 @@ on:
|
||||
jobs:
|
||||
trigger-job:
|
||||
name: Trigger remote eval job
|
||||
if: ${{ github.event.label.name == 'run-eval-xs' || github.event.label.name == 'run-eval-s' || github.event.label.name == 'run-eval-m' }}
|
||||
if: ${{ github.event.label.name == 'run-eval-1' || github.event.label.name == 'run-eval-2' || github.event.label.name == 'run-eval-50' || github.event.label.name == 'run-eval-100' }}
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2204
|
||||
|
||||
steps:
|
||||
@@ -26,12 +26,14 @@ jobs:
|
||||
echo "Repository URL: $REPO_URL"
|
||||
echo "PR Branch: $PR_BRANCH"
|
||||
|
||||
if [[ "${{ github.event.label.name }}" == "run-eval-xs" ]]; then
|
||||
if [[ "${{ github.event.label.name }}" == "run-eval-1" ]]; then
|
||||
EVAL_INSTANCES="1"
|
||||
elif [[ "${{ github.event.label.name }}" == "run-eval-s" ]]; then
|
||||
EVAL_INSTANCES="5"
|
||||
elif [[ "${{ github.event.label.name }}" == "run-eval-m" ]]; then
|
||||
EVAL_INSTANCES="30"
|
||||
elif [[ "${{ github.event.label.name }}" == "run-eval-2" ]]; then
|
||||
EVAL_INSTANCES="2"
|
||||
elif [[ "${{ github.event.label.name }}" == "run-eval-50" ]]; then
|
||||
EVAL_INSTANCES="50"
|
||||
elif [[ "${{ github.event.label.name }}" == "run-eval-100" ]]; then
|
||||
EVAL_INSTANCES="100"
|
||||
fi
|
||||
|
||||
curl -X POST \
|
||||
|
||||
+8
-1
@@ -161,9 +161,16 @@ cython_debug/
|
||||
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
||||
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
||||
.idea/
|
||||
.vscode/
|
||||
.cursorignore
|
||||
|
||||
# VS Code: Ignore all but certain files that specify repo-specific settings.
|
||||
# https://stackoverflow.com/questions/32964920/should-i-commit-the-vscode-folder-to-source-control
|
||||
.vscode/**/*
|
||||
!.vscode/extensions.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
|
||||
# evaluation
|
||||
evaluation/evaluation_outputs
|
||||
evaluation/outputs
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
name: documentation
|
||||
type: knowledge
|
||||
version: 1.0.0
|
||||
agent: CodeActAgent
|
||||
triggers:
|
||||
- documentation
|
||||
- docs
|
||||
- document
|
||||
---
|
||||
|
||||
# Documentation Guidelines
|
||||
|
||||
All documentation must be grounded in fact, so you must not make anything up without proper evidence. When you have finished writing documentation, convey to the user what reference source, including web pages, source code, or other sources of documentation you referenced when writing each new fact in the documentation. If you cannot reference a source for anything do not include it in the pull request.
|
||||
|
||||
## Best Practices for Documentation
|
||||
|
||||
1. **Be Factual**: Only include information that can be verified from reliable sources.
|
||||
2. **Cite Sources**: Always reference the source of information (code, web pages, official documentation).
|
||||
3. **Be Clear and Concise**: Use simple language and avoid unnecessary jargon.
|
||||
4. **Use Examples**: Include practical examples to illustrate concepts.
|
||||
5. **Structure Properly**: Use headings, lists, and code blocks to organize information.
|
||||
6. **Keep Updated**: Ensure documentation reflects the current state of the code or system.
|
||||
|
||||
## Documentation Process
|
||||
|
||||
1. Research and gather information from reliable sources
|
||||
2. Draft documentation based on verified facts
|
||||
3. Review for accuracy and completeness
|
||||
4. Include references for all factual statements
|
||||
5. Submit only when all information is properly sourced
|
||||
|
||||
Remember: If you cannot verify a piece of information, it's better to exclude it than to include potentially incorrect information.
|
||||
@@ -1,8 +1,3 @@
|
||||
---
|
||||
name: repo
|
||||
type: repo
|
||||
agent: CodeActAgent
|
||||
---
|
||||
This repository contains the code for OpenHands, an automated AI software engineer. It has a Python backend
|
||||
(in the `openhands` directory) and React frontend (in the `frontend` directory).
|
||||
|
||||
@@ -14,7 +9,7 @@ IMPORTANT: Before making any changes to the codebase, ALWAYS run `make install-p
|
||||
|
||||
Before pushing any changes, you MUST ensure that any lint errors or simple test errors have been fixed.
|
||||
|
||||
* If you've made changes to the backend, you should run `pre-commit run --all-files --config ./dev_config/python/.pre-commit-config.yaml`
|
||||
* If you've made changes to the backend, you should run `pre-commit run --config ./dev_config/python/.pre-commit-config.yaml` (this will run on staged files).
|
||||
* If you've made changes to the frontend, you should run `cd frontend && npm run lint:fix && npm run build ; cd ..`
|
||||
|
||||
The pre-commit hooks MUST pass successfully before pushing any changes to the repository. This is a mandatory requirement to maintain code quality and consistency.
|
||||
@@ -71,3 +66,18 @@ These details may or may not be useful for your current task.
|
||||
- Actions with `thought` property are displayed in the UI based on their action type:
|
||||
- Regular actions (like "run", "edit") display the thought as a separate message
|
||||
- Special actions (like "think") are displayed as collapsible elements only
|
||||
|
||||
#### Adding User Settings:
|
||||
- To add a new user setting to OpenHands, follow these steps:
|
||||
1. Add the setting to the frontend:
|
||||
- Add the setting to the `Settings` type in `frontend/src/types/settings.ts`
|
||||
- Add the setting to the `ApiSettings` type in the same file
|
||||
- Add the setting with an appropriate default value to `DEFAULT_SETTINGS` in `frontend/src/services/settings.ts`
|
||||
- Update the `useSettings` hook in `frontend/src/hooks/query/use-settings.ts` to map the API response
|
||||
- Update the `useSaveSettings` hook in `frontend/src/hooks/mutation/use-save-settings.ts` to include the setting in API requests
|
||||
- Add UI components (like toggle switches) in the appropriate settings screen (e.g., `frontend/src/routes/app-settings.tsx`)
|
||||
- Add i18n translations for the setting name and any tooltips in `frontend/src/i18n/translation.json`
|
||||
- Add the translation key to `frontend/src/i18n/declaration.ts`
|
||||
2. Add the setting to the backend:
|
||||
- Add the setting to the `Settings` model in `openhands/storage/data_models/settings.py`
|
||||
- Update any relevant backend code to apply the setting (e.g., in session creation)
|
||||
|
||||
Regular → Executable
@@ -9,4 +9,5 @@ python -m pip install pre-commit
|
||||
if [ -d ".git" ]; then
|
||||
echo "Installing pre-commit hooks..."
|
||||
pre-commit install
|
||||
make install-pre-commit-hooks
|
||||
fi
|
||||
|
||||
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
{
|
||||
// force *nix line endings so files don't look modified in container run from Windows clone
|
||||
"files.eol": "\n",
|
||||
"files.trimTrailingWhitespace": true,
|
||||
"files.insertFinalNewline": true,
|
||||
}
|
||||
+19
-14
@@ -1,8 +1,8 @@
|
||||
# Development Guide
|
||||
|
||||
This guide is for people working on OpenHands and editing the source code.
|
||||
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 initially before moving on.
|
||||
Otherwise, you can clone the OpenHands project directly.
|
||||
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
|
||||
initially before moving on. Otherwise, you can clone the OpenHands project directly.
|
||||
|
||||
## Start the Server for Development
|
||||
|
||||
@@ -14,14 +14,15 @@ Otherwise, you can clone the OpenHands project directly.
|
||||
- [NodeJS](https://nodejs.org/en/download/package-manager) >= 22.x
|
||||
- [Poetry](https://python-poetry.org/docs/#installing-with-the-official-installer) >= 1.8
|
||||
- OS-specific dependencies:
|
||||
- Ubuntu: build-essential => `sudo apt-get install build-essential`
|
||||
- Ubuntu: build-essential => `sudo apt-get install build-essential python3.12-dev`
|
||||
- WSL: netcat => `sudo apt-get install netcat`
|
||||
|
||||
Make sure you have all these dependencies installed before moving on to `make build`.
|
||||
|
||||
#### Develop without sudo access
|
||||
|
||||
If you want to develop without system admin/sudo access to upgrade/install `Python` and/or `NodeJs`, you can use `conda` or `mamba` to manage the packages for you:
|
||||
If you want to develop without system admin/sudo access to upgrade/install `Python` and/or `NodeJs`, you can use
|
||||
`conda` or `mamba` to manage the packages for you:
|
||||
|
||||
```bash
|
||||
# Download and install Mamba (a faster version of conda)
|
||||
@@ -36,7 +37,8 @@ mamba install conda-forge::poetry
|
||||
|
||||
### 2. Build and Setup The Environment
|
||||
|
||||
Begin by building the project which includes setting up the environment and installing dependencies. This step ensures that OpenHands is ready to run on your system:
|
||||
Begin by building the project which includes setting up the environment and installing dependencies. This step ensures
|
||||
that OpenHands is ready to run on your system:
|
||||
|
||||
```bash
|
||||
make build
|
||||
@@ -45,8 +47,6 @@ make build
|
||||
### 3. Configuring the Language Model
|
||||
|
||||
OpenHands supports a diverse array of Language Models (LMs) through the powerful [litellm](https://docs.litellm.ai) library.
|
||||
By default, we've chosen Claude Sonnet 3.5 as our go-to model, but the world is your oyster! You can unleash the
|
||||
potential of any other LM that piques your interest.
|
||||
|
||||
To configure the LM of your choice, run:
|
||||
|
||||
@@ -54,9 +54,12 @@ To configure the LM of your choice, run:
|
||||
make setup-config
|
||||
```
|
||||
|
||||
This command will prompt you to enter the LLM API key, model name, and other variables ensuring that OpenHands is tailored to your specific needs. Note that the model name will apply only when you run headless. If you use the UI, please set the model in the UI.
|
||||
This command will prompt you to enter the LLM API key, model name, and other variables ensuring that OpenHands is
|
||||
tailored to your specific needs. Note that the model name will apply only when you run headless. If you use the UI,
|
||||
please set the model in the UI.
|
||||
|
||||
Note: If you have previously run OpenHands using the docker command, you may have already set some environmental variables in your terminal. The final configurations are set from highest to lowest priority:
|
||||
Note: If you have previously run OpenHands using the docker command, you may have already set some environmental
|
||||
variables in your terminal. The final configurations are set from highest to lowest priority:
|
||||
Environment variables > config.toml variables > default variables
|
||||
|
||||
**Note on Alternative Models:**
|
||||
@@ -74,13 +77,15 @@ make run
|
||||
|
||||
#### Option B: Individual Server Startup
|
||||
|
||||
- **Start the Backend Server:** If you prefer, you can start the backend server independently to focus on backend-related tasks or configurations.
|
||||
- **Start the Backend Server:** If you prefer, you can start the backend server independently to focus on
|
||||
backend-related tasks or configurations.
|
||||
|
||||
```bash
|
||||
make start-backend
|
||||
```
|
||||
|
||||
- **Start the Frontend Server:** Similarly, you can start the frontend server on its own to work on frontend-related components or interface enhancements.
|
||||
- **Start the Frontend Server:** Similarly, you can start the frontend server on its own to work on frontend-related
|
||||
components or interface enhancements.
|
||||
```bash
|
||||
make start-frontend
|
||||
```
|
||||
@@ -115,10 +120,10 @@ poetry run pytest ./tests/unit/test_*.py
|
||||
|
||||
### 9. Use existing Docker image
|
||||
|
||||
To reduce build time (e.g., if no changes were made to the client-runtime component), you can use an existing Docker container image by
|
||||
setting the SANDBOX_RUNTIME_CONTAINER_IMAGE environment variable to the desired Docker image.
|
||||
To reduce build time (e.g., if no changes were made to the client-runtime component), you can use an existing Docker
|
||||
container image by setting the SANDBOX_RUNTIME_CONTAINER_IMAGE environment variable to the desired Docker image.
|
||||
|
||||
Example: `export SANDBOX_RUNTIME_CONTAINER_IMAGE=ghcr.io/all-hands-ai/runtime:0.37-nikolaik`
|
||||
Example: `export SANDBOX_RUNTIME_CONTAINER_IMAGE=ghcr.io/all-hands-ai/runtime:0.39-nikolaik`
|
||||
|
||||
## Develop inside Docker container
|
||||
|
||||
|
||||
+1
-6
@@ -3,17 +3,12 @@ These are the procedures and guidelines on how issues are triaged in this repo b
|
||||
|
||||
## General
|
||||
* All issues must be tagged with **enhancement**, **bug** or **troubleshooting/help**.
|
||||
* Issues may be tagged with what it relates to (**agent quality**, **frontend**, **resolver**, etc.).
|
||||
* Issues may be tagged with what it relates to (**agent quality**, **resolver**, **CLI**, etc.).
|
||||
|
||||
## Severity
|
||||
* **Low**: Minor issues or affecting single user.
|
||||
* **Medium**: Affecting multiple users.
|
||||
* **High**: High visibility issues or affecting many users.
|
||||
* **Critical**: Affecting all users or potential security issues.
|
||||
|
||||
## Effort
|
||||
* Issues may be estimated with effort required (**small effort**, **medium effort**, **large effort**).
|
||||
|
||||
## Difficulty
|
||||
* Issues with low implementation difficulty may be tagged with **good first issue**.
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ SHELL=/usr/bin/env bash
|
||||
BACKEND_HOST ?= "127.0.0.1"
|
||||
BACKEND_PORT = 3000
|
||||
BACKEND_HOST_PORT = "$(BACKEND_HOST):$(BACKEND_PORT)"
|
||||
FRONTEND_HOST ?= "127.0.0.1"
|
||||
FRONTEND_PORT = 3001
|
||||
DEFAULT_WORKSPACE_DIR = "./workspace"
|
||||
DEFAULT_MODEL = "gpt-4o"
|
||||
@@ -288,6 +289,15 @@ setup-config-prompts:
|
||||
@read -p "Enter your LLM base URL [mostly used for local LLMs, leave blank if not needed - example: http://localhost:5001/v1/]: " llm_base_url; \
|
||||
if [[ ! -z "$$llm_base_url" ]]; then echo "base_url=\"$$llm_base_url\"" >> $(CONFIG_FILE).tmp; fi
|
||||
|
||||
setup-config-basic:
|
||||
@printf '%s\n' \
|
||||
'[core]' \
|
||||
'workspace_base="./workspace"' \
|
||||
> config.toml
|
||||
@echo "$(GREEN)config.toml created.$(RESET)"
|
||||
|
||||
openhands-cloud-run:
|
||||
@$(MAKE) run BACKEND_HOST="0.0.0.0" BACKEND_PORT="12000" FRONTEND_HOST="0.0.0.0" FRONTEND_PORT="12001"
|
||||
|
||||
# Develop in container
|
||||
docker-dev:
|
||||
@@ -322,5 +332,4 @@ help:
|
||||
@echo " $(GREEN)help$(RESET) - Display this help message, providing information on available targets."
|
||||
|
||||
# Phony targets
|
||||
.PHONY: build check-dependencies check-python check-npm check-docker check-poetry install-python-dependencies install-frontend-dependencies install-pre-commit-hooks lint start-backend start-frontend run run-wsl setup-config setup-config-prompts help
|
||||
.PHONY: docker-dev docker-run
|
||||
.PHONY: build check-dependencies check-system check-python check-npm check-nodejs check-docker check-poetry install-python-dependencies install-frontend-dependencies install-pre-commit-hooks lint-backend lint-frontend lint test-frontend test build-frontend start-backend start-frontend _run_setup run run-wsl setup-config setup-config-prompts setup-config-basic openhands-cloud-run docker-dev docker-run clean help
|
||||
|
||||
@@ -51,23 +51,23 @@ system requirements and more information.
|
||||
|
||||
|
||||
```bash
|
||||
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.37-nikolaik
|
||||
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik
|
||||
|
||||
docker run -it --rm --pull=always \
|
||||
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.37-nikolaik \
|
||||
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik \
|
||||
-e LOG_ALL_EVENTS=true \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v ~/.openhands-state:/.openhands-state \
|
||||
-p 3000:3000 \
|
||||
--add-host host.docker.internal:host-gateway \
|
||||
--name openhands-app \
|
||||
docker.all-hands.dev/all-hands-ai/openhands:0.37
|
||||
docker.all-hands.dev/all-hands-ai/openhands:0.39
|
||||
```
|
||||
|
||||
You'll find OpenHands running at [http://localhost:3000](http://localhost:3000)!
|
||||
|
||||
When you open the application, you'll be asked to choose an LLM provider and add an API key.
|
||||
[Anthropic's Claude 3.7 Sonnet](https://www.anthropic.com/api) (`anthropic/claude-3-7-sonnet-20250219`)
|
||||
[Anthropic's Claude Sonnet 4](https://www.anthropic.com/api) (`anthropic/claude-sonnet-4-20250514`)
|
||||
works best, but you have [many options](https://docs.all-hands.dev/modules/usage/llms).
|
||||
|
||||
## 💡 Other ways to run OpenHands
|
||||
@@ -92,6 +92,7 @@ If you want to modify the OpenHands source code, check out [Development.md](http
|
||||
Having issues? The [Troubleshooting Guide](https://docs.all-hands.dev/modules/usage/troubleshooting) can help.
|
||||
|
||||
## 📖 Documentation
|
||||
<a href="https://deepwiki.com/All-Hands-AI/OpenHands"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki" title="Autogenerated Documentation by DeepWiki"></a>
|
||||
|
||||
To learn more about the project, and for tips on using OpenHands,
|
||||
check out our [documentation](https://docs.all-hands.dev/modules/usage/getting-started).
|
||||
@@ -99,13 +100,6 @@ check out our [documentation](https://docs.all-hands.dev/modules/usage/getting-s
|
||||
There you'll find resources on how to use different LLM providers,
|
||||
troubleshooting resources, and advanced configuration options.
|
||||
|
||||
### Custom Scripts
|
||||
|
||||
OpenHands supports custom scripts that run at different points in the runtime lifecycle:
|
||||
|
||||
- **setup.sh**: Place this script in the `.openhands` directory of your repository to run custom setup commands when the runtime initializes.
|
||||
- **pre-commit.sh**: Place this script in the `.openhands` directory to add a custom git pre-commit hook that runs before each commit. This can be used to enforce code quality standards, run tests, or perform other checks before allowing commits.
|
||||
|
||||
## 🤝 How to Join the Community
|
||||
|
||||
OpenHands is a community-driven project, and we welcome contributions from everyone. We do most of our communication
|
||||
|
||||
+146
@@ -0,0 +1,146 @@
|
||||
|
||||
<a name="readme-top"></a>
|
||||
|
||||
<div align="center">
|
||||
<img src="./docs/static/img/logo.png" alt="Logo" width="200">
|
||||
<h1 align="center">OpenHands: 少写代码,多做事</h1>
|
||||
</div>
|
||||
|
||||
|
||||
<div align="center">
|
||||
<a href="https://github.com/All-Hands-AI/OpenHands/graphs/contributors"><img src="https://img.shields.io/github/contributors/All-Hands-AI/OpenHands?style=for-the-badge&color=blue" alt="Contributors"></a>
|
||||
<a href="https://github.com/All-Hands-AI/OpenHands/stargazers"><img src="https://img.shields.io/github/stars/All-Hands-AI/OpenHands?style=for-the-badge&color=blue" alt="Stargazers"></a>
|
||||
<a href="https://github.com/All-Hands-AI/OpenHands/blob/main/LICENSE"><img src="https://img.shields.io/github/license/All-Hands-AI/OpenHands?style=for-the-badge&color=blue" alt="MIT License"></a>
|
||||
<br/>
|
||||
<a href="https://join.slack.com/t/openhands-ai/shared_invite/zt-34zm4j0gj-Qz5kRHoca8DFCbqXPS~f_A"><img src="https://img.shields.io/badge/Slack-Join%20Us-red?logo=slack&logoColor=white&style=for-the-badge" alt="加入我们的Slack社区"></a>
|
||||
<a href="https://discord.gg/ESHStjSjD4"><img src="https://img.shields.io/badge/Discord-Join%20Us-purple?logo=discord&logoColor=white&style=for-the-badge" alt="加入我们的Discord社区"></a>
|
||||
<a href="https://github.com/All-Hands-AI/OpenHands/blob/main/CREDITS.md"><img src="https://img.shields.io/badge/Project-Credits-blue?style=for-the-badge&color=FFE165&logo=github&logoColor=white" alt="致谢"></a>
|
||||
<br/>
|
||||
<a href="https://docs.all-hands.dev/modules/usage/getting-started"><img src="https://img.shields.io/badge/Documentation-000?logo=googledocs&logoColor=FFE165&style=for-the-badge" alt="查看文档"></a>
|
||||
<a href="https://arxiv.org/abs/2407.16741"><img src="https://img.shields.io/badge/Paper%20on%20Arxiv-000?logoColor=FFE165&logo=arxiv&style=for-the-badge" alt="Arxiv论文"></a>
|
||||
<a href="https://docs.google.com/spreadsheets/d/1wOUdFCMyY6Nt0AIqF705KN4JKOWgeI4wUGUP60krXXs/edit?gid=0#gid=0"><img src="https://img.shields.io/badge/Benchmark%20score-000?logoColor=FFE165&logo=huggingface&style=for-the-badge" alt="评估基准分数"></a>
|
||||
<hr>
|
||||
</div>
|
||||
|
||||
欢迎使用OpenHands(前身为OpenDevin),这是一个由AI驱动的软件开发代理平台。
|
||||
|
||||
OpenHands代理可以完成人类开发者能做的任何事情:修改代码、运行命令、浏览网页、调用API,甚至从StackOverflow复制代码片段。
|
||||
|
||||
在[docs.all-hands.dev](https://docs.all-hands.dev)了解更多信息,或[注册OpenHands Cloud](https://app.all-hands.dev)开始使用。
|
||||
|
||||
> [!IMPORTANT]
|
||||
> 在工作中使用OpenHands?我们很想与您交流!填写
|
||||
> [这份简短表格](https://docs.google.com/forms/d/e/1FAIpQLSet3VbGaz8z32gW9Wm-Grl4jpt5WgMXPgJ4EDPVmCETCBpJtQ/viewform)
|
||||
> 加入我们的设计合作伙伴计划,您将获得商业功能的早期访问权限,并有机会对我们的产品路线图提供意见。
|
||||
|
||||

|
||||
|
||||
## ☁️ OpenHands Cloud
|
||||
开始使用OpenHands的最简单方式是在[OpenHands Cloud](https://app.all-hands.dev)上,
|
||||
新用户可获得$50的免费额度。
|
||||
|
||||
## 💻 在本地运行OpenHands
|
||||
|
||||
OpenHands也可以使用Docker在本地系统上运行。
|
||||
查看[运行OpenHands](https://docs.all-hands.dev/modules/usage/installation)指南了解
|
||||
系统要求和更多信息。
|
||||
|
||||
> [!WARNING]
|
||||
> 在公共网络上?请参阅我们的[强化Docker安装指南](https://docs.all-hands.dev/modules/usage/runtimes/docker#hardened-docker-installation)
|
||||
> 通过限制网络绑定和实施其他安全措施来保护您的部署。
|
||||
|
||||
|
||||
```bash
|
||||
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik
|
||||
|
||||
docker run -it --rm --pull=always \
|
||||
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik \
|
||||
-e LOG_ALL_EVENTS=true \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v ~/.openhands-state:/.openhands-state \
|
||||
-p 3000:3000 \
|
||||
--add-host host.docker.internal:host-gateway \
|
||||
--name openhands-app \
|
||||
docker.all-hands.dev/all-hands-ai/openhands:0.39
|
||||
```
|
||||
|
||||
您将在[http://localhost:3000](http://localhost:3000)找到运行中的OpenHands!
|
||||
|
||||
打开应用程序时,您将被要求选择一个LLM提供商并添加API密钥。
|
||||
[Anthropic的Claude Sonnet 4](https://www.anthropic.com/api)(`anthropic/claude-sonnet-4-20250514`)
|
||||
效果最佳,但您还有[许多选择](https://docs.all-hands.dev/modules/usage/llms)。
|
||||
|
||||
## 💡 运行OpenHands的其他方式
|
||||
|
||||
> [!CAUTION]
|
||||
> OpenHands旨在由单个用户在其本地工作站上运行。
|
||||
> 它不适合多租户部署,即多个用户共享同一实例。没有内置的身份验证、隔离或可扩展性。
|
||||
>
|
||||
> 如果您有兴趣在多租户环境中运行OpenHands,请
|
||||
> [与我们联系](https://docs.google.com/forms/d/e/1FAIpQLSet3VbGaz8z32gW9Wm-Grl4jpt5WgMXPgJ4EDPVmCETCBpJtQ/viewform)
|
||||
> 了解高级部署选项。
|
||||
|
||||
您还可以[将OpenHands连接到本地文件系统](https://docs.all-hands.dev/modules/usage/runtimes/docker#connecting-to-your-filesystem),
|
||||
以可编程的[无头模式](https://docs.all-hands.dev/modules/usage/how-to/headless-mode)运行OpenHands,
|
||||
通过[友好的CLI](https://docs.all-hands.dev/modules/usage/how-to/cli-mode)与其交互,
|
||||
或使用[GitHub Action](https://docs.all-hands.dev/modules/usage/how-to/github-action)在标记的问题上运行它。
|
||||
|
||||
访问[运行OpenHands](https://docs.all-hands.dev/modules/usage/installation)获取更多信息和设置说明。
|
||||
|
||||
如果您想修改OpenHands源代码,请查看[Development.md](https://github.com/All-Hands-AI/OpenHands/blob/main/Development.md)。
|
||||
|
||||
遇到问题?[故障排除指南](https://docs.all-hands.dev/modules/usage/troubleshooting)可以提供帮助。
|
||||
|
||||
## 📖 文档
|
||||
<a href="https://deepwiki.com/All-Hands-AI/OpenHands"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki" title="DeepWiki自动生成文档"></a>
|
||||
|
||||
要了解有关项目的更多信息,以及使用OpenHands的技巧,
|
||||
请查看我们的[文档](https://docs.all-hands.dev/modules/usage/getting-started)。
|
||||
|
||||
在那里,您将找到有关如何使用不同LLM提供商、
|
||||
故障排除资源和高级配置选项的资源。
|
||||
|
||||
## 🤝 如何加入社区
|
||||
|
||||
OpenHands是一个社区驱动的项目,我们欢迎每个人的贡献。我们大部分沟通
|
||||
通过Slack进行,因此这是开始的最佳场所,但我们也很乐意您通过Discord或Github与我们联系:
|
||||
|
||||
- [加入我们的Slack工作空间](https://join.slack.com/t/openhands-ai/shared_invite/zt-34zm4j0gj-Qz5kRHoca8DFCbqXPS~f_A) - 这里我们讨论研究、架构和未来发展。
|
||||
- [加入我们的Discord服务器](https://discord.gg/ESHStjSjD4) - 这是一个社区运营的服务器,用于一般讨论、问题和反馈。
|
||||
- [阅读或发布Github问题](https://github.com/All-Hands-AI/OpenHands/issues) - 查看我们正在处理的问题,或添加您自己的想法。
|
||||
|
||||
在[COMMUNITY.md](./COMMUNITY.md)中了解更多关于社区的信息,或在[CONTRIBUTING.md](./CONTRIBUTING.md)中找到有关贡献的详细信息。
|
||||
|
||||
## 📈 进展
|
||||
|
||||
在[这里](https://github.com/orgs/All-Hands-AI/projects/1)查看OpenHands月度路线图(每月月底在维护者会议上更新)。
|
||||
|
||||
<p align="center">
|
||||
<a href="https://star-history.com/#All-Hands-AI/OpenHands&Date">
|
||||
<img src="https://api.star-history.com/svg?repos=All-Hands-AI/OpenHands&type=Date" width="500" alt="Star History Chart">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## 📜 许可证
|
||||
|
||||
根据MIT许可证分发。有关更多信息,请参阅[`LICENSE`](./LICENSE)。
|
||||
|
||||
## 🙏 致谢
|
||||
|
||||
OpenHands由大量贡献者构建,每一份贡献都备受感谢!我们还借鉴了其他开源项目,对他们的工作深表感谢。
|
||||
|
||||
有关OpenHands中使用的开源项目和许可证列表,请参阅我们的[CREDITS.md](./CREDITS.md)文件。
|
||||
|
||||
## 📚 引用
|
||||
|
||||
```
|
||||
@misc{openhands,
|
||||
title={{OpenHands: An Open Platform for AI Software Developers as Generalist Agents}},
|
||||
author={Xingyao Wang and Boxuan Li and Yufan Song and Frank F. Xu and Xiangru Tang and Mingchen Zhuge and Jiayi Pan and Yueqi Song and Bowen Li and Jaskirat Singh and Hoang H. Tran and Fuqiang Li and Ren Ma and Mingzhang Zheng and Bill Qian and Yanjun Shao and Niklas Muennighoff and Yizhe Zhang and Binyuan Hui and Junyang Lin and Robert Brennan and Hao Peng and Heng Ji and Graham Neubig},
|
||||
year={2024},
|
||||
eprint={2407.16741},
|
||||
archivePrefix={arXiv},
|
||||
primaryClass={cs.SE},
|
||||
url={https://arxiv.org/abs/2407.16741},
|
||||
}
|
||||
```
|
||||
@@ -255,6 +255,11 @@ enable_history_truncation = true
|
||||
# useful when an agent doesn't demand high quality but uses a lot of tokens
|
||||
llm_config = 'gpt3'
|
||||
|
||||
[agent.CustomAgent]
|
||||
# Example: use a custom agent from a different package
|
||||
# This will be automatically be registered as a new agent named "CustomAgent"
|
||||
classpath = "my_package.my_module.MyCustomAgent"
|
||||
|
||||
#################################### Sandbox ###################################
|
||||
# Configuration for the sandbox
|
||||
##############################################################################
|
||||
|
||||
@@ -11,7 +11,7 @@ services:
|
||||
- BACKEND_HOST=${BACKEND_HOST:-"0.0.0.0"}
|
||||
- SANDBOX_API_HOSTNAME=host.docker.internal
|
||||
#
|
||||
- SANDBOX_RUNTIME_CONTAINER_IMAGE=${SANDBOX_RUNTIME_CONTAINER_IMAGE:-ghcr.io/all-hands-ai/runtime:0.37-nikolaik}
|
||||
- SANDBOX_RUNTIME_CONTAINER_IMAGE=${SANDBOX_RUNTIME_CONTAINER_IMAGE:-ghcr.io/all-hands-ai/runtime:0.39-nikolaik}
|
||||
- SANDBOX_USER_ID=${SANDBOX_USER_ID:-1234}
|
||||
- WORKSPACE_MOUNT_PATH=${WORKSPACE_BASE:-$PWD/workspace}
|
||||
ports:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v4.5.0
|
||||
rev: v5.0.0
|
||||
hooks:
|
||||
- id: trailing-whitespace
|
||||
exclude: docs/modules/python
|
||||
@@ -10,17 +10,17 @@ repos:
|
||||
- id: debug-statements
|
||||
|
||||
- repo: https://github.com/tox-dev/pyproject-fmt
|
||||
rev: 1.7.0
|
||||
rev: v2.5.1
|
||||
hooks:
|
||||
- id: pyproject-fmt
|
||||
- repo: https://github.com/abravalheri/validate-pyproject
|
||||
rev: v0.16
|
||||
rev: v0.24.1
|
||||
hooks:
|
||||
- id: validate-pyproject
|
||||
|
||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||
# Ruff version.
|
||||
rev: v0.4.1
|
||||
rev: v0.11.8
|
||||
hooks:
|
||||
# Run the linter.
|
||||
- id: ruff
|
||||
@@ -33,7 +33,7 @@ repos:
|
||||
types_or: [python, pyi, jupyter]
|
||||
|
||||
- repo: https://github.com/pre-commit/mirrors-mypy
|
||||
rev: v1.9.0
|
||||
rev: v1.15.0
|
||||
hooks:
|
||||
- id: mypy
|
||||
additional_dependencies:
|
||||
|
||||
@@ -20,6 +20,12 @@ ignore = [
|
||||
"B010",
|
||||
"B904",
|
||||
"B018",
|
||||
# Temporarily ignore ASYNC rules until they can be properly fixed in a separate PR
|
||||
"ASYNC110",
|
||||
"ASYNC220",
|
||||
"ASYNC221",
|
||||
"ASYNC230",
|
||||
"ASYNC251",
|
||||
]
|
||||
|
||||
[lint.flake8-quotes]
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ services:
|
||||
image: openhands:latest
|
||||
container_name: openhands-app-${DATE:-}
|
||||
environment:
|
||||
- SANDBOX_RUNTIME_CONTAINER_IMAGE=${SANDBOX_RUNTIME_CONTAINER_IMAGE:-docker.all-hands.dev/all-hands-ai/runtime:0.37-nikolaik}
|
||||
- SANDBOX_RUNTIME_CONTAINER_IMAGE=${SANDBOX_RUNTIME_CONTAINER_IMAGE:-docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik}
|
||||
#- SANDBOX_USER_ID=${SANDBOX_USER_ID:-1234} # enable this only if you want a specific non-root sandbox user but you will have to manually adjust permissions of openhands-state for this user
|
||||
- WORKSPACE_MOUNT_PATH=${WORKSPACE_BASE:-$PWD/workspace}
|
||||
ports:
|
||||
|
||||
+10
-15
@@ -4,37 +4,32 @@ This website is built using [Docusaurus](https://docusaurus.io/).
|
||||
|
||||
When published, the content will be published at https://docs.all-hands.dev/.
|
||||
|
||||
### Installation
|
||||
### Local Development
|
||||
|
||||
```bash
|
||||
$ cd docs
|
||||
$ yarn
|
||||
$ npm install
|
||||
$ npm run start
|
||||
```
|
||||
|
||||
### Local Development
|
||||
|
||||
```
|
||||
$ yarn start # for the default English version
|
||||
```
|
||||
|
||||
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
|
||||
This command starts a local development server and opens up a browser window.
|
||||
Most changes are reflected live without having to restart the server.
|
||||
|
||||
Alternatively, you can pass a `--locale` argument to render a specific language in dev mode as in:
|
||||
|
||||
```
|
||||
$ yarn start --locale pt-BR # for the Brazilian Portuguese version
|
||||
$ yarn start --locale fr # for the French version
|
||||
$ yarn start --locale zh-Hans # for the Chinese Han (simplified variant) version
|
||||
$ npm run start --locale pt-BR # for the Brazilian Portuguese version
|
||||
$ npm run start --locale fr # for the French version
|
||||
$ npm run start --locale zh-Hans # for the Chinese Han (simplified variant) version
|
||||
```
|
||||
|
||||
### Build
|
||||
|
||||
```
|
||||
$ yarn build
|
||||
$ npm run build
|
||||
```
|
||||
|
||||
This command generates static content into the `build` directory and can be served using any static contents hosting service.
|
||||
|
||||
It compiles all languages.
|
||||
|
||||
### Deployment
|
||||
@@ -57,4 +52,4 @@ $ poetry run python docs/translation_updater.py
|
||||
# ...
|
||||
```
|
||||
|
||||
This process uses `claude-3-7-sonnet-20250219` as base model and each language consumes at least ~30k input tokens and ~35k output tokens.
|
||||
This process uses `claude-sonnet-4-20250514` as base model and each language consumes at least ~30k input tokens and ~35k output tokens.
|
||||
|
||||
@@ -22,4 +22,4 @@ Veuillez noter que la sélection de ces technologies est en cours, et des techno
|
||||
|
||||
## Licence
|
||||
|
||||
Distribué sous la [Licence](https://github.com/All-Hands-AI/OpenHands/blob/main/LICENSE) MIT.
|
||||
Distribué sous la [Licence](https://github.com/All-Hands-AI/OpenHands/blob/main/LICENSE) MIT.
|
||||
|
||||
@@ -20,4 +20,4 @@ L'idée conceptuelle est illustrée ci-dessous. À chaque tour, l'agent peut :
|
||||
|
||||
https://github.com/All-Hands-AI/OpenHands/assets/38853559/f592a192-e86c-4f48-ad31-d69282d5f6ac
|
||||
|
||||
_Exemple de CodeActAgent avec `gpt-4-turbo-2024-04-09` réalisant une tâche de science des données (régression linéaire)_.
|
||||
_Exemple de CodeActAgent avec `gpt-4-turbo-2024-04-09` réalisant une tâche de science des données (régression linéaire)_.
|
||||
|
||||
@@ -51,4 +51,4 @@ _**Avertissement** : L'architecture backend est en cours de développement et pe
|
||||
6. Exporter le diagramme en fichiers PNG et SVG et remplacer les diagrammes existants dans le répertoire `docs/architecture`. Cela peut être fait avec (par exemple [PlantText](https://www.planttext.com/))
|
||||
|
||||
</div>
|
||||
</details>
|
||||
</details>
|
||||
|
||||
@@ -125,4 +125,4 @@ Aspects clés du système de plugins :
|
||||
2. Enregistrement du plugin : Les plugins disponibles sont enregistrés dans un dictionnaire `ALL_PLUGINS`
|
||||
3. Spécification du plugin : Les plugins sont associés à `Agent.sandbox_plugins: list[PluginRequirement]`. Les utilisateurs peuvent spécifier quels plugins charger lors de l'initialisation du runtime
|
||||
4. Initialisation : Les plugins sont initialisés de manière asynchrone au démarrage du client runtime
|
||||
5. Utilisation : Le client runtime peut utiliser les plugins initialisés pour étendre ses capacités (par exemple, le JupyterPlugin pour exécuter des cellules IPython)
|
||||
5. Utilisation : Le client runtime peut utiliser les plugins initialisés pour étendre ses capacités (par exemple, le JupyterPlugin pour exécuter des cellules IPython)
|
||||
|
||||
@@ -69,7 +69,7 @@ data = {
|
||||
response = requests.post(url, headers=headers, json=data)
|
||||
conversation = response.json()
|
||||
|
||||
print(f"Conversation Link: https://app.all-hands.dev/conversations/{conversation['id']}")
|
||||
print(f"Conversation Link: https://app.all-hands.dev/conversations/{conversation['conversation_id']}")
|
||||
print(f"Status: {conversation['status']}")
|
||||
```
|
||||
</details>
|
||||
@@ -174,4 +174,4 @@ La réponse est formatée comme suit :
|
||||
|
||||
L'API a une limite de 10 conversations simultanées par compte. Si vous avez besoin d'une limite plus élevée pour votre cas d'utilisation, veuillez nous contacter à [contact@all-hands.dev](mailto:contact@all-hands.dev).
|
||||
|
||||
Si vous dépassez cette limite, l'API renverra une réponse 429 Too Many Requests.
|
||||
Si vous dépassez cette limite, l'API renverra une réponse 429 Too Many Requests.
|
||||
|
||||
-33
@@ -1,33 +0,0 @@
|
||||
# Résolveur GitHub Cloud
|
||||
|
||||
Le Résolveur GitHub automatise les corrections de code et fournit une assistance intelligente pour vos dépôts.
|
||||
|
||||
## Configuration
|
||||
|
||||
Le Résolveur GitHub Cloud est disponible automatiquement lorsque vous
|
||||
[accordez l'accès au dépôt OpenHands Cloud](./openhands-cloud#adding-repository-access).
|
||||
|
||||
## Utilisation
|
||||
|
||||
Après avoir accordé l'accès au dépôt OpenHands Cloud, vous pouvez utiliser le Résolveur GitHub Cloud sur les problèmes et les pull requests
|
||||
du dépôt.
|
||||
|
||||
### Problèmes (Issues)
|
||||
|
||||
Sur votre dépôt, étiquetez un problème avec `openhands`. OpenHands va :
|
||||
1. Commenter le problème pour vous informer qu'il y travaille.
|
||||
- Vous pouvez cliquer sur le lien pour suivre la progression sur OpenHands Cloud.
|
||||
2. Ouvrir une pull request s'il détermine que le problème a été résolu avec succès.
|
||||
3. Commenter le problème avec un résumé des tâches effectuées et un lien vers la pull request.
|
||||
|
||||
|
||||
### Pull Requests
|
||||
|
||||
Pour qu'OpenHands travaille sur des pull requests, utilisez `@openhands` dans les commentaires de premier niveau ou en ligne pour :
|
||||
- Poser des questions
|
||||
- Demander des mises à jour
|
||||
- Obtenir des explications de code
|
||||
|
||||
OpenHands va :
|
||||
1. Commenter la PR pour vous informer qu'il y travaille.
|
||||
2. Effectuer la tâche.
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
# Résolveur de Problèmes Cloud
|
||||
|
||||
Le Résolveur de Problèmes Cloud automatise les corrections de code et fournit une assistance intelligente pour vos dépôts sur GitHub et GitLab.
|
||||
|
||||
## Configuration
|
||||
|
||||
Le Résolveur de Problèmes Cloud est disponible automatiquement lorsque vous accordez l'accès au dépôt OpenHands Cloud :
|
||||
- [Accès au dépôt GitHub](./github-installation#adding-repository-access)
|
||||
- [Accès au dépôt GitLab](./gitlab-installation#adding-repository-access)
|
||||
|
||||
## Utilisation
|
||||
|
||||
Après avoir accordé l'accès au dépôt OpenHands Cloud, vous pouvez utiliser le Résolveur de Problèmes Cloud sur les problèmes et les pull/merge requests dans vos dépôts.
|
||||
|
||||
### Travailler avec les Problèmes
|
||||
|
||||
Sur votre dépôt, étiquetez un problème avec `openhands`. OpenHands va :
|
||||
1. Commenter le problème pour vous faire savoir qu'il y travaille
|
||||
- Vous pouvez cliquer sur le lien pour suivre la progression sur OpenHands Cloud
|
||||
2. Ouvrir une pull request (GitHub) ou une merge request (GitLab) s'il détermine que le problème a été résolu avec succès
|
||||
3. Commenter le problème avec un résumé des tâches effectuées et un lien vers la PR/MR
|
||||
|
||||
### Travailler avec les Pull/Merge Requests
|
||||
|
||||
Pour qu'OpenHands travaille sur les pull requests (GitHub) ou les merge requests (GitLab), mentionnez `@openhands` dans les commentaires pour :
|
||||
- Poser des questions
|
||||
- Demander des mises à jour
|
||||
- Obtenir des explications de code
|
||||
|
||||
OpenHands va :
|
||||
1. Commenter pour vous faire savoir qu'il y travaille
|
||||
2. Effectuer la tâche demandée
|
||||
@@ -0,0 +1,29 @@
|
||||
# Interface Cloud
|
||||
|
||||
L'interface Cloud fournit une interface web pour interagir avec OpenHands AI. Cette page explique comment accéder et utiliser l'interface Cloud d'OpenHands.
|
||||
|
||||
## Accès à l'Interface
|
||||
|
||||
L'interface Cloud d'OpenHands est accessible à [app.all-hands.dev](https://app.all-hands.dev). Vous devrez vous connecter avec votre compte GitHub ou GitLab pour accéder à l'interface.
|
||||
|
||||
<!-- Image will be added in a future update -->
|
||||
<!--  -->
|
||||
|
||||
## Fonctionnalités Clés
|
||||
|
||||
Pour des informations détaillées sur les fonctionnalités disponibles dans l'interface Cloud d'OpenHands, veuillez consulter la section [Fonctionnalités Clés](../key-features.md) de la documentation.
|
||||
|
||||
## Paramètres
|
||||
|
||||
La page des paramètres vous permet de :
|
||||
|
||||
1. Configurer les préférences de votre compte
|
||||
2. Gérer l'accès aux dépôts
|
||||
3. Générer des clés API pour un accès programmatique
|
||||
4. Personnaliser votre expérience OpenHands
|
||||
|
||||
## Prochaines Étapes
|
||||
|
||||
- [Utiliser le Résolveur de Problèmes Cloud](./cloud-issue-resolver.md) pour automatiser les corrections de code et obtenir de l'aide
|
||||
- [En savoir plus sur l'API Cloud](./cloud-api.md) pour un accès programmatique
|
||||
- [Retourner à la Mise en Route](./openhands-cloud.md)
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
# Installation GitHub
|
||||
|
||||
Ce guide vous accompagne dans le processus d'installation et de configuration d'OpenHands Cloud pour vos dépôts GitHub.
|
||||
|
||||
## Prérequis
|
||||
|
||||
- Un compte GitHub
|
||||
- Accès à OpenHands Cloud
|
||||
|
||||
## Étapes d'Installation
|
||||
|
||||
1. Connectez-vous à [OpenHands Cloud](https://app.all-hands.dev)
|
||||
2. Si vous n'avez pas encore connecté votre compte GitHub :
|
||||
- Cliquez sur `Se connecter à GitHub`
|
||||
- Examinez et acceptez les conditions d'utilisation
|
||||
- Autorisez l'application OpenHands AI
|
||||
|
||||
## Ajout d'Accès au Dépôt
|
||||
|
||||
Vous pouvez accorder à OpenHands l'accès à des dépôts spécifiques :
|
||||
|
||||
1. Cliquez sur le menu déroulant `Sélectionner un projet GitHub`, puis sélectionnez `Ajouter plus de dépôts...`
|
||||
2. Sélectionnez votre organisation et choisissez les dépôts spécifiques auxquels vous souhaitez accorder l'accès à OpenHands.
|
||||
- OpenHands demande des jetons à courte durée de vie (expiration de 8 heures) avec ces permissions :
|
||||
- Actions : Lecture et écriture
|
||||
- Administration : Lecture seule
|
||||
- Statuts de commit : Lecture et écriture
|
||||
- Contenus : Lecture et écriture
|
||||
- Problèmes : Lecture et écriture
|
||||
- Métadonnées : Lecture seule
|
||||
- Pull requests : Lecture et écriture
|
||||
- Webhooks : Lecture et écriture
|
||||
- Workflows : Lecture et écriture
|
||||
- L'accès au dépôt pour un utilisateur est accordé en fonction de :
|
||||
- Permission accordée pour le dépôt
|
||||
- Permissions GitHub de l'utilisateur (propriétaire/collaborateur)
|
||||
3. Cliquez sur `Installer & Autoriser`
|
||||
|
||||
## Modification de l'Accès au Dépôt
|
||||
|
||||
Vous pouvez modifier l'accès au dépôt à tout moment :
|
||||
* En utilisant le même workflow `Sélectionner un projet GitHub > Ajouter plus de dépôts`, ou
|
||||
* En visitant la page Paramètres et en sélectionnant `Configurer les Dépôts GitHub` dans la section `Paramètres GitHub`.
|
||||
|
||||
## Utilisation d'OpenHands avec GitHub
|
||||
|
||||
Une fois que vous avez accordé l'accès au dépôt, vous pouvez utiliser OpenHands avec vos dépôts GitHub.
|
||||
|
||||
Pour plus de détails sur l'utilisation d'OpenHands avec les problèmes et les pull requests GitHub, consultez la documentation du [Résolveur de Problèmes Cloud](./cloud-issue-resolver.md).
|
||||
|
||||
## Prochaines Étapes
|
||||
|
||||
- [Accéder à l'Interface Cloud](./cloud-ui.md) pour interagir avec l'interface web
|
||||
- [Utiliser le Résolveur de Problèmes Cloud](./cloud-issue-resolver.md) pour automatiser les corrections de code et obtenir de l'aide
|
||||
- [Utiliser l'API Cloud](./cloud-api.md) pour interagir programmatiquement avec OpenHands
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
# Installation GitLab
|
||||
|
||||
Ce guide vous accompagne dans le processus d'installation et de configuration d'OpenHands Cloud pour vos dépôts GitLab.
|
||||
|
||||
## Prérequis
|
||||
|
||||
- Un compte GitLab
|
||||
- Accès à OpenHands Cloud
|
||||
|
||||
## Étapes d'Installation
|
||||
|
||||
1. Connectez-vous à [OpenHands Cloud](https://app.all-hands.dev)
|
||||
2. Si vous n'avez pas encore connecté votre compte GitLab :
|
||||
- Cliquez sur `Se connecter à GitLab`
|
||||
- Examinez et acceptez les conditions d'utilisation
|
||||
- Autorisez l'application OpenHands AI
|
||||
|
||||
## Ajout d'Accès au Dépôt
|
||||
|
||||
Vous pouvez accorder à OpenHands l'accès à des dépôts spécifiques :
|
||||
|
||||
1. Cliquez sur le menu déroulant `Sélectionner un projet GitLab`, puis sélectionnez `Ajouter plus de dépôts...`
|
||||
2. Sélectionnez votre organisation et choisissez les dépôts spécifiques auxquels vous souhaitez accorder l'accès à OpenHands.
|
||||
- OpenHands demande des permissions avec ces portées :
|
||||
- api : Accès complet à l'API
|
||||
- read_user : Lecture des informations utilisateur
|
||||
- read_repository : Lecture des informations du dépôt
|
||||
- write_repository : Écriture dans le dépôt
|
||||
- L'accès au dépôt pour un utilisateur est accordé en fonction de :
|
||||
- Permission accordée pour le dépôt
|
||||
- Permissions GitLab de l'utilisateur (propriétaire/mainteneur/développeur)
|
||||
3. Cliquez sur `Installer & Autoriser`
|
||||
|
||||
## Modification de l'Accès au Dépôt
|
||||
|
||||
Vous pouvez modifier l'accès au dépôt à tout moment :
|
||||
* En utilisant le même workflow `Sélectionner un projet GitLab > Ajouter plus de dépôts`, ou
|
||||
* En visitant la page Paramètres et en sélectionnant `Configurer les Dépôts GitLab` dans la section `Paramètres GitLab`.
|
||||
|
||||
## Utilisation d'OpenHands avec GitLab
|
||||
|
||||
Une fois que vous avez accordé l'accès au dépôt, vous pouvez utiliser OpenHands avec vos dépôts GitLab.
|
||||
|
||||
Pour plus de détails sur l'utilisation d'OpenHands avec les problèmes et les merge requests GitLab, consultez la documentation du [Résolveur de Problèmes Cloud](./cloud-issue-resolver.md).
|
||||
|
||||
## Prochaines Étapes
|
||||
|
||||
- [Accéder à l'Interface Cloud](./cloud-ui.md) pour interagir avec l'interface web
|
||||
- [Utiliser le Résolveur de Problèmes Cloud](./cloud-issue-resolver.md) pour automatiser les corrections de code et obtenir de l'aide
|
||||
- [Utiliser l'API Cloud](./cloud-api.md) pour interagir programmatiquement avec OpenHands
|
||||
@@ -0,0 +1,24 @@
|
||||
# OpenHands Cloud
|
||||
|
||||
OpenHands Cloud est la version hébergée dans le cloud d'OpenHands par All Hands AI.
|
||||
|
||||
## Accès à OpenHands Cloud
|
||||
|
||||
Pour commencer avec OpenHands Cloud, visitez [app.all-hands.dev](https://app.all-hands.dev).
|
||||
|
||||
Vous serez invité à vous connecter avec votre compte GitHub ou GitLab :
|
||||
|
||||
1. Après avoir lu et accepté les conditions d'utilisation, cliquez sur `Se connecter à GitHub` ou `Se connecter à GitLab`.
|
||||
2. Examinez les permissions demandées par OpenHands et autorisez l'application.
|
||||
- OpenHands nécessitera certaines permissions de votre compte. Pour en savoir plus sur ces permissions,
|
||||
vous pouvez cliquer sur le lien `En savoir plus` sur la page d'autorisation.
|
||||
|
||||
## Prochaines Étapes
|
||||
|
||||
Une fois que vous avez connecté votre compte, vous pouvez :
|
||||
|
||||
- [Installer l'Intégration GitHub](./github-installation.md) pour utiliser OpenHands avec vos dépôts GitHub
|
||||
- [Installer l'Intégration GitLab](./gitlab-installation.md) pour utiliser OpenHands avec vos dépôts GitLab
|
||||
- [Accéder à l'Interface Cloud](./cloud-ui.md) pour interagir avec l'interface web
|
||||
- [Utiliser l'API Cloud](./cloud-api.md) pour interagir programmatiquement avec OpenHands
|
||||
- [Configurer le Résolveur de Problèmes Cloud](./cloud-issue-resolver.md) pour automatiser les corrections de code et fournir une assistance intelligente
|
||||
@@ -1,65 +0,0 @@
|
||||
# OpenHands Cloud
|
||||
|
||||
OpenHands Cloud est la version hébergée dans le cloud d'OpenHands par All Hands AI.
|
||||
|
||||
## Accéder à OpenHands Cloud
|
||||
|
||||
OpenHands Cloud est accessible à l'adresse https://app.all-hands.dev/.
|
||||
|
||||
Vous pouvez également interagir avec OpenHands Cloud par programmation en utilisant l'[API](./cloud-api).
|
||||
|
||||
## Premiers pas
|
||||
|
||||
Après avoir visité OpenHands Cloud, il vous sera demandé de vous connecter avec votre compte GitHub ou GitLab :
|
||||
|
||||
1. Après avoir lu et accepté les conditions d'utilisation, cliquez sur `Log in with GitHub` ou `Log in with GitLab`.
|
||||
2. Examinez les autorisations demandées par OpenHands, puis cliquez sur `Authorize OpenHands AI`.
|
||||
- OpenHands nécessitera certaines autorisations de votre compte GitHub ou GitLab. Pour en savoir plus sur ces autorisations :
|
||||
- GitHub : Vous pouvez cliquer sur le lien `Learn more` sur la page d'autorisation GitHub.
|
||||
- GitLab : Vous pouvez développer chaque demande d'autorisation sur la page d'autorisation GitLab.
|
||||
|
||||
## Accès aux dépôts
|
||||
|
||||
### GitHub
|
||||
|
||||
#### Ajouter l'accès aux dépôts
|
||||
|
||||
Vous pouvez accorder à OpenHands un accès à des dépôts spécifiques :
|
||||
1. Cliquez sur `Add GitHub repos` sur la page d'accueil.
|
||||
2. Sélectionnez l'organisation, puis choisissez les dépôts spécifiques auxquels vous souhaitez donner accès à OpenHands.
|
||||
<details>
|
||||
<summary>Détails des autorisations pour l'accès aux dépôts</summary>
|
||||
|
||||
Openhands demande des jetons à courte durée de vie (expiration de 8 heures) avec ces autorisations :
|
||||
- Actions : Lecture et écriture
|
||||
- Administration : Lecture seule
|
||||
- Statuts de commit : Lecture et écriture
|
||||
- Contenus : Lecture et écriture
|
||||
- Issues : Lecture et écriture
|
||||
- Métadonnées : Lecture seule
|
||||
- Pull requests : Lecture et écriture
|
||||
- Webhooks : Lecture et écriture
|
||||
- Workflows : Lecture et écriture
|
||||
|
||||
L'accès au dépôt pour un utilisateur est accordé en fonction de :
|
||||
- L'autorisation accordée pour le dépôt.
|
||||
- Les autorisations GitHub de l'utilisateur (propriétaire/collaborateur).
|
||||
</details>
|
||||
|
||||
3. Cliquez sur `Install & Authorize`.
|
||||
|
||||
#### Modifier l'accès aux dépôts
|
||||
|
||||
Vous pouvez modifier l'accès aux dépôts GitHub à tout moment en :
|
||||
* Utilisant le même processus `Add GitHub repos`, ou
|
||||
* Visitant la page Paramètres et en sélectionnant `Configure GitHub Repositories` dans la section `Git Settings`.
|
||||
|
||||
### GitLab
|
||||
|
||||
Lorsque vous utilisez votre compte GitLab, OpenHands aura automatiquement accès à vos dépôts.
|
||||
|
||||
## Persistance des conversations
|
||||
|
||||
- Liste des conversations – Affiche uniquement les 10 conversations les plus récentes initiées au cours des 10 derniers jours.
|
||||
- Espaces de travail – Les espaces de travail de conversation sont conservés pendant 14 jours.
|
||||
- Environnements d'exécution – Les environnements d'exécution restent actifs ("chauds") pendant 30 minutes. Après cette période, la reprise d'une conversation peut prendre 1 à 2 minutes.
|
||||
@@ -392,4 +392,4 @@ Pour les utiliser avec la commande docker, passez `-e SANDBOX_<option>`. Exemple
|
||||
|
||||
Les options de configuration de sécurité sont définies dans la section `[security]` du fichier `config.toml`.
|
||||
|
||||
Pour les utiliser avec la commande docker, passez `-e SECURITY
|
||||
Pour les utiliser avec la commande docker, passez `-e SECURITY
|
||||
|
||||
+1
-1
@@ -20,4 +20,4 @@ export MY_ENV_VAR="my value"
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y lsof
|
||||
cd frontend && npm install ; cd ..
|
||||
```
|
||||
```
|
||||
|
||||
@@ -35,4 +35,4 @@ Pour les données sur les serveurs d'All Hands AI, nous sommes heureux de les su
|
||||
|
||||
**Une Seule Donnée :** Si vous souhaitez qu'une donnée soit supprimée, nous ajouterons prochainement un mécanisme pour supprimer des éléments de données en utilisant le lien et le mot de passe qui s'affichent sur l'interface lorsque vous soumettez des données.
|
||||
|
||||
**Toutes les Données :** Si vous souhaitez que toutes vos données soient supprimées, ou si vous ne disposez pas de l'identifiant et du mot de passe que vous avez reçus lors de la soumission des données, veuillez contacter `contact@all-hands.dev` depuis l'adresse e-mail que vous avez enregistrée lors de la soumission initiale des données.
|
||||
**Toutes les Données :** Si vous souhaitez que toutes vos données soient supprimées, ou si vous ne disposez pas de l'identifiant et du mot de passe que vous avez reçus lors de la soumission des données, veuillez contacter `contact@all-hands.dev` depuis l'adresse e-mail que vous avez enregistrée lors de la soumission initiale des données.
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Premiers pas avec OpenHands
|
||||
|
||||
Vous avez [exécuté OpenHands](./installation) et vous avez
|
||||
Vous avez [exécuté OpenHands](./installation) et vous avez
|
||||
[configuré votre LLM](./installation#setup). Et maintenant ?
|
||||
|
||||
OpenHands peut vous aider pour diverses tâches d'ingénierie. Cependant, la technologie est encore nouvelle, et nous sommes loin d'avoir
|
||||
des agents capables de gérer des tâches complexes de manière autonome. Il est important de comprendre ce que l'agent fait bien et où il
|
||||
OpenHands peut vous aider pour diverses tâches d'ingénierie. Cependant, la technologie est encore nouvelle, et nous sommes loin d'avoir
|
||||
des agents capables de gérer des tâches complexes de manière autonome. Il est important de comprendre ce que l'agent fait bien et où il
|
||||
a besoin de soutien.
|
||||
|
||||
## Hello World
|
||||
@@ -96,4 +96,4 @@ Gardez ces conseils à l'esprit :
|
||||
* Fournissez beaucoup de contexte.
|
||||
* Committez et poussez fréquemment.
|
||||
|
||||
Consultez [Meilleures pratiques de prompt](./prompting/prompting-best-practices) pour plus de conseils sur la façon de tirer le meilleur parti d'OpenHands.
|
||||
Consultez [Meilleures pratiques de prompt](./prompting/prompting-best-practices) pour plus de conseils sur la façon de tirer le meilleur parti d'OpenHands.
|
||||
|
||||
@@ -37,7 +37,7 @@ Pour exécuter OpenHands en mode CLI avec Docker :
|
||||
```bash
|
||||
docker run -it \
|
||||
--pull=always \
|
||||
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.37-nikolaik \
|
||||
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik \
|
||||
-e SANDBOX_USER_ID=$(id -u) \
|
||||
-e SANDBOX_VOLUMES=$SANDBOX_VOLUMES \
|
||||
-e LLM_API_KEY=$LLM_API_KEY \
|
||||
@@ -46,10 +46,10 @@ docker run -it \
|
||||
-v ~/.openhands-state:/.openhands-state \
|
||||
--add-host host.docker.internal:host-gateway \
|
||||
--name openhands-app-$(date +%Y%m%d%H%M%S) \
|
||||
docker.all-hands.dev/all-hands-ai/openhands:0.37 \
|
||||
docker.all-hands.dev/all-hands-ai/openhands:0.39 \
|
||||
python -m openhands.core.cli
|
||||
```
|
||||
|
||||
Cette commande lancera une session interactive dans Docker où vous pourrez saisir des tâches et recevoir des réponses d'OpenHands.
|
||||
|
||||
Le paramètre `-e SANDBOX_USER_ID=$(id -u)` est transmis à la commande Docker pour s'assurer que l'utilisateur du sandbox correspond aux permissions de l'utilisateur hôte. Cela empêche l'agent de créer des fichiers appartenant à root dans l'espace de travail monté.
|
||||
Le paramètre `-e SANDBOX_USER_ID=$(id -u)` est transmis à la commande Docker pour s'assurer que l'utilisateur du sandbox correspond aux permissions de l'utilisateur hôte. Cela empêche l'agent de créer des fichiers appartenant à root dans l'espace de travail monté.
|
||||
|
||||
+1
-1
@@ -92,4 +92,4 @@ platform = "linux/amd64"
|
||||
|
||||
### Exécution
|
||||
|
||||
Exécutez OpenHands en lançant ```make run``` dans le répertoire principal.
|
||||
Exécutez OpenHands en lançant ```make run``` dans le répertoire principal.
|
||||
|
||||
@@ -68,4 +68,4 @@ Les valeurs dans l'extrait ci-dessus peuvent être mises à jour de sorte que :
|
||||
* *d* : le répertoire de travail openhands
|
||||
* *c* : l'agent
|
||||
* *l* : la configuration LLM (prédéfinie dans config.toml)
|
||||
* *n* : nom de session (par exemple, nom d'eventstream)
|
||||
* *n* : nom de session (par exemple, nom d'eventstream)
|
||||
|
||||
+1
-1
@@ -71,4 +71,4 @@ Lorsque vous apportez des modifications au code, veuillez vous assurer que :
|
||||
1. La documentation pertinente est mise à jour pour refléter vos changements
|
||||
2. Les nouvelles fonctionnalités sont documentées dans les fichiers README appropriés
|
||||
3. Tout changement d'API est reflété dans la documentation du serveur
|
||||
4. La documentation suit le guide de style dans `/docs/DOC_STYLE_GUIDE.md`
|
||||
4. La documentation suit le guide de style dans `/docs/DOC_STYLE_GUIDE.md`
|
||||
|
||||
+1
-1
@@ -275,4 +275,4 @@ Cette fonction fait ce qui suit :
|
||||
2. Vérifie combien de fois l'agent a tenté de communiquer avec l'utilisateur
|
||||
3. Si l'agent a fait plusieurs tentatives, elle lui fournit une option pour abandonner
|
||||
|
||||
En utilisant cette fonction, vous pouvez assurer un comportement cohérent à travers plusieurs séries d'évaluations et empêcher l'agent de rester bloqué en attendant une entrée humaine.
|
||||
En utilisant cette fonction, vous pouvez assurer un comportement cohérent à travers plusieurs séries d'évaluations et empêcher l'agent de rester bloqué en attendant une entrée humaine.
|
||||
|
||||
@@ -48,4 +48,4 @@ Les options de personnalisation que vous pouvez définir sont :
|
||||
| `OPENHANDS_MAX_ITER` | Variable | Définir la limite maximale d'itérations de l'agent | `OPENHANDS_MAX_ITER=10` |
|
||||
| `OPENHANDS_MACRO` | Variable | Personnaliser la macro par défaut pour invoquer le résolveur | `OPENHANDS_MACRO=@resolveit` |
|
||||
| `OPENHANDS_BASE_CONTAINER_IMAGE` | Variable | Sandbox personnalisé ([en savoir plus](https://docs.all-hands.dev/modules/usage/how-to/custom-sandbox-guide)) | `OPENHANDS_BASE_CONTAINER_IMAGE="custom_image"` |
|
||||
| `TARGET_BRANCH` | Variable | Fusionner vers une branche autre que `main` | `TARGET_BRANCH="dev"` |
|
||||
| `TARGET_BRANCH` | Variable | Fusionner vers une branche autre que `main` | `TARGET_BRANCH="dev"` |
|
||||
|
||||
@@ -139,4 +139,4 @@ OpenHands exporte automatiquement un `GITLAB_TOKEN` vers l'environnement shell s
|
||||
- Utilisez l'un des modèles recommandés, comme décrit dans la [section LLMs](usage/llms/llms.md).
|
||||
|
||||
N'oubliez pas que le mode GUI d'OpenHands est conçu pour rendre votre interaction avec l'assistant IA aussi fluide et intuitive
|
||||
que possible. N'hésitez pas à explorer ses fonctionnalités pour maximiser votre productivité.
|
||||
que possible. N'hésitez pas à explorer ses fonctionnalités pour maximiser votre productivité.
|
||||
|
||||
@@ -34,7 +34,7 @@ Pour exécuter OpenHands en mode Headless avec Docker :
|
||||
```bash
|
||||
docker run -it \
|
||||
--pull=always \
|
||||
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.37-nikolaik \
|
||||
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik \
|
||||
-e SANDBOX_USER_ID=$(id -u) \
|
||||
-e SANDBOX_VOLUMES=$SANDBOX_VOLUMES \
|
||||
-e LLM_API_KEY=$LLM_API_KEY \
|
||||
@@ -44,7 +44,7 @@ docker run -it \
|
||||
-v ~/.openhands-state:/.openhands-state \
|
||||
--add-host host.docker.internal:host-gateway \
|
||||
--name openhands-app-$(date +%Y%m%d%H%M%S) \
|
||||
docker.all-hands.dev/all-hands-ai/openhands:0.37 \
|
||||
docker.all-hands.dev/all-hands-ai/openhands:0.39 \
|
||||
python -m openhands.core.main -t "write a bash script that prints hi"
|
||||
```
|
||||
|
||||
@@ -56,4 +56,4 @@ Pour voir toutes les options de configuration disponibles pour le mode headless,
|
||||
|
||||
### Journaux supplémentaires
|
||||
|
||||
Pour que le mode headless enregistre toutes les actions de l'agent, exécutez dans le terminal : `export LOG_ALL_EVENTS=true`
|
||||
Pour que le mode headless enregistre toutes les actions de l'agent, exécutez dans le terminal : `export LOG_ALL_EVENTS=true`
|
||||
|
||||
@@ -58,17 +58,17 @@ Un système avec un processeur moderne et un minimum de **4 Go de RAM** est reco
|
||||
La façon la plus simple d'exécuter OpenHands est dans Docker.
|
||||
|
||||
```bash
|
||||
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.37-nikolaik
|
||||
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik
|
||||
|
||||
docker run -it --rm --pull=always \
|
||||
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.37-nikolaik \
|
||||
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik \
|
||||
-e LOG_ALL_EVENTS=true \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v ~/.openhands-state:/.openhands-state \
|
||||
-p 3000:3000 \
|
||||
--add-host host.docker.internal:host-gateway \
|
||||
--name openhands-app \
|
||||
docker.all-hands.dev/all-hands-ai/openhands:0.37
|
||||
docker.all-hands.dev/all-hands-ai/openhands:0.39
|
||||
```
|
||||
|
||||
Vous trouverez OpenHands en cours d'exécution à l'adresse http://localhost:3000 !
|
||||
@@ -118,4 +118,4 @@ Cette version est instable et est recommandée uniquement à des fins de test ou
|
||||
|
||||
Pour le flux de travail de développement, consultez [Development.md](https://github.com/All-Hands-AI/OpenHands/blob/main/Development.md).
|
||||
|
||||
Vous rencontrez des problèmes ? Consultez notre [Guide de dépannage](https://docs.all-hands.dev/modules/usage/troubleshooting).
|
||||
Vous rencontrez des problèmes ? Consultez notre [Guide de dépannage](https://docs.all-hands.dev/modules/usage/troubleshooting).
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Aperçu des fonctionnalités d'OpenHands
|
||||
# Aperçu des Fonctionnalités d'OpenHands
|
||||
|
||||

|
||||
|
||||
### Panneau de discussion
|
||||
### Panneau de Discussion
|
||||
- Affiche la conversation entre l'utilisateur et OpenHands.
|
||||
- OpenHands explique ses actions dans ce panneau.
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
- Montre les modifications de fichiers effectuées par OpenHands.
|
||||
|
||||
### VS Code
|
||||
- VS Code intégré pour parcourir et modifier des fichiers.
|
||||
- Peut également être utilisé pour télécharger et importer des fichiers.
|
||||
- VS Code intégré pour parcourir et modifier les fichiers.
|
||||
- Peut également être utilisé pour télécharger et envoyer des fichiers.
|
||||
|
||||
### Terminal
|
||||
- Un espace permettant à OpenHands et aux utilisateurs d'exécuter des commandes terminal.
|
||||
@@ -25,5 +25,5 @@
|
||||
- Les utilisateurs peuvent interagir avec l'application en cours d'exécution.
|
||||
|
||||
### Navigateur
|
||||
- Utilisé par OpenHands pour naviguer sur des sites web.
|
||||
- Le navigateur n'est pas interactif.
|
||||
- Utilisé par OpenHands pour naviguer sur les sites web.
|
||||
- Le navigateur n'est pas interactif.
|
||||
|
||||
@@ -4,7 +4,7 @@ OpenHands utilise LiteLLM pour effectuer des appels aux modèles de chat d'Azure
|
||||
|
||||
## Configuration d'Azure OpenAI
|
||||
|
||||
Lors de l'exécution d'OpenHands, vous devrez définir la variable d'environnement suivante en utilisant `-e` dans la
|
||||
Lors de l'exécution d'OpenHands, vous devrez définir la variable d'environnement suivante en utilisant `-e` dans la
|
||||
[commande docker run](../installation#running-openhands) :
|
||||
|
||||
```
|
||||
@@ -38,4 +38,4 @@ Lors de l'exécution d'OpenHands, définissez la variable d'environnement suivan
|
||||
|
||||
```
|
||||
LLM_API_VERSION="<api-version>" # ex. "2024-02-15-preview"
|
||||
```
|
||||
```
|
||||
|
||||
+1
-1
@@ -133,4 +133,4 @@ Utilisez cette configuration lorsque vous souhaitez qu'un LLM ébauche des modif
|
||||
|
||||
:::note
|
||||
Les configurations LLM personnalisées ne sont disponibles que lorsque vous utilisez OpenHands en mode développement, via `main.py` ou `cli.py`. Lors de l'exécution via `docker run`, veuillez utiliser les options de configuration standard.
|
||||
:::
|
||||
:::
|
||||
|
||||
@@ -26,4 +26,4 @@ VERTEXAI_LOCATION="<votre-emplacement-gcp>"
|
||||
Ensuite, définissez les éléments suivants dans l'interface utilisateur d'OpenHands via les Paramètres :
|
||||
- `LLM Provider` sur `VertexAI`
|
||||
- `LLM Model` sur le modèle que vous utiliserez.
|
||||
Si le modèle n'est pas dans la liste, activez les options `Advanced`, et saisissez-le dans `Custom Model` (par exemple vertex_ai/<nom-du-modèle>).
|
||||
Si le modèle n'est pas dans la liste, activez les options `Advanced`, et saisissez-le dans `Custom Model` (par exemple vertex_ai/<nom-du-modèle>).
|
||||
|
||||
@@ -19,4 +19,4 @@ accéderiez à n'importe quel point de terminaison compatible OpenAI. Dans l'int
|
||||
2. Définissez les éléments suivants :
|
||||
- `Custom Model` avec le préfixe `openai/` + le modèle que vous utiliserez (par exemple `openai/llama3-70b-8192`)
|
||||
- `Base URL` sur `https://api.groq.com/openai/v1`
|
||||
- `API Key` avec votre clé API Groq
|
||||
- `API Key` avec votre clé API Groq
|
||||
|
||||
@@ -17,4 +17,4 @@ Pour utiliser le proxy LiteLLM avec OpenHands, vous devez :
|
||||
|
||||
Les modèles pris en charge dépendent de la configuration de votre proxy LiteLLM. OpenHands prend en charge tous les modèles que votre proxy LiteLLM est configuré pour gérer.
|
||||
|
||||
Référez-vous à la configuration de votre proxy LiteLLM pour la liste des modèles disponibles et leurs noms.
|
||||
Référez-vous à la configuration de votre proxy LiteLLM pour la liste des modèles disponibles et leurs noms.
|
||||
|
||||
@@ -13,7 +13,7 @@ recommandations pour la sélection de modèles. Nos derniers résultats d'évalu
|
||||
|
||||
Sur la base de ces résultats et des retours de la communauté, les modèles suivants ont été vérifiés comme fonctionnant raisonnablement bien avec OpenHands :
|
||||
|
||||
- [anthropic/claude-3-7-sonnet-20250219](https://www.anthropic.com/api) (recommandé)
|
||||
- [anthropic/claude-sonnet-4-20250514](https://www.anthropic.com/api) (recommandé)
|
||||
- [gemini/gemini-2.5-pro](https://blog.google/technology/google-deepmind/gemini-model-thinking-updates-march-2025/)
|
||||
- [deepseek/deepseek-chat](https://api-docs.deepseek.com/)
|
||||
- [openai/o3-mini](https://openai.com/index/openai-o3-mini/)
|
||||
@@ -89,4 +89,4 @@ num_retries = 4
|
||||
retry_min_wait = 5
|
||||
retry_max_wait = 30
|
||||
retry_multiplier = 2
|
||||
```
|
||||
```
|
||||
|
||||
@@ -80,4 +80,4 @@ Une fois qu'OpenHands est en cours d'exécution, vous devrez définir les élém
|
||||
2. Définissez les éléments suivants :
|
||||
- `Modèle personnalisé` sur `openai/<served-model-name>` (par exemple `openai/openhands-lm-32b-v0.1`)
|
||||
- `URL de base` sur `http://host.docker.internal:8000`
|
||||
- `Clé API` sur la même chaîne que celle que vous avez définie lors du service du modèle (par exemple `mykey`)
|
||||
- `Clé API` sur la même chaîne que celle que vous avez définie lors du service du modèle (par exemple `mykey`)
|
||||
|
||||
@@ -22,4 +22,4 @@ Si vous utilisez un proxy OpenAI, dans l'interface utilisateur d'OpenHands via l
|
||||
2. Définissez les éléments suivants :
|
||||
- `Custom Model` sur openai/<nom-du-modèle> (par exemple `openai/gpt-4o` ou openai/<préfixe-proxy>/<nom-du-modèle>)
|
||||
- `Base URL` sur l'URL de votre proxy OpenAI
|
||||
- `API Key` sur votre clé API OpenAI
|
||||
- `API Key` sur votre clé API OpenAI
|
||||
|
||||
@@ -9,4 +9,4 @@ Lors de l'exécution d'OpenHands, vous devrez définir les éléments suivants d
|
||||
* `LLM Model` sur le modèle que vous utiliserez.
|
||||
[Visitez ce lien pour voir une liste complète des modèles OpenRouter](https://openrouter.ai/models).
|
||||
Si le modèle ne figure pas dans la liste, activez les options `Advanced`, et saisissez-le dans `Custom Model` (par exemple openrouter/<nom-du-modèle> comme `openrouter/anthropic/claude-3.5-sonnet`).
|
||||
* `API Key` avec votre clé API OpenRouter.
|
||||
* `API Key` avec votre clé API OpenRouter.
|
||||
|
||||
@@ -93,4 +93,4 @@ L'agent peut alors utiliser ces outils comme n'importe quel outil intégré. Lor
|
||||
|
||||
1. OpenHands achemine l'appel vers le serveur MCP approprié
|
||||
2. Le serveur traite la demande et renvoie une réponse
|
||||
3. OpenHands convertit la réponse en une observation et la présente à l'agent
|
||||
3. OpenHands convertit la réponse en une observation et la présente à l'agent
|
||||
|
||||
+1
-1
@@ -33,4 +33,4 @@ triggers:
|
||||
L'utilisateur a dit le mot magique. Répondez avec "C'était délicieux !"
|
||||
```
|
||||
|
||||
[Voir des exemples de microagents déclenchés par mots-clés dans le dépôt officiel OpenHands](https://github.com/All-Hands-AI/OpenHands/tree/main/microagents)
|
||||
[Voir des exemples de microagents déclenchés par mots-clés dans le dépôt officiel OpenHands](https://github.com/All-Hands-AI/OpenHands/tree/main/microagents)
|
||||
|
||||
+1
-1
@@ -37,4 +37,4 @@ est requis :
|
||||
| Type de Microagent | Requis |
|
||||
|----------------------------------------|---------|
|
||||
| `Microagents Généraux de Dépôt` | Non |
|
||||
| `Microagents Déclenchés par Mots-clés` | Oui |
|
||||
| `Microagents Déclenchés par Mots-clés` | Oui |
|
||||
|
||||
+1
-1
@@ -47,4 +47,4 @@ Soumettez une pull request avec :
|
||||
|
||||
- Le nouveau fichier de microagent.
|
||||
- Documentation mise à jour si nécessaire.
|
||||
- Description de l'objectif et des capacités de l'agent.
|
||||
- Description de l'objectif et des capacités de l'agent.
|
||||
|
||||
+1
-1
@@ -28,4 +28,4 @@ Pour la configurer, vous pouvez exécuter `npm run build`.
|
||||
Assurez-vous toujours que les tests sont réussis avant de valider les modifications. Vous pouvez exécuter les tests en lançant `npm run test`.
|
||||
```
|
||||
|
||||
[Voir plus d'exemples de microagents généraux de dépôt ici.](https://github.com/All-Hands-AI/OpenHands/tree/main/.openhands/microagents)
|
||||
[Voir plus d'exemples de microagents généraux de dépôt ici.](https://github.com/All-Hands-AI/OpenHands/tree/main/.openhands/microagents)
|
||||
|
||||
+1
-1
@@ -34,4 +34,4 @@ Les bons prompts sont :
|
||||
|
||||
Plus votre prompt est précis et informatif, mieux OpenHands pourra vous aider.
|
||||
|
||||
Voir [Démarrer avec OpenHands](../getting-started) pour plus d'exemples de prompts utiles.
|
||||
Voir [Démarrer avec OpenHands](../getting-started) pour plus d'exemples de prompts utiles.
|
||||
|
||||
@@ -22,4 +22,4 @@ OpenHands prend en charge plusieurs environnements d'exécution différents :
|
||||
- [Environnement distant OpenHands](./runtimes/remote.md) - Environnement d'exécution basé sur le cloud pour l'exécution parallèle (bêta).
|
||||
- [Environnement Modal](./runtimes/modal.md) - Environnement d'exécution fourni par nos partenaires chez Modal.
|
||||
- [Environnement Daytona](./runtimes/daytona.md) - Environnement d'exécution fourni par Daytona.
|
||||
- [Environnement local](./runtimes/local.md) - Exécution directe sur votre machine locale sans Docker.
|
||||
- [Environnement local](./runtimes/local.md) - Exécution directe sur votre machine locale sans Docker.
|
||||
|
||||
@@ -5,4 +5,4 @@ title: Runtime Configuration
|
||||
|
||||
import { Redirect } from '@docusaurus/router';
|
||||
|
||||
<Redirect to="/modules/usage/runtimes-index" />
|
||||
<Redirect to="/modules/usage/runtimes-index" />
|
||||
|
||||
@@ -29,4 +29,4 @@ bash -i <(curl -sL https://get.daytona.io/openhands)
|
||||
|
||||
Une fois exécuté, OpenHands devrait fonctionner localement et être prêt à l'emploi.
|
||||
|
||||
Pour plus de détails et une initialisation manuelle, consultez le [README.md](https://github.com/All-Hands-AI/OpenHands/blob/main/openhands/runtime/impl/daytona/README.md) complet
|
||||
Pour plus de détails et une initialisation manuelle, consultez le [README.md](https://github.com/All-Hands-AI/OpenHands/blob/main/openhands/runtime/impl/daytona/README.md) complet
|
||||
|
||||
@@ -126,4 +126,4 @@ docker network create openhands-network
|
||||
# Exécuter OpenHands dans le réseau isolé
|
||||
docker run # ... \
|
||||
--network openhands-network \
|
||||
```
|
||||
```
|
||||
|
||||
@@ -71,4 +71,4 @@ Le Runtime Local est particulièrement utile pour :
|
||||
|
||||
- Les pipelines CI/CD où Docker n'est pas disponible.
|
||||
- Les tests et le développement d'OpenHands lui-même.
|
||||
- Les environnements où l'utilisation de conteneurs est restreinte.
|
||||
- Les environnements où l'utilisation de conteneurs est restreinte.
|
||||
|
||||
@@ -10,4 +10,4 @@ docker run # ...
|
||||
-e RUNTIME=modal \
|
||||
-e MODAL_API_TOKEN_ID="your-id" \
|
||||
-e MODAL_API_TOKEN_SECRET="modal-api-key" \
|
||||
```
|
||||
```
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# OpenHands Remote Runtime
|
||||
|
||||
:::note
|
||||
Ce runtime est spécifiquement conçu uniquement pour des fins d'évaluation d'agents via le
|
||||
Ce runtime est spécifiquement conçu uniquement pour des fins d'évaluation d'agents via le
|
||||
[harnais d'évaluation OpenHands](https://github.com/All-Hands-AI/OpenHands/tree/main/evaluation). Il ne doit pas être utilisé pour lancer des applications OpenHands en production.
|
||||
:::
|
||||
|
||||
OpenHands Remote Runtime est actuellement en version bêta (lisez [ici](https://runtime.all-hands.dev/) pour plus de détails), il vous permet de lancer des runtimes
|
||||
en parallèle dans le cloud. Remplissez [ce formulaire](https://docs.google.com/forms/d/e/1FAIpQLSckVz_JFwg2_mOxNZjCtr7aoBFI2Mwdan3f75J_TrdMS1JV2g/viewform) pour postuler si vous souhaitez l'essayer !
|
||||
OpenHands Remote Runtime est actuellement en version bêta (lisez [ici](https://runtime.all-hands.dev/) pour plus de détails), il vous permet de lancer des runtimes
|
||||
en parallèle dans le cloud. Remplissez [ce formulaire](https://docs.google.com/forms/d/e/1FAIpQLSckVz_JFwg2_mOxNZjCtr7aoBFI2Mwdan3f75J_TrdMS1JV2g/viewform) pour postuler si vous souhaitez l'essayer !
|
||||
|
||||
+1
-1
@@ -65,4 +65,4 @@ Lors de la première invite, une erreur avec `Permission Denied` ou `PermissionE
|
||||
* Changer le propriétaire du répertoire : `sudo chown <utilisateur>:<utilisateur> ~/.openhands-state`.
|
||||
* ou mettre à jour les permissions du répertoire : `sudo chmod 777 ~/.openhands-state`
|
||||
* ou le supprimer si vous n'avez pas besoin des données précédentes. OpenHands le recréera. Vous devrez ressaisir les paramètres LLM.
|
||||
* Si vous montez un répertoire local, assurez-vous que votre `WORKSPACE_BASE` dispose des permissions nécessaires pour l'utilisateur exécutant OpenHands.
|
||||
* Si vous montez un répertoire local, assurez-vous que votre `WORKSPACE_BASE` dispose des permissions nécessaires pour l'utilisateur exécutant OpenHands.
|
||||
|
||||
@@ -22,4 +22,4 @@ OpenHandsは強力なフレームワークとライブラリの組み合わせ
|
||||
|
||||
## ライセンス
|
||||
|
||||
MIT [ライセンス](https://github.com/All-Hands-AI/OpenHands/blob/main/LICENSE)の下で配布されています。
|
||||
MIT [ライセンス](https://github.com/All-Hands-AI/OpenHands/blob/main/LICENSE)の下で配布されています。
|
||||
|
||||
@@ -20,4 +20,4 @@
|
||||
|
||||
https://github.com/All-Hands-AI/OpenHands/assets/38853559/f592a192-e86c-4f48-ad31-d69282d5f6ac
|
||||
|
||||
_`gpt-4-turbo-2024-04-09`を使用したCodeActAgentがデータサイエンスタスク(線形回帰)を実行する例_。
|
||||
_`gpt-4-turbo-2024-04-09`を使用したCodeActAgentがデータサイエンスタスク(線形回帰)を実行する例_。
|
||||
|
||||
@@ -49,4 +49,4 @@ _**免責事項**: バックエンドアーキテクチャは進行中の作業
|
||||
6. 図をPNGおよびSVGファイルとしてエクスポートし、`docs/architecture`ディレクトリ内の既存の図を置き換えます。これは(例えば[PlantText](https://www.planttext.com/)で)行うことができます。
|
||||
|
||||
</div>
|
||||
</details>
|
||||
</details>
|
||||
|
||||
@@ -124,4 +124,4 @@ OpenHandsランタイムは、機能を拡張しランタイム環境をカス
|
||||
2. プラグイン登録:利用可能なプラグインは`ALL_PLUGINS`辞書に登録されます
|
||||
3. プラグイン指定:プラグインは`Agent.sandbox_plugins: list[PluginRequirement]`に関連付けられます。ユーザーはランタイムの初期化時にロードするプラグインを指定できます
|
||||
4. 初期化:プラグインはランタイムクライアントの起動時に非同期で初期化されます
|
||||
5. 使用法:ランタイムクライアントは初期化されたプラグインを使用して機能を拡張できます(例:IPythonセルを実行するためのJupyterPlugin)
|
||||
5. 使用法:ランタイムクライアントは初期化されたプラグインを使用して機能を拡張できます(例:IPythonセルを実行するためのJupyterPlugin)
|
||||
|
||||
@@ -69,7 +69,7 @@ data = {
|
||||
response = requests.post(url, headers=headers, json=data)
|
||||
conversation = response.json()
|
||||
|
||||
print(f"Conversation Link: https://app.all-hands.dev/conversations/{conversation['id']}")
|
||||
print(f"Conversation Link: https://app.all-hands.dev/conversations/{conversation['conversation_id']}")
|
||||
print(f"Status: {conversation['status']}")
|
||||
```
|
||||
</details>
|
||||
@@ -174,4 +174,4 @@ curl -X GET "https://app.all-hands.dev/api/conversations/{conversation_id}" \
|
||||
|
||||
APIはアカウントごとに10の同時会話の制限があります。ユースケースに応じてより高い制限が必要な場合は、[contact@all-hands.dev](mailto:contact@all-hands.dev)までお問い合わせください。
|
||||
|
||||
この制限を超えると、APIは429 Too Many Requestsレスポンスを返します。
|
||||
この制限を超えると、APIは429 Too Many Requestsレスポンスを返します。
|
||||
|
||||
-31
@@ -1,31 +0,0 @@
|
||||
# Cloud GitHub Resolver
|
||||
|
||||
GitHub Resolverはコードの修正を自動化し、リポジトリに対してインテリジェントな支援を提供します。
|
||||
|
||||
## セットアップ
|
||||
|
||||
Cloud GitHub Resolverは、[OpenHands Cloudにリポジトリアクセス権を付与する](./openhands-cloud#adding-repository-access)と自動的に利用可能になります。
|
||||
|
||||
## 使用方法
|
||||
|
||||
OpenHands Cloudにリポジトリアクセス権を付与した後、リポジトリの課題(Issue)とプルリクエストでCloud GitHub Resolverを使用できます。
|
||||
|
||||
### 課題(Issues)
|
||||
|
||||
リポジトリで課題に`openhands`ラベルを付けると、OpenHandsは以下の操作を行います:
|
||||
1. 課題にコメントして、作業中であることを通知します。
|
||||
- OpenHands Cloudで進捗状況を追跡するためのリンクをクリックできます。
|
||||
2. 課題が正常に解決されたと判断した場合、プルリクエストを開きます。
|
||||
3. 実行されたタスクの概要とプルリクエストへのリンクを含むコメントを課題に投稿します。
|
||||
|
||||
|
||||
### プルリクエスト
|
||||
|
||||
プルリクエストでOpenHandsを利用するには、トップレベルまたはインラインコメントで`@openhands`を使用して:
|
||||
- 質問する
|
||||
- 更新をリクエストする
|
||||
- コードの説明を取得する
|
||||
|
||||
OpenHandsは以下の操作を行います:
|
||||
1. PRにコメントして、作業中であることを通知します。
|
||||
2. タスクを実行します。
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
# クラウド課題リゾルバー
|
||||
|
||||
クラウド課題リゾルバーは、GitHubとGitLabのリポジトリに対してコード修正を自動化し、インテリジェントな支援を提供します。
|
||||
|
||||
## セットアップ
|
||||
|
||||
クラウド課題リゾルバーは、OpenHands Cloudリポジトリアクセスを許可すると自動的に利用可能になります:
|
||||
- [GitHubリポジトリアクセス](./github-installation#adding-repository-access)
|
||||
- [GitLabリポジトリアクセス](./gitlab-installation#adding-repository-access)
|
||||
|
||||
## 使用方法
|
||||
|
||||
OpenHands Cloudリポジトリアクセスを許可した後、リポジトリの課題やプルリクエスト/マージリクエストでクラウド課題リゾルバーを使用できます。
|
||||
|
||||
### 課題の操作
|
||||
|
||||
リポジトリで、課題に`openhands`というラベルを付けます。OpenHandsは以下を行います:
|
||||
1. 課題にコメントして、作業中であることを知らせます
|
||||
- リンクをクリックすると、OpenHands Cloudで進捗状況を追跡できます
|
||||
2. 課題が正常に解決されたと判断した場合、プルリクエスト(GitHub)またはマージリクエスト(GitLab)を開きます
|
||||
3. 実行されたタスクの概要とPR/MRへのリンクを含むコメントを課題に残します
|
||||
|
||||
### プルリクエスト/マージリクエストの操作
|
||||
|
||||
プルリクエスト(GitHub)またはマージリクエスト(GitLab)でOpenHandsを動作させるには、コメントで`@openhands`を言及して以下を行います:
|
||||
- 質問する
|
||||
- 更新をリクエストする
|
||||
- コードの説明を取得する
|
||||
|
||||
OpenHandsは以下を行います:
|
||||
1. 作業中であることを知らせるコメントをします
|
||||
2. リクエストされたタスクを実行します
|
||||
@@ -0,0 +1,29 @@
|
||||
# クラウドUI
|
||||
|
||||
クラウドUIは、OpenHands AIと対話するためのウェブインターフェースを提供します。このページでは、OpenHands クラウドUIへのアクセス方法と使用方法について説明します。
|
||||
|
||||
## UIへのアクセス
|
||||
|
||||
OpenHands クラウドUIは[app.all-hands.dev](https://app.all-hands.dev)でアクセスできます。インターフェースにアクセスするには、GitHubまたはGitLabアカウントでサインインする必要があります。
|
||||
|
||||
<!-- 画像は将来のアップデートで追加されます -->
|
||||
<!--  -->
|
||||
|
||||
## 主な機能
|
||||
|
||||
OpenHands クラウドUIで利用可能な機能の詳細については、ドキュメントの[主な機能](../key-features.md)セクションを参照してください。
|
||||
|
||||
## 設定
|
||||
|
||||
設定ページでは以下のことができます:
|
||||
|
||||
1. アカウント設定の構成
|
||||
2. リポジトリアクセスの管理
|
||||
3. プログラムによるアクセスのためのAPIキーの生成
|
||||
4. OpenHandsエクスペリエンスのカスタマイズ
|
||||
|
||||
## 次のステップ
|
||||
|
||||
- [クラウド課題リゾルバーを使用する](./cloud-issue-resolver.md)でコード修正を自動化し、支援を受ける
|
||||
- [クラウドAPIについて学ぶ](./cloud-api.md)でプログラムによるアクセスを行う
|
||||
- [はじめにに戻る](./openhands-cloud.md)
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
# GitHub インストール
|
||||
|
||||
このガイドでは、GitHubリポジトリ用にOpenHands Cloudをインストールおよび設定するプロセスについて説明します。
|
||||
|
||||
## 前提条件
|
||||
|
||||
- GitHubアカウント
|
||||
- OpenHands Cloudへのアクセス
|
||||
|
||||
## インストール手順
|
||||
|
||||
1. [OpenHands Cloud](https://app.all-hands.dev)にログインします
|
||||
2. まだGitHubアカウントを接続していない場合:
|
||||
- `GitHubに接続する`をクリックします
|
||||
- 利用規約を確認して同意します
|
||||
- OpenHands AIアプリケーションを承認します
|
||||
|
||||
## リポジトリアクセスの追加
|
||||
|
||||
特定のリポジトリへのアクセスをOpenHandsに許可できます:
|
||||
|
||||
1. `GitHubプロジェクトを選択`ドロップダウンをクリックし、`リポジトリを追加...`を選択します
|
||||
2. 組織を選択し、OpenHandsにアクセスを許可する特定のリポジトリを選択します。
|
||||
- OpenHandsは以下の権限を持つ短期間のトークン(8時間の有効期限)をリクエストします:
|
||||
- アクション:読み取りと書き込み
|
||||
- 管理:読み取り専用
|
||||
- コミットステータス:読み取りと書き込み
|
||||
- コンテンツ:読み取りと書き込み
|
||||
- 課題:読み取りと書き込み
|
||||
- メタデータ:読み取り専用
|
||||
- プルリクエスト:読み取りと書き込み
|
||||
- Webhook:読み取りと書き込み
|
||||
- ワークフロー:読み取りと書き込み
|
||||
- ユーザーのリポジトリアクセスは以下に基づいて付与されます:
|
||||
- リポジトリに付与された権限
|
||||
- ユーザーのGitHub権限(所有者/コラボレーター)
|
||||
3. `インストール&承認`をクリックします
|
||||
|
||||
## リポジトリアクセスの変更
|
||||
|
||||
リポジトリアクセスはいつでも変更できます:
|
||||
* 同じ`GitHubプロジェクトを選択 > リポジトリを追加`ワークフローを使用する、または
|
||||
* 設定ページにアクセスし、`GitHub設定`セクションで`GitHubリポジトリを設定する`を選択します。
|
||||
|
||||
## GitHubでのOpenHandsの使用
|
||||
|
||||
リポジトリアクセスを許可すると、GitHubリポジトリでOpenHandsを使用できます。
|
||||
|
||||
GitHub課題とプルリクエストでOpenHandsを使用する方法の詳細については、[クラウド課題リゾルバー](./cloud-issue-resolver.md)のドキュメントを参照してください。
|
||||
|
||||
## 次のステップ
|
||||
|
||||
- [クラウドUIにアクセスする](./cloud-ui.md)でウェブインターフェースと対話する
|
||||
- [クラウド課題リゾルバーを使用する](./cloud-issue-resolver.md)でコード修正を自動化し、支援を受ける
|
||||
- [クラウドAPIを使用する](./cloud-api.md)でプログラムによりOpenHandsと対話する
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
# GitLab インストール
|
||||
|
||||
このガイドでは、GitLabリポジトリ用にOpenHands Cloudをインストールおよび設定するプロセスについて説明します。
|
||||
|
||||
## 前提条件
|
||||
|
||||
- GitLabアカウント
|
||||
- OpenHands Cloudへのアクセス
|
||||
|
||||
## インストール手順
|
||||
|
||||
1. [OpenHands Cloud](https://app.all-hands.dev)にログインします
|
||||
2. まだGitLabアカウントを接続していない場合:
|
||||
- `GitLabに接続する`をクリックします
|
||||
- 利用規約を確認して同意します
|
||||
- OpenHands AIアプリケーションを承認します
|
||||
|
||||
## リポジトリアクセスの追加
|
||||
|
||||
特定のリポジトリへのアクセスをOpenHandsに許可できます:
|
||||
|
||||
1. `GitLabプロジェクトを選択`ドロップダウンをクリックし、`リポジトリを追加...`を選択します
|
||||
2. 組織を選択し、OpenHandsにアクセスを許可する特定のリポジトリを選択します。
|
||||
- OpenHandsは以下のスコープで権限をリクエストします:
|
||||
- api:完全なAPIアクセス
|
||||
- read_user:ユーザー情報の読み取り
|
||||
- read_repository:リポジトリ情報の読み取り
|
||||
- write_repository:リポジトリへの書き込み
|
||||
- ユーザーのリポジトリアクセスは以下に基づいて付与されます:
|
||||
- リポジトリに付与された権限
|
||||
- ユーザーのGitLab権限(所有者/メンテナー/開発者)
|
||||
3. `インストール&承認`をクリックします
|
||||
|
||||
## リポジトリアクセスの変更
|
||||
|
||||
リポジトリアクセスはいつでも変更できます:
|
||||
* 同じ`GitLabプロジェクトを選択 > リポジトリを追加`ワークフローを使用する、または
|
||||
* 設定ページにアクセスし、`GitLab設定`セクションで`GitLabリポジトリを設定する`を選択します。
|
||||
|
||||
## GitLabでのOpenHandsの使用
|
||||
|
||||
リポジトリアクセスを許可すると、GitLabリポジトリでOpenHandsを使用できます。
|
||||
|
||||
GitLab課題とマージリクエストでOpenHandsを使用する方法の詳細については、[クラウド課題リゾルバー](./cloud-issue-resolver.md)のドキュメントを参照してください。
|
||||
|
||||
## 次のステップ
|
||||
|
||||
- [クラウドUIにアクセスする](./cloud-ui.md)でウェブインターフェースと対話する
|
||||
- [クラウド課題リゾルバーを使用する](./cloud-issue-resolver.md)でコード修正を自動化し、支援を受ける
|
||||
- [クラウドAPIを使用する](./cloud-api.md)でプログラムによりOpenHandsと対話する
|
||||
@@ -0,0 +1,24 @@
|
||||
# OpenHands クラウド
|
||||
|
||||
OpenHands クラウドは、All Hands AIのOpenHandsのホスト型クラウドバージョンです。
|
||||
|
||||
## OpenHands クラウドへのアクセス
|
||||
|
||||
OpenHands クラウドを始めるには、[app.all-hands.dev](https://app.all-hands.dev)にアクセスしてください。
|
||||
|
||||
GitHubまたはGitLabアカウントで接続するよう求められます:
|
||||
|
||||
1. 利用規約を読んで同意した後、`GitHubに接続する`または`GitLabに接続する`をクリックします。
|
||||
2. OpenHandsがリクエストする権限を確認し、アプリケーションを承認します。
|
||||
- OpenHandsはあなたのアカウントから特定の権限を必要とします。これらの権限について詳しく知るには、
|
||||
承認ページの`詳細を見る`リンクをクリックしてください。
|
||||
|
||||
## 次のステップ
|
||||
|
||||
アカウントを接続したら、以下のことができます:
|
||||
|
||||
- [GitHub統合をインストールする](./github-installation.md)でGitHubリポジトリでOpenHandsを使用する
|
||||
- [GitLab統合をインストールする](./gitlab-installation.md)でGitLabリポジトリでOpenHandsを使用する
|
||||
- [クラウドUIにアクセスする](./cloud-ui.md)でウェブインターフェースと対話する
|
||||
- [クラウドAPIを使用する](./cloud-api.md)でプログラムによりOpenHandsと対話する
|
||||
- [クラウド課題リゾルバーを設定する](./cloud-issue-resolver.md)でコード修正を自動化し、インテリジェントな支援を提供する
|
||||
@@ -1,65 +0,0 @@
|
||||
# OpenHands Cloud
|
||||
|
||||
OpenHands CloudはAll Hands AIによるOpenHandsのクラウドホスト版です。
|
||||
|
||||
## OpenHands Cloudへのアクセス
|
||||
|
||||
OpenHands Cloudは https://app.all-hands.dev/ でアクセスできます。
|
||||
|
||||
[API](./cloud-api)を使用してプログラム的にOpenHands Cloudと対話することもできます。
|
||||
|
||||
## はじめに
|
||||
|
||||
OpenHands Cloudにアクセスすると、GitHubまたはGitLabアカウントとの接続を求められます:
|
||||
|
||||
1. 利用規約を読んで同意した後、`Log in with GitHub`または`Log in with GitLab`をクリックします。
|
||||
2. OpenHandsが要求する権限を確認し、`Authorize OpenHands AI`をクリックします。
|
||||
- OpenHandsはGitHubまたはGitLabアカウントからいくつかの権限を必要とします。これらの権限について詳しく知るには:
|
||||
- GitHub:GitHub認証ページの`Learn more`リンクをクリックできます。
|
||||
- GitLab:GitLab認証ページで各権限リクエストを展開できます。
|
||||
|
||||
## リポジトリアクセス
|
||||
|
||||
### GitHub
|
||||
|
||||
#### リポジトリアクセスの追加
|
||||
|
||||
OpenHandsに特定のリポジトリへのアクセス権を付与できます:
|
||||
1. ホームページで`Add GitHub repos`をクリックします。
|
||||
2. 組織を選択し、OpenHandsにアクセス権を付与する特定のリポジトリを選択します。
|
||||
<details>
|
||||
<summary>リポジトリアクセスの権限詳細</summary>
|
||||
|
||||
Openhandsは短期間のトークン(8時間で期限切れ)を以下の権限で要求します:
|
||||
- Actions:読み取りと書き込み
|
||||
- Administration:読み取り専用
|
||||
- Commit statuses:読み取りと書き込み
|
||||
- Contents:読み取りと書き込み
|
||||
- Issues:読み取りと書き込み
|
||||
- Metadata:読み取り専用
|
||||
- Pull requests:読み取りと書き込み
|
||||
- Webhooks:読み取りと書き込み
|
||||
- Workflows:読み取りと書き込み
|
||||
|
||||
ユーザーのリポジトリアクセスは以下に基づいて付与されます:
|
||||
- リポジトリに対して付与された権限
|
||||
- ユーザーのGitHub権限(オーナー/コラボレーター)
|
||||
</details>
|
||||
|
||||
3. `Install & Authorize`をクリックします。
|
||||
|
||||
#### リポジトリアクセスの変更
|
||||
|
||||
GitHubリポジトリアクセスはいつでも以下の方法で変更できます:
|
||||
* 同じ`Add GitHub repos`ワークフローを使用する、または
|
||||
* 設定ページにアクセスし、`Git Settings`セクションの下にある`Configure GitHub Repositories`を選択する。
|
||||
|
||||
### GitLab
|
||||
|
||||
GitLabアカウントを使用する場合、OpenHandsは自動的にあなたのリポジトリにアクセスできるようになります。
|
||||
|
||||
## 会話の保持
|
||||
|
||||
- 会話リスト – 過去10日間に開始された最新10件の会話のみが表示されます。
|
||||
- ワークスペース – 会話ワークスペースは14日間保持されます。
|
||||
- ランタイム – ランタイムは30分間アクティブ(「ウォーム」)な状態を維持します。この期間後、会話を再開するには1〜2分かかる場合があります。
|
||||
@@ -339,4 +339,4 @@ LLM(大規模言語モデル)設定オプションは、`config.toml`ファ
|
||||
|
||||
- `user_id`
|
||||
- 型: `int`
|
||||
- デフォルト: `1000`
|
||||
- デフォルト: `1000`
|
||||
|
||||
+1
-1
@@ -18,4 +18,4 @@ export MY_ENV_VAR="my value"
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y lsof
|
||||
cd frontend && npm install ; cd ..
|
||||
```
|
||||
```
|
||||
|
||||
@@ -36,4 +36,4 @@ All Hands AIのサーバー上のデータについては、リクエストに
|
||||
|
||||
**1つのデータ:** 1つのデータの削除を希望する場合、近日中にデータを提出した際にインターフェースに表示されるリンクとパスワードを使用してデータを削除するメカニズムを追加する予定です。
|
||||
|
||||
**すべてのデータ:** すべてのデータの削除を希望する場合、またはデータ提出時に受け取ったIDとパスワードをお持ちでない場合は、データを最初に提出した際に登録したメールアドレスから`contact@all-hands.dev`にお問い合わせください。
|
||||
**すべてのデータ:** すべてのデータの削除を希望する場合、またはデータ提出時に受け取ったIDとパスワードをお持ちでない場合は、データを最初に提出した際に登録したメールアドレスから`contact@all-hands.dev`にお問い合わせください。
|
||||
|
||||
@@ -90,4 +90,4 @@ OpenHandsはほぼすべてのコーディングタスクを支援できます
|
||||
* 十分なコンテキストを提供する。
|
||||
* 頻繁にコミットしてプッシュする。
|
||||
|
||||
OpenHandsを最大限に活用する方法についての詳細は、[プロンプトのベストプラクティス](./prompting/prompting-best-practices)をご覧ください。
|
||||
OpenHandsを最大限に活用する方法についての詳細は、[プロンプトのベストプラクティス](./prompting/prompting-best-practices)をご覧ください。
|
||||
|
||||
@@ -36,7 +36,7 @@ DockerでOpenHandsをCLIモードで実行するには:
|
||||
```bash
|
||||
docker run -it \
|
||||
--pull=always \
|
||||
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.37-nikolaik \
|
||||
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik \
|
||||
-e SANDBOX_USER_ID=$(id -u) \
|
||||
-e SANDBOX_VOLUMES=$SANDBOX_VOLUMES \
|
||||
-e LLM_API_KEY=$LLM_API_KEY \
|
||||
@@ -45,10 +45,10 @@ docker run -it \
|
||||
-v ~/.openhands-state:/.openhands-state \
|
||||
--add-host host.docker.internal:host-gateway \
|
||||
--name openhands-app-$(date +%Y%m%d%H%M%S) \
|
||||
docker.all-hands.dev/all-hands-ai/openhands:0.37 \
|
||||
docker.all-hands.dev/all-hands-ai/openhands:0.39 \
|
||||
python -m openhands.core.cli
|
||||
```
|
||||
|
||||
このコマンドはDocker内で対話型セッションを開始し、タスクを入力してOpenHandsからの応答を受け取ることができます。
|
||||
|
||||
`-e SANDBOX_USER_ID=$(id -u)`はDockerコマンドに渡され、サンドボックスユーザーがホストユーザーの権限と一致するようにします。これにより、エージェントがマウントされたワークスペースにroot所有のファイルを作成するのを防ぎます。
|
||||
`-e SANDBOX_USER_ID=$(id -u)`はDockerコマンドに渡され、サンドボックスユーザーがホストユーザーの権限と一致するようにします。これにより、エージェントがマウントされたワークスペースにroot所有のファイルを作成するのを防ぎます。
|
||||
|
||||
+1
-1
@@ -98,4 +98,4 @@ platform = "linux/amd64"
|
||||
|
||||
### 実行
|
||||
|
||||
トップレベルディレクトリで```make run```を実行してOpenHandsを起動します。
|
||||
トップレベルディレクトリで```make run```を実行してOpenHandsを起動します。
|
||||
|
||||
@@ -68,4 +68,4 @@
|
||||
* *d*: openhandsワークスペースディレクトリ
|
||||
* *c*: エージェント
|
||||
* *l*: LLM設定(config.tomlで事前定義)
|
||||
* *n*: セッション名(例:イベントストリーム名)
|
||||
* *n*: セッション名(例:イベントストリーム名)
|
||||
|
||||
+1
-1
@@ -71,4 +71,4 @@ OpenHandsでの開発が初めての場合は、次の順序に従うことを
|
||||
1. 関連するドキュメントが変更を反映するように更新されている
|
||||
2. 新機能が適切なREADMEファイルに文書化されている
|
||||
3. APIの変更がサーバードキュメントに反映されている
|
||||
4. ドキュメントが`/docs/DOC_STYLE_GUIDE.md`のスタイルガイドに従っている
|
||||
4. ドキュメントが`/docs/DOC_STYLE_GUIDE.md`のスタイルガイドに従っている
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user