Compare commits

..

115 Commits

Author SHA1 Message Date
Xingyao Wang d88ebc971f override browsergym playwright import 2025-05-15 17:02:07 +00:00
Xingyao Wang 46e39739c4 update lock 2025-05-15 16:46:12 +00:00
Xingyao Wang eda353e0d7 Merge commit '04d585513c8952efbe56aaefbf11754846320360' into feature/patchright-integration 2025-05-15 16:45:35 +00:00
sp.wack 04d585513c feat: secrets manager settings (#8068)
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: rohitvinodmalhotra@gmail.com <rohitvinodmalhotra@gmail.com>
2025-05-15 11:30:10 -04:00
Robert Brennan 7a4ea23b9d Revert "Add Docker, Java, Golang, and other programming languages to runtime image" (#8518) 2025-05-15 14:29:15 +00:00
sp.wack 7490c1927f fix(frontend): Failing tests (#8519) 2025-05-15 14:20:52 +00:00
tofarr 8d2ac59909 Fix passing environment (#8483)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-15 07:23:21 -06:00
Ryan H. Tran 68e5f485aa fix: validation error when saving SSE MCP server url on the UI (#8502) 2025-05-15 06:35:06 +00:00
Xingyao Wang c1e3ae6dac try to simplify 2025-05-15 06:09:22 +00:00
Xingyao Wang e95831ec09 change to patchright_chromium 2025-05-15 05:48:13 +00:00
Xingyao Wang 04c7f31498 move unit test 2025-05-15 05:47:48 +00:00
Graham Neubig e4c284f96d Add timeout parameter to bash tool for hard timeout control (#8106)
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: Xingyao Wang <xingyao@all-hands.dev>
2025-05-15 13:24:42 +08:00
Yueqi Song 3ca585b79f Update run_infer.py to incorporate selection of task based on repo (#8509) 2025-05-15 12:27:28 +08:00
tofarr 7e88d4195f Refactor event store cleanup (#8505)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-14 16:20:43 -06:00
Engel Nyst f046efd53d Revert "Make str_replace_editor description more clear (#8434)" (#8501) 2025-05-15 04:08:16 +08:00
Xingyao Wang e5f81a283a Merge commit '74f8d68ac57b2c9df7aa8bd9009b51eefac69201' into feature/patchright-integration 2025-05-14 19:53:55 +00:00
openhands 74f8d68ac5 Regenerate poetry.lock file after merging from main 2025-05-14 19:52:40 +00:00
Xingyao Wang a2e028d707 remove patchright readme 2025-05-14 19:52:14 +00:00
openhands 8eb2281f21 Merge main into feature/patchright-integration 2025-05-14 19:51:46 +00:00
Engel Nyst e4586432ad Add top_k (#8480) 2025-05-14 21:46:03 +02:00
sp.wack d956abe56b fix(frontend): Show actions when idle (#8507) 2025-05-14 18:53:32 +00:00
Robert Brennan 6145552841 Add Docker, Java, Golang, and other programming languages to runtime image (#8026)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-14 13:46:06 -04:00
dependabot[bot] b1dca48c8e chore(deps): bump the version-all group with 6 updates (#8504)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
2025-05-14 16:39:01 +00:00
Robert Brennan 81ba80dde0 Fix issue #8327: Unable to delete the entire default branch name in input box (#8329)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-14 12:07:12 -04:00
mamoodi 08a790c4ca Update default model to sonnet 3.7 in all applicable places (#8489)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-14 10:55:34 -04:00
Robert Brennan 1b57fd4d1e Remove github_user_id in favor of user_id (#8406)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-14 10:17:35 -04:00
Robert Brennan c36cbf6543 Fix padding on last paragraph in messages (#8491)
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: Xingyao Wang <xingyao@all-hands.dev>
2025-05-14 10:24:21 +00:00
openhands 1c3052702e Regenerate poetry.lock file after merging from main 2025-05-14 10:19:51 +00:00
openhands ca4051f585 Merge main into feature/patchright-integration 2025-05-14 10:19:00 +00:00
openhands 11c7a39c12 Remove poetry.lock for regeneration 2025-05-14 10:18:48 +00:00
Xingyao Wang 67d438ea4f Fix workspace mount behavior with SANDBOX_VOLUMES (#8500) 2025-05-14 14:58:03 +08:00
Graham Neubig 154eed148f Fix typing in server directory (#8375)
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: Rohit Malhotra <rohitvinodmalhotra@gmail.com>
2025-05-13 21:27:59 +00:00
Graham Neubig f9b0fcd76e Add API documentation link to API Keys tab in settings (#8363)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-13 20:09:58 +00:00
mamoodi 0782aeb1c4 Update recommended models (#8488)
Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
2025-05-13 15:46:22 -04:00
dependabot[bot] 55fbb65e05 chore(deps): bump the version-all group across 1 directory with 12 updates (#8478)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-13 21:20:50 +02:00
mamoodi 1abed30b44 Update MCP docs and LLM docs with more accurate information (#8482) 2025-05-13 13:09:25 -04:00
tofarr 1f29ec836b Fix missing translations in frontend i18n files (#8481)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-13 17:02:06 +00:00
openhands 0ec75bc0d0 Regenerate poetry.lock file to fix compatibility issues with patchright integration 2025-05-13 16:51:37 +00:00
openhands 9ca9cb8f3a Merge main into feature/patchright-integration 2025-05-13 16:33:57 +00:00
Rohit Malhotra 81c754ec65 [Fix]: Don't allow endpoint to modify conversation trigger (#8396) 2025-05-13 11:57:32 -04:00
Rohit Malhotra 880ec57c78 [Fix]: Status icon regression (#8427) 2025-05-13 11:43:35 -04:00
mamoodi e06aac7521 Remove unnecessary frontmatter from repo microagent (#8477) 2025-05-13 11:32:35 -04:00
Graham Neubig 60d9b519e0 Add proper typing to cli directory (#8374)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-13 09:55:44 -04:00
Graham Neubig 5ad11e73b8 Proposed update to resolver prompt (#8473) 2025-05-13 13:48:23 +00:00
Graham Neubig 3e5b16b348 Fix translation completeness issues (#8472)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-13 09:42:33 -04:00
Graham Neubig f3d0ae3fbf Add type annotations to local runtime implementation (#8376)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-13 09:42:07 -04:00
Engel Nyst dea3ddfcc6 Clean up codecov (#8465) 2025-05-13 14:51:47 +02:00
kotauchisunsun 31b2f3c9c2 [refactor]: Refactor sandbox configuration setup in IssueResolver class (#8414) 2025-05-13 13:37:15 +02:00
openhands a95e43fc03 Fix patchright integration tests and improve documentation 2025-05-13 11:30:02 +00:00
openhands c5f9910dc2 Fix test_patchright_import by importing playwright.sync_api after use_patchright() 2025-05-13 11:17:34 +00:00
openhands ca5df82804 Fix linting and test issues in patchright integration 2025-05-13 11:12:18 +00:00
openhands a4b8d08b2f Fix linting and test issues in patchright integration 2025-05-13 11:08:05 +00:00
omahs 4bb6ec2ee5 Fix typos (#8469) 2025-05-13 09:34:21 +00:00
Engel Nyst ae8ed49280 Make str_replace_editor description more clear (#8434) 2025-05-13 13:08:53 +07:00
mamoodi 786e21fb8a Add more run eval options (#8468) 2025-05-13 02:33:14 +00:00
Graham Neubig f317c03b1b Fix inconsistent max_iterations in SWE-bench evaluation (#8467)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-13 02:07:57 +00:00
Chase e72153629d fix #8424: change native_tool_calling semantics (#8463) 2025-05-12 19:21:51 -04:00
mamoodi b127d5f656 Add exc_info to remote runtime log (#8457) 2025-05-12 15:45:58 -05:00
tofarr f75fa50b80 Add number of connections to Conversation Info (#8456)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-12 13:57:52 -06:00
mamoodi 5a927c8651 Release 0.38.0 (#8446) 2025-05-12 15:41:14 -04:00
chuckbutkus 2693360ad0 Auth URL fix of on-prem (#8455) 2025-05-12 17:28:04 +00:00
sp.wack 1081f8091d improve(frontend): Changes tab status message logic (#8454) 2025-05-12 12:57:35 -04:00
sp.wack 8d0e5c6c34 hotfix: Don't handle git changes side effect too frequently (#8451) 2025-05-12 12:57:00 -04:00
Robert Brennan 0b897ff3dc Add 10px bottom padding to paragraph tags in markdown rendering (#8440)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-12 11:03:17 -04:00
Ryan H. Tran c5ace563c4 fix: remove duplicate rendering of tab components (#8442)
Co-authored-by: Xingyao Wang <xingyao@all-hands.dev>
2025-05-12 11:15:41 +00:00
Engel Nyst 9af132933c Fix log for clearing pending action to be at the same level (#8430) 2025-05-12 02:50:36 +02:00
Engel Nyst 10c56932af Fix: update pre-commit docs (#8433)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-12 02:13:33 +02:00
Robert Brennan e9905115c4 Allow websocket connection to pass in Authorization header to conversation validator (#8405)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-11 16:27:02 -04:00
Emmanuel Ferdman 6b11fff735 Resolve warnings of logger library (#8432)
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2025-05-11 15:29:53 +00:00
Xingyao Wang 3d02c0c3a3 Fix issue #8372: Implement browser screenshot saving functionality (#8383)
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: Graham Neubig <neubig@gmail.com>
2025-05-11 15:51:18 +08:00
kotauchisunsun a17c57d82e [refactor]: Refactored the initialization of issue_handler within IssueResolver (#8417)
Co-authored-by: Rohit Malhotra <rohitvinodmalhotra@gmail.com>
2025-05-10 21:27:06 -04:00
Muly Oved da637a0dad Update docker_runtime.py #8422 (#8423) 2025-05-11 00:08:14 +02:00
Polly 27c49471a8 Fix Bug #8425 - Enable prompt cache for OpenRouter model of calude-3.7-sonnet (#8426) 2025-05-11 00:07:31 +02:00
Robert Brennan bffe8de597 Add support for user/org level microagents (#8402)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-10 09:34:34 -04:00
OpenHands f0bb7de1c6 Fix issue #8145: Add docs about runtime tests (#8146) 2025-05-10 12:40:35 +02:00
Polly 90aab29bc0 Fix Issue #8413 max_output_tokens in openrouter/anthropic/claude-3.7-sonnet doesn't work correctly (#8415) 2025-05-10 08:29:39 +00:00
sp.wack ade059bfba feat/fix(fontend): Get public repos via repo URL (#8223)
Co-authored-by: Robert Brennan <accounts@rbren.io>
Co-authored-by: rohitvinodmalhotra@gmail.com <rohitvinodmalhotra@gmail.com>
2025-05-09 23:45:33 +00:00
Robert Brennan 5073cee7ff Add CODEOWNERS file (#8359)
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: sp.wack <83104063+amanape@users.noreply.github.com>
2025-05-09 21:54:46 +00:00
Rohit Malhotra dc4b06f96b [Docs]: fix param key for openhands api docs (#8399) 2025-05-09 19:11:51 +00:00
Graham Neubig b5dbf81179 Fix typing issues in openhands/llm directory (#8377)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-09 18:26:59 +00:00
Rohit Malhotra b50831d06c [Fix]: Check if existing store is None (#8398) 2025-05-09 18:13:59 +00:00
kotauchisunsun 46c735282a Update Development.md to install pycls correctly. (#8382) 2025-05-09 18:24:18 +02:00
Xingyao Wang 507c02e518 Fix browser tab not showing the most recent screenshot (#8389)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-09 11:45:29 -04:00
Robert Brennan 29f3e028e5 Move custom scripts docs (#8386)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-09 10:34:03 -04:00
openhands 72a13cc42d Add patchright to pyproject.toml and update Makefile to use it 2025-05-09 14:22:06 +00:00
openhands 728f8e239c Update Makefile to use patchright instead of playwright for Chromium installation 2025-05-09 14:20:09 +00:00
openhands 24c93478ac Add utility to use patchright as a drop-in replacement for playwright 2025-05-09 14:17:12 +00:00
Xingyao Wang f8faa28bb1 Fix issue #8369: Handle invalid arguments in model tool calls (#8370)
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
2025-05-09 22:11:05 +08:00
Xingyao Wang b6c5a7e854 fix(runtime): e.response attribute errors when run into httpx.NetworkError (#8371) 2025-05-09 07:50:32 -04:00
Xingyao Wang c805247574 fix(frontend): remove extra colon in token cost UI (#8379) 2025-05-09 19:15:04 +08:00
AutoLTX 3d68711ca3 Display context window usage status in UI (#8267) 2025-05-09 11:39:14 +08:00
Graham Neubig 7d356cad47 Add type annotations to CLI directory (#8291)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-09 01:25:02 +00:00
Graham Neubig 4c33b28dad Add type annotations to remote runtime implementation (#8337)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-08 20:23:34 -04:00
Graham Neubig 9d4d56d3be Add more extensive typing to server/routes files (#8336)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-08 20:23:10 -04:00
Graham Neubig 4ff43d1d99 Add claude-sonnet-latest to supported models lists (#8365)
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
2025-05-09 00:08:09 +00:00
Rohit Malhotra 6d1e1f75ae [Feat]: Support self hosted gitlab + enterprise github (#8274)
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: amanape <83104063+amanape@users.noreply.github.com>
2025-05-08 17:54:32 -04:00
Calvin Smith c982bc6692 updating web read tool description to explain masking (#8294)
Co-authored-by: Calvin Smith <calvin@all-hands.dev>
2025-05-08 15:44:21 -06:00
rbrugaro 3606ca87d5 [bug] add list support in setting attributes from env variables (#8295) 2025-05-08 22:03:23 +02:00
Engel Nyst 05f3840ca5 Fix openhands-resolver.yml (#8356) 2025-05-08 22:00:55 +02:00
mamoodi a87bb10bfc Update documentation again (#8362) 2025-05-08 15:56:04 -04:00
Neeraj Panwar b030594646 Fixing bug #8214 -ImportError During pip install --upgrade pip on Github Actions (#8229) 2025-05-08 18:07:52 +00:00
மனோஜ்குமார் பழனிச்சாமி 99a4717826 fix: retry if Connection Timed out (#8222) 2025-05-08 13:53:21 -04:00
Xingyao Wang 11f32d2465 fix(mcp): fix SSE MCP server connection & add tests (#8353)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-08 17:26:49 +00:00
Chase c6c94d979b Feature: Add custom agents via config (#8245) 2025-05-08 18:15:15 +02:00
sp.wack b06bd277ba fix(backend): Only get provider tokens from store if it exists (#8352)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-08 15:59:22 +00:00
dependabot[bot] d8dfc7735c chore(deps): bump the version-all group with 6 updates (#8354)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-08 17:28:42 +02:00
mamoodi 6f88ddb2ab Update documentation with updated information from releases (#8331) 2025-05-08 11:09:01 -04:00
tofarr 750b1f03b7 Now explicitly closing connections (#8351) 2025-05-08 14:01:48 +00:00
Ivan Dagelic e95c2bf521 chore: daytona runtime windows README.md and docs (#7396)
Signed-off-by: Ivan Dagelic <dagelic.ivan@gmail.com>
2025-05-08 08:51:39 -04:00
Bashwara Undupitiya 56651bb93c refactor: Update CLI mode documentation with commands and interactive features (#8303) 2025-05-08 08:23:20 -04:00
Xingyao Wang 13c9bff050 test: add MCP test test_fetch_mcp_via_stdio back in CI (#8344) 2025-05-08 00:08:58 -05:00
Graham Neubig 689d3c9046 Update pre-commit hook versions to most recent versions (#8343)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-08 03:59:13 +00:00
Graham Neubig d5a8d4251c Fix missing comma in hosts (#8345) 2025-05-07 21:54:15 -04:00
Xingyao Wang 087438eb3e docs: remove api_key section from doc (#8347) 2025-05-08 01:51:51 +00:00
Graham Neubig f2af1807e3 Add return type annotations to functions in runtime/utils directory (#8335)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-05-08 01:48:39 +00:00
487 changed files with 9390 additions and 4986 deletions
-19
View File
@@ -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
+11
View File
@@ -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
+1 -2
View File
@@ -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()
-4
View File
@@ -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 }}
+2 -10
View File
@@ -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
+6 -3
View File
@@ -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");
}
+1 -5
View File
@@ -48,11 +48,7 @@ jobs:
- 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 }}
run: poetry run pytest --forked -n auto -svv ./tests/unit
# Run specific Windows python tests
test-on-windows:
+8 -6
View File
@@ -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 \
+1 -6
View File
@@ -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.
Regular → Executable
View File
+19 -14
View File
@@ -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.38-nikolaik`
## Develop inside Docker container
+1 -6
View File
@@ -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**.
+8 -9
View File
@@ -154,21 +154,20 @@ install-python-dependencies:
fi
@if [ "${INSTALL_PLAYWRIGHT}" != "false" ] && [ "${INSTALL_PLAYWRIGHT}" != "0" ]; then \
if [ -f "/etc/manjaro-release" ]; then \
echo "$(BLUE)Detected Manjaro Linux. Installing Playwright dependencies...$(RESET)"; \
poetry run pip install playwright; \
poetry run playwright install chromium; \
echo "$(BLUE)Detected Manjaro Linux. Installing Patchright dependencies...$(RESET)"; \
poetry run patchright install chromium; \
else \
if [ ! -f cache/playwright_chromium_is_installed.txt ]; then \
echo "Running playwright install --with-deps chromium..."; \
poetry run playwright install --with-deps chromium; \
if [ ! -f cache/patchright_chromium_is_installed.txt ]; then \
echo "Installing patchright chromium..."; \
poetry run patchright install chromium; \
mkdir -p cache; \
touch cache/playwright_chromium_is_installed.txt; \
touch cache/patchright_chromium_is_installed.txt; \
else \
echo "Setup already done. Skipping playwright installation."; \
echo "Setup already done. Skipping patchright installation."; \
fi \
fi \
else \
echo "Skipping Playwright installation (INSTALL_PLAYWRIGHT=${INSTALL_PLAYWRIGHT})."; \
echo "Skipping Patchright installation (INSTALL_PLAYWRIGHT=${INSTALL_PLAYWRIGHT})."; \
fi
@echo "$(GREEN)Python dependencies installed successfully.$(RESET)"
+3 -10
View File
@@ -51,17 +51,17 @@ 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.38-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.38-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.38
```
You'll find OpenHands running at [http://localhost:3000](http://localhost:3000)!
@@ -99,13 +99,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
+5
View File
@@ -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
##############################################################################
+1 -1
View File
@@ -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.38-nikolaik}
- SANDBOX_USER_ID=${SANDBOX_USER_ID:-1234}
- WORKSPACE_MOUNT_PATH=${WORKSPACE_BASE:-$PWD/workspace}
ports:
+5 -5
View File
@@ -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:
+6
View File
@@ -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
View File
@@ -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.38-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:
+9 -14
View File
@@ -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
@@ -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.
@@ -4,12 +4,12 @@ Le Résolveur GitHub automatise les corrections de code et fournit une assistanc
## Configuration
Le Résolveur GitHub Cloud est disponible automatiquement lorsque vous
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
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)
@@ -30,4 +30,4 @@ Pour qu'OpenHands travaille sur des pull requests, utilisez `@openhands` dans le
OpenHands va :
1. Commenter la PR pour vous informer qu'il y travaille.
2. Effectuer la tâche.
2. Effectuer la tâche.
@@ -62,4 +62,4 @@ Lorsque vous utilisez votre compte GitLab, OpenHands aura automatiquement accès
- 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.
- 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
@@ -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.38-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.38 \
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é.
@@ -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)
@@ -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`
@@ -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.38-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.38 \
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.38-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.38-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.38
```
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).
@@ -26,4 +26,4 @@
### Navigateur
- Utilisé par OpenHands pour naviguer sur des sites web.
- Le navigateur n'est pas interactif.
- 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"
```
```
@@ -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/&lt;nom-du-modèle&gt;).
Si le modèle n'est pas dans la liste, activez les options `Advanced`, et saisissez-le dans `Custom Model` (par exemple vertex_ai/&lt;nom-du-modèle&gt;).
@@ -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.
@@ -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/&lt;nom-du-modèle&gt; (par exemple `openai/gpt-4o` ou openai/&lt;préfixe-proxy&gt;/&lt;nom-du-modèle&gt;)
- `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/&lt;nom-du-modèle&gt; 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
@@ -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)
@@ -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 |
@@ -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.
@@ -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)
@@ -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 !
@@ -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レスポンスを返します。
@@ -28,4 +28,4 @@ OpenHands Cloudにリポジトリアクセス権を付与した後、リポジ
OpenHandsは以下の操作を行います:
1. PRにコメントして、作業中であることを通知します。
2. タスクを実行します。
2. タスクを実行します。
@@ -62,4 +62,4 @@ GitLabアカウントを使用する場合、OpenHandsは自動的にあなた
- 会話リスト – 過去10日間に開始された最新10件の会話のみが表示されます。
- ワークスペース – 会話ワークスペースは14日間保持されます。
- ランタイム – ランタイムは30分間アクティブ(「ウォーム」)な状態を維持します。この期間後、会話を再開するには1〜2分かかる場合があります。
- ランタイム – ランタイムは30分間アクティブ(「ウォーム」)な状態を維持します。この期間後、会話を再開するには1〜2分かかる場合があります。
@@ -339,4 +339,4 @@ LLM(大規模言語モデル)設定オプションは、`config.toml`ファ
- `user_id`
- 型: `int`
- デフォルト: `1000`
- デフォルト: `1000`
@@ -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.38-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.38 \
python -m openhands.core.cli
```
このコマンドはDocker内で対話型セッションを開始し、タスクを入力してOpenHandsからの応答を受け取ることができます。
`-e SANDBOX_USER_ID=$(id -u)`はDockerコマンドに渡され、サンドボックスユーザーがホストユーザーの権限と一致するようにします。これにより、エージェントがマウントされたワークスペースにroot所有のファイルを作成するのを防ぎます。
`-e SANDBOX_USER_ID=$(id -u)`はDockerコマンドに渡され、サンドボックスユーザーがホストユーザーの権限と一致するようにします。これにより、エージェントがマウントされたワークスペースにroot所有のファイルを作成するのを防ぎます。
@@ -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*: セッション名(例:イベントストリーム名)
@@ -71,4 +71,4 @@ OpenHandsでの開発が初めての場合は、次の順序に従うことを
1. 関連するドキュメントが変更を反映するように更新されている
2. 新機能が適切なREADMEファイルに文書化されている
3. APIの変更がサーバードキュメントに反映されている
4. ドキュメントが`/docs/DOC_STYLE_GUIDE.md`のスタイルガイドに従っている
4. ドキュメントが`/docs/DOC_STYLE_GUIDE.md`のスタイルガイドに従っている
@@ -275,4 +275,4 @@ def codeact_user_response(state: State | None) -> str:
2. エージェントがユーザーとコミュニケーションを取ろうとした回数を確認する
3. エージェントが複数回試みた場合、諦めるオプションを提供する
この関数を使用することで、複数の評価実行にわたって一貫した動作を確保し、エージェントが人間の入力を待って立ち往生することを防ぐことができます。
この関数を使用することで、複数の評価実行にわたって一貫した動作を確保し、エージェントが人間の入力を待って立ち往生することを防ぐことができます。
@@ -48,4 +48,4 @@ GitHub resolverは、動作をカスタマイズするために有効な[リポ
| `OPENHANDS_MAX_ITER` | 変数 | エージェントの反復回数の最大制限を設定 | `OPENHANDS_MAX_ITER=10` |
| `OPENHANDS_MACRO` | 変数 | リゾルバーを呼び出すためのデフォルトマクロをカスタマイズ | `OPENHANDS_MACRO=@resolveit` |
| `OPENHANDS_BASE_CONTAINER_IMAGE` | 変数 | カスタムサンドボックス([詳細](https://docs.all-hands.dev/modules/usage/how-to/custom-sandbox-guide) | `OPENHANDS_BASE_CONTAINER_IMAGE="custom_image"` |
| `TARGET_BRANCH` | 変数 | `main`以外のブランチにマージ | `TARGET_BRANCH="dev"` |
| `TARGET_BRANCH` | 変数 | `main`以外のブランチにマージ | `TARGET_BRANCH="dev"` |
@@ -138,4 +138,4 @@ OpenHandsは提供された場合、自動的に`GITLAB_TOKEN`をシェル環境
- [プロンプティングのベストプラクティス](../prompting/prompting-best-practices)で説明されているように、最も正確で役立つ回答を得るために、リクエストを具体的にしてください。
- [LLMセクション](usage/llms/llms.md)で説明されているように、推奨モデルのいずれかを使用してください。
OpenHandsのGUIモードは、AIアシスタントとの対話をできるだけスムーズで直感的にするように設計されています。生産性を最大化するために、その機能を遠慮なく探索してください。
OpenHandsのGUIモードは、AIアシスタントとの対話をできるだけスムーズで直感的にするように設計されています。生産性を最大化するために、その機能を遠慮なく探索してください。
@@ -33,7 +33,7 @@ DockerでヘッドレスモードでOpenHandsを実行するには:
```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.38-nikolaik \
-e SANDBOX_USER_ID=$(id -u) \
-e SANDBOX_VOLUMES=$SANDBOX_VOLUMES \
-e LLM_API_KEY=$LLM_API_KEY \
@@ -43,7 +43,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.38 \
python -m openhands.core.main -t "write a bash script that prints hi"
```
@@ -55,4 +55,4 @@ docker run -it \
### 追加ログ
ヘッドレスモードですべてのエージェントアクションをログに記録するには、ターミナルで次のコマンドを実行します:`export LOG_ALL_EVENTS=true`
ヘッドレスモードですべてのエージェントアクションをログに記録するには、ターミナルで次のコマンドを実行します:`export LOG_ALL_EVENTS=true`
@@ -58,17 +58,17 @@ OpenHandsを実行するには、最新のプロセッサと最低**4GB RAM**を
OpenHandsを実行する最も簡単な方法は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.38-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.38-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.38
```
OpenHandsは http://localhost:3000 で実行されています!
@@ -117,4 +117,4 @@ SemVerを使用しているため、`0.9`は自動的に最新の`0.9.x`リリ
開発ワークフローについては、[Development.md](https://github.com/All-Hands-AI/OpenHands/blob/main/Development.md)を参照してください。
問題がありますか?[トラブルシューティングガイド](https://docs.all-hands.dev/modules/usage/troubleshooting)をご確認ください。
問題がありますか?[トラブルシューティングガイド](https://docs.all-hands.dev/modules/usage/troubleshooting)をご確認ください。
@@ -26,4 +26,4 @@
### ブラウザ
- OpenHandsがウェブサイトを閲覧するために使用します。
- このブラウザは非対話型です。
- このブラウザは非対話型です。
@@ -35,4 +35,4 @@ OpenHandsを実行する際、[docker runコマンド](../installation#running-o
```
LLM_API_VERSION="<api-version>" # 例: "2024-02-15-preview"
```
```
@@ -133,4 +133,4 @@ frequency_penalty = 0.0
:::note
カスタムLLM設定は、`main.py`または`cli.py`を介して開発モードでOpenHandsを使用する場合にのみ利用可能です。`docker run`を介して実行する場合は、標準の設定オプションを使用してください。
:::
:::
@@ -26,4 +26,4 @@ VERTEXAI_LOCATION="<あなたのgcpロケーション>"
その後、OpenHandsのUI設定で以下を設定します:
- `LLM Provider``VertexAI`に設定
- `LLM Model`を使用するモデルに設定
モデルがリストにない場合は、`Advanced`オプションを切り替えて、`Custom Model`に入力してください(例:vertex_ai/&lt;model-name&gt;)。
モデルがリストにない場合は、`Advanced`オプションを切り替えて、`Custom Model`に入力してください(例:vertex_ai/&lt;model-name&gt;)。
@@ -16,4 +16,4 @@ Groqのチャット完了エンドポイントは[ほぼOpenAI互換](https://co
2. 以下を設定する:
- `Custom Model`に接頭辞`openai/`と使用するモデル名を組み合わせて設定(例:`openai/llama3-70b-8192`
- `Base URL``https://api.groq.com/openai/v1`に設定
- `API Key`にGroq APIキーを設定
- `API Key`にGroq APIキーを設定
@@ -17,4 +17,4 @@ OpenHandsでLiteLLMプロキシを使用するには、以下の手順が必要
サポートされているモデルはLiteLLMプロキシの設定によって異なります。OpenHandsはLiteLLMプロキシが対応するように設定されているあらゆるモデルをサポートします。
利用可能なモデルとその名前のリストについては、LiteLLMプロキシの設定を参照してください。
利用可能なモデルとその名前のリストについては、LiteLLMプロキシの設定を参照してください。
@@ -89,4 +89,4 @@ num_retries = 4
retry_min_wait = 5
retry_max_wait = 30
retry_multiplier = 2
```
```
@@ -80,4 +80,4 @@ OpenHandsが実行されたら、設定を通じてOpenHands UIで以下を設
2. 以下を設定します:
- `Custom Model``openai/<served-model-name>`(例:`openai/openhands-lm-32b-v0.1`)に設定
- `Base URL``http://host.docker.internal:8000`に設定
- `API key`をモデル提供時に設定したのと同じ文字列(例:`mykey`)に設定
- `API key`をモデル提供時に設定したのと同じ文字列(例:`mykey`)に設定
@@ -22,4 +22,4 @@ OpenAIプロキシを使用している場合、OpenHandsのUI設定で:
2. 以下を設定する:
- `Custom Model`をopenai/&lt;model-name&gt;に設定(例:`openai/gpt-4o`またはopenai/&lt;proxy-prefix&gt;/&lt;model-name&gt;
- `Base URL`をOpenAIプロキシのURLに設定
- `API Key`をOpenAI APIキーに設定
- `API Key`をOpenAI APIキーに設定
@@ -9,4 +9,4 @@ OpenHandsを実行する際、設定画面から以下の項目を設定する
* `LLM Model`を使用するモデルに設定
[OpenRouterモデルの完全なリストはこちらで確認できます](https://openrouter.ai/models)。
モデルがリストにない場合は、`Advanced`オプションを切り替えて、`Custom Model`に入力してください(例:openrouter/&lt;model-name&gt; のように `openrouter/anthropic/claude-3.5-sonnet`)。
* `API Key`にOpenRouterのAPIキーを設定
* `API Key`にOpenRouterのAPIキーを設定
@@ -93,4 +93,4 @@ OpenHandsが起動すると、次のことが行われます:
1. OpenHandsは呼び出しを適切なMCPサーバーにルーティングする
2. サーバーはリクエストを処理し、レスポンスを返す
3. OpenHandsはレスポンスを観察結果に変換し、エージェントに提示する
3. OpenHandsはレスポンスを観察結果に変換し、エージェントに提示する
@@ -33,4 +33,4 @@ triggers:
ユーザーが魔法の言葉を言いました。「それはおいしかった!」と応答してください。
```
[公式OpenHandsリポジトリでキーワードによってトリガーされるマイクロエージェントの例を見る](https://github.com/All-Hands-AI/OpenHands/tree/main/microagents)
[公式OpenHandsリポジトリでキーワードによってトリガーされるマイクロエージェントの例を見る](https://github.com/All-Hands-AI/OpenHands/tree/main/microagents)
@@ -36,4 +36,4 @@ some-repository/
| マイクロエージェントの種類 | 必須 |
|--------------------------|------|
| `一般リポジトリマイクロエージェント` | いいえ |
| `キーワードトリガーマイクロエージェント` | はい |
| `キーワードトリガーマイクロエージェント` | はい |
@@ -47,4 +47,4 @@ OpenHandsへの貢献方法の具体的な手順については、[CONTRIBUTING.
- 新しいマイクロエージェントファイル。
- 必要に応じて更新されたドキュメント。
- エージェントの目的と機能の説明。
- エージェントの目的と機能の説明。
@@ -28,4 +28,4 @@
変更をコミットする前に、常にテストが合格していることを確認してください。`npm run test`を実行してテストを実行できます。
```
[一般リポジトリマイクロエージェントの詳細な例はこちらをご覧ください。](https://github.com/All-Hands-AI/OpenHands/tree/main/.openhands/microagents)
[一般リポジトリマイクロエージェントの詳細な例はこちらをご覧ください。](https://github.com/All-Hands-AI/OpenHands/tree/main/.openhands/microagents)
@@ -34,4 +34,4 @@ OpenHands AIソフトウェア開発者と連携する際、明確で効果的
プロンプトが正確で情報量が多いほど、OpenHandsはより良くサポートできます。
役立つプロンプトの例については、[OpenHandsの使い方](../getting-started)をご覧ください。
役立つプロンプトの例については、[OpenHandsの使い方](../getting-started)をご覧ください。

Some files were not shown because too many files have changed in this diff Show More