Last translated: 17 Jun 2025

Translation Not Available Yet

This repository's README hasn't been translated yet. Once translated, it will be easier to read and understand in your native language (ไธญๆ–‡).

After translating, add the links to README so others can view it directly.

Logo

OpenHands: ์ ๊ฒŒ ์ฝ”๋”ฉํ•˜๊ณ , ๋” ๋งŽ์ด ๋งŒ๋“ค๊ธฐ

AI ๊ธฐ๋ฐ˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์—์ด์ „ํŠธ ํ”Œ๋žซํผ์ธ OpenHands(์ด์ „ OpenDevin)์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

OpenHands ์—์ด์ „ํŠธ๋Š” ์ธ๊ฐ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ์ฝ”๋“œ ์ˆ˜์ •, ๋ช…๋ น ์‹คํ–‰, ์›น ๊ฒ€์ƒ‰, API ํ˜ธ์ถœ, ๊ทธ๋ฆฌ๊ณ  ๋„คโ€”StackOverflow์—์„œ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์„ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ docs.all-hands.dev์—์„œ ํ™•์ธํ•˜๊ฑฐ๋‚˜, ์‹œ์ž‘ํ•˜๋ ค๋ฉด OpenHands Cloud์— ๊ฐ€์ž…ํ•˜์„ธ์š”.

[!IMPORTANT] ์—…๋ฌด์— OpenHands๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”? ํ•จ๊ป˜ ์ด์•ผ๊ธฐํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค! ์ด ๊ฐ„๋‹จํ•œ ์–‘์‹์„ ์ž‘์„ฑํ•˜์—ฌ ๋””์ž์ธ ํŒŒํŠธ๋„ˆ ํ”„๋กœ๊ทธ๋žจ์— ์ฐธ์—ฌํ•˜์‹œ๋ฉด ์ƒ์šฉ ๊ธฐ๋Šฅ์„ ์กฐ๊ธฐ์— ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ์ œํ’ˆ ๋กœ๋“œ๋งต์— ๋Œ€ํ•œ ์˜๊ฒฌ์„ ์ œ๊ณตํ•  ๊ธฐํšŒ๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

์•ฑ ์Šคํฌ๋ฆฐ์ƒท

โ˜๏ธ OpenHands Cloud

OpenHands๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ OpenHands Cloud๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹ ๊ทœ ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” $50 ์ƒ๋‹น์˜ ๋ฌด๋ฃŒ ํฌ๋ ˆ๋”ง์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

๐Ÿ’ป ๋กœ์ปฌ์—์„œ OpenHands ์‹คํ–‰ํ•˜๊ธฐ

OpenHands๋Š” Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ ์‹œ์Šคํ…œ์—์„œ๋„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ ๋ฐ ์ž์„ธํ•œ ์ •๋ณด๋Š” OpenHands ์‹คํ–‰ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

[!WARNING] ๊ณต๊ฐœ ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉ ์ค‘์ด์‹ ๊ฐ€์š”? ๊ฐ•ํ™”๋œ Docker ์„ค์น˜ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ๋ฐ”์ธ๋”ฉ ์ œํ•œ ๋ฐ ์ถ”๊ฐ€ ๋ณด์•ˆ ์กฐ์น˜๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๋ฐฐํฌ๋ฅผ ๋ณดํ˜ธํ•˜์„ธ์š”.

docker pull docker.all-hands.dev/all-hands-ai/runtime:0.44-nikolaik

docker run -it --rm --pull=always \
    -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.44-nikolaik \
    -e LOG_ALL_EVENTS=true \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v ~/.openhands:/.openhands \
    -p 3000:3000 \
    --add-host host.docker.internal:host-gateway \
    --name openhands-app \
    docker.all-hands.dev/all-hands-ai/openhands:0.44

์ฐธ๊ณ : ๋ฒ„์ „ 0.44 ์ด์ „์˜ OpenHands๋ฅผ ์‚ฌ์šฉํ•˜์…จ๋‹ค๋ฉด, ๋Œ€ํ™” ๊ธฐ๋ก์„ ์ƒˆ ์œ„์น˜๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ธฐ ์œ„ํ•ด mv ~/.openhands-state ~/.openhands ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OpenHands๋Š” http://localhost:3000์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค!

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—ด๋ฉด LLM ์ œ๊ณต์ž๋ฅผ ์„ ํƒํ•˜๊ณ  API ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Anthropic์˜ Claude Sonnet 4(anthropic/claude-sonnet-4-20250514)๊ฐ€ ๊ฐ€์žฅ ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ, ๋‹ค์–‘ํ•œ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก OpenHands๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋“ค

[!CAUTION] OpenHands๋Š” ๋กœ์ปฌ ์›Œํฌ์Šคํ…Œ์ด์…˜์—์„œ ๋‹จ์ผ ์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์ผํ•œ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋‹ค์ค‘ ํ…Œ๋„ŒํŠธ ๋ฐฐํฌ์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚ด์žฅ๋œ ์ธ์ฆ, ๊ฒฉ๋ฆฌ ๋˜๋Š” ํ™•์žฅ์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค์ค‘ ํ…Œ๋„ŒํŠธ ํ™˜๊ฒฝ์—์„œ OpenHands๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ์œผ์‹œ๋ฉด, ๊ณ ๊ธ‰ ๋ฐฐํฌ ์˜ต์…˜์„ ์œ„ํ•ด ์ €ํฌ์—๊ฒŒ ์—ฐ๋ฝ์ฃผ์„ธ์š”.

๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์— OpenHands ์—ฐ๊ฒฐ, ์Šคํฌ๋ฆฝํŠธ ๊ฐ€๋Šฅํ•œ ํ—ค๋“œ๋ฆฌ์Šค ๋ชจ๋“œ๋กœ ์‹คํ–‰, ์นœ์ˆ™ํ•œ CLI๋ฅผ ํ†ตํ•ด ์ƒํ˜ธ ์ž‘์šฉ, ๋˜๋Š” GitHub ์•ก์…˜์œผ๋กœ ํƒœ๊ทธ๋œ ์ด์Šˆ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ์ •๋ณด ๋ฐ ์„ค์ • ์ง€์นจ์€ OpenHands ์‹คํ–‰์„ ์ฐธ์กฐํ•˜์„ธ์š”.

OpenHands ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋ ค๋ฉด Development.md๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

๋ฌธ์ œ๊ฐ€ ์žˆ์œผ์‹ ๊ฐ€์š”? ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ฐ€์ด๋“œ๊ฐ€ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“– ๋ฌธ์„œ

Ask DeepWiki

ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด์™€ OpenHands ์‚ฌ์šฉ ํŒ์€ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

๋‹ค์–‘ํ•œ LLM ์ œ๊ณต์ž ์‚ฌ์šฉ ๋ฐฉ๋ฒ•, ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฆฌ์†Œ์Šค ๋ฐ ๊ณ ๊ธ‰ ๊ตฌ์„ฑ ์˜ต์…˜์— ๋Œ€ํ•œ ์ž๋ฃŒ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿค ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฐธ์—ฌ ๋ฐฉ๋ฒ•

OpenHands๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฃผ๋„ ํ”„๋กœ์ ํŠธ์ด๋ฉฐ, ๋ชจ๋“  ๋ถ„๋“ค์˜ ๊ธฐ์—ฌ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์€ Slack์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง€๋ฏ€๋กœ, ์—ฌ๊ธฐ๊ฐ€ ์‹œ์ž‘ํ•˜๊ธฐ์— ๊ฐ€์žฅ ์ข‹์€ ์žฅ์†Œ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Discord๋‚˜ Github์—์„œ๋„ ์—ฐ๋ฝ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค:

์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ COMMUNITY.md์—์„œ ํ™•์ธํ•˜๊ฑฐ๋‚˜, ๊ธฐ์—ฌ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์‚ฌํ•ญ์€ CONTRIBUTING.md์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ˆ ์ง„ํ–‰ ์ƒํ™ฉ

์›”๋ณ„ OpenHands ๋กœ๋“œ๋งต์€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•˜์„ธ์š”(๋งค์›” ๋ง ์œ ์ง€ ๊ด€๋ฆฌ์ž ํšŒ์˜์—์„œ ์—…๋ฐ์ดํŠธ๋จ).

Star History Chart

๐Ÿ“œ ๋ผ์ด์„ ์Šค

MIT ๋ผ์ด์„ ์Šค๋กœ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿ™ ๊ฐ์‚ฌ์˜ ๋ง

OpenHands๋Š” ๋งŽ์€ ๊ธฐ์—ฌ์ž๋“ค์— ์˜ํ•ด ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ, ๋ชจ๋“  ๊ธฐ์—ฌ์— ๊นŠ์€ ๊ฐ์‚ฌ๋ฅผ ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ๋˜ํ•œ ๋‹ค๋ฅธ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ, ๊ทธ๋“ค์˜ ์ž‘์—…์— ๋Œ€ํ•ด ๊นŠ์ด ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

OpenHands์—์„œ ์‚ฌ์šฉ๋œ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ ๋ฐ ๋ผ์ด์„ ์Šค ๋ชฉ๋ก์€ 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},
}