SmartManoj / Kevin

⚑ Kevin: Code Quick, Create Fast
MIT License
7 stars 0 forks source link

The easiest way to run Kevin is to Open in GitHub Codespaces πŸ”₯πŸ”₯πŸ”₯

The vision is to leverage SLMs effectively and work towards solving most of the issues on the SWE-Bench Lite evaluation.

Sample Examples using groq/llama3-8b-8192

1) Create an application in flask that can convert AWS cloudformation stack format from json to yaml and use curl to test ; don't do anything extra please. Event history link

SWE-Bench Verified Results:

ID: astropy__astropy-12907

gemini-1.5-pro-latest event history link

gemini-1.5-flash-latest event history link

ID: sympy__sympy-22714 openai/nvidia/llama-3.1-nemotron-70b-instruct

Remaining using gemini/gemini-1.5-pro-002 is mentioned in evaluation\swe_bench\status.json

Kevin Changelogs:

Oct 2, 2024: Added EC2 Runtime

1) Added Auto Mode πŸ”₯πŸ”₯πŸ”₯ 2) Restarted Jupyter kernel if package installed via bash too πŸ‘ 3) Cleaned Browser Observattions 🧹 4) Showed relevant error in UI 🚨 5) Added Event History Condenser πŸ“œ 6) Feat: Persist sandbox for Event Runtime πŸ₯³πŸ₯³ 7) Parsed pip output and restarted kernel automatically (for bash too) πŸ“¦ 8) Added editable address bar in browser tab 🌐 9) Include workspace contents if any at first step only. πŸ“‚ 10) Add start and kill modes in Makefile πŸ“³ 11) Process interactive commands and stream output in logs πŸ“œ 12) Use execute tags for browsing agent too 🏷️ 13) Feat: Regenerate message πŸ”„ 14) Feat: Editable Notebook πŸ“ 15) Feat: Add docker to sandbox 🐳 16) UI: Enable right click to paste in terminal πŸ–±οΈ 17) Added override UI settings configuration πŸ› οΈ 18) UI: Show Step Count πŸ“Š 19) Import the event history upto specific steps πŸ“œ 20) Add litellm caching πŸ“¦

Bug Fixes:

1) Fixed GroqException - content must be a string for role system & assisstant πŸ› οΈ 2) Fixed GroqException - condense' is unsupported πŸ› οΈ 3) Clear history when starting a new task 🧹 4) Add miniforge path to synchronize bash and notebook πŸ›£οΈ 5) Fixed frontend terminal prompt πŸ› οΈ 6) Set TERM variable in bash πŸ› οΈ

Minor Changes:

1) Notify after task is finished πŸ“’

Separate Feature Branches:

1) Added Tutor Agent πŸ§‘β€πŸ«

Logo

Kevin: Code Quick, Create Fast

Contributors Stargazers CodeCov MIT License
Join our Slack community Join our Discord community Credits
Check out the documentation Paper on Arxiv Evaluation Benchmark Score

Welcome to Kevin a fork of OpenHands (formerly OpenDevin), a platform for software development agents powered by AI.

Kevin can do anything a human developer can: modify code, run commands, browse the web, call APIs, and yesβ€”even copy code snippets from StackOverflow.

Learn more at docs.all-hands.dev, or jump to the Quick Start.

App screenshot

⚑ Quick Start

The easiest way to run OpenHands is in Docker. See the Installation guide for system requirements and more information.

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

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

You'll find OpenHands running at http://localhost:3000!

Finally, you'll need a model provider and API key. Anthropic's Claude 3.5 Sonnet (anthropic/claude-3-5-sonnet-20241022) works best, but you have many options.


You can also connect OpenHands to your local filesystem, run OpenHands in a scriptable headless mode, interact with it via a friendly CLI, or run it on tagged issues with a github action.

Visit Installation for more information and setup instructions.

If you want to modify the Kevin source code, check out Development.md.

Having issues? The Troubleshooting Guide can help.

πŸ“– Documentation

To learn more about the project, and for tips on using OpenHands, check out our documentation.

There you'll find resources on how to use different LLM providers, troubleshooting resources, and advanced configuration options.

🀝 How to Join the Community

OpenHands is a community-driven project, and we welcome contributions from everyone. We do most of our communication through Slack, so this is the best place to start, but we also are happy to have you contact us on Discord or Github:

See more about the community in COMMUNITY.md or find details on contributing in CONTRIBUTING.md.

πŸ“ˆ Progress

See the monthly OpenHands roadmap here (updated at the maintainer's meeting at the end of each month).

Star History Chart

πŸ“œ License

Distributed under the MIT License. See LICENSE for more information.

πŸ™ Acknowledgements

OpenHands is built by a large number of contributors, and every contribution is greatly appreciated! We also build upon other open source projects, and we are deeply thankful for their work.

For a list of open source projects and licenses used in OpenHands, please see our CREDITS.md file.

πŸ“š Cite

@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},
}