mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-26 05:48:36 +08:00
1 line
5.9 KiB
JavaScript
1 line
5.9 KiB
JavaScript
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9303],{2560:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var i=t(4848),o=t(8453);const s={sidebar_position:1},r="\ud83d\udcbb OpenDevin",a={id:"usage/intro",title:"\ud83d\udcbb OpenDevin",description:"OpenDevin is an autonomous AI software engineer capable of executing complex engineering tasks and collaborating actively with users on software development projects.",source:"@site/docs/usage/intro.mdx",sourceDirName:"usage",slug:"/usage/intro",permalink:"/OpenDevin/docs/usage/intro",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"docsSidebar",next:{title:"\ud83e\udd16 LLM Backends",permalink:"/OpenDevin/docs/usage/llms/"}},d={},c=[{value:"\ud83d\udee0\ufe0f Getting Started",id:"\ufe0f-getting-started",level:2}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",strong:"strong",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"-opendevin",children:"\ud83d\udcbb OpenDevin"}),"\n",(0,i.jsxs)(n.p,{children:["OpenDevin is an ",(0,i.jsx)(n.strong,{children:"autonomous AI software engineer"})," capable of executing complex engineering tasks and collaborating actively with users on software development projects.\nThis project is fully open-source, so you can use and modify it however you like."]}),"\n",(0,i.jsxs)(n.admonition,{type:"tip",children:[(0,i.jsxs)(n.p,{children:["Explore the codebase of OpenDevin on ",(0,i.jsx)(n.a,{href:"https://github.com/OpenDevin/OpenDevin",children:"GitHub"})," or join one of our communities!"]}),(0,i.jsx)("a",{href:"https://github.com/OpenDevin/OpenDevin/graphs/contributors",children:(0,i.jsx)("img",{src:"https://img.shields.io/github/contributors/opendevin/opendevin?style=for-the-badge",alt:"Contributors"})}),(0,i.jsx)("a",{href:"https://github.com/OpenDevin/OpenDevin/network/members",children:(0,i.jsx)("img",{src:"https://img.shields.io/github/forks/opendevin/opendevin?style=for-the-badge",alt:"Forks"})}),(0,i.jsx)("a",{href:"https://github.com/OpenDevin/OpenDevin/stargazers",children:(0,i.jsx)("img",{src:"https://img.shields.io/github/stars/opendevin/opendevin?style=for-the-badge",alt:"Stargazers"})}),(0,i.jsx)("a",{href:"https://github.com/OpenDevin/OpenDevin/issues",children:(0,i.jsx)("img",{src:"https://img.shields.io/github/issues/opendevin/opendevin?style=for-the-badge",alt:"Issues"})}),(0,i.jsx)("br",{}),(0,i.jsx)("a",{href:"https://github.com/OpenDevin/OpenDevin/blob/main/LICENSE",children:(0,i.jsx)("img",{src:"https://img.shields.io/github/license/opendevin/opendevin?style=for-the-badge",alt:"MIT License"})}),(0,i.jsx)("br",{}),(0,i.jsx)("a",{href:"https://join.slack.com/t/opendevin/shared_invite/zt-2etftj1dd-X1fDL2PYIVpsmJZkqEYANw",children:(0,i.jsx)("img",{src:"https://img.shields.io/badge/Slack-Join%20Us-red?logo=slack&logoColor=white&style=for-the-badge",alt:"Join our Slack community"})}),(0,i.jsx)("a",{href:"https://discord.gg/mBuDGRzzES",children:(0,i.jsx)("img",{src:"https://img.shields.io/badge/Discord-Join%20Us-purple?logo=discord&logoColor=white&style=for-the-badge",alt:"Join our Discord community"})})]}),"\n",(0,i.jsx)(n.h2,{id:"\ufe0f-getting-started",children:"\ud83d\udee0\ufe0f Getting Started"}),"\n",(0,i.jsx)(n.p,{children:"The easiest way to run OpenDevin is inside a Docker container."}),"\n",(0,i.jsxs)(n.p,{children:["To start the app, run these commands, replacing ",(0,i.jsx)(n.code,{children:"$(pwd)/workspace"})," with the path to the code you want OpenDevin to work with."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:'# Your OpenAI API key, or any other LLM API key\nexport LLM_API_KEY="sk-..."\n'})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"# The directory you want OpenDevin to modify.\n# MUST be an absolute path!\nexport WORKSPACE_BASE=$(pwd)/workspace\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"OpenDevin runs bash commands within a Docker sandbox, so it should not affect your machine. But your workspace directory will be attached to that sandbox, and files in the directory may be modified or deleted."})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"docker run \\\n -e LLM_API_KEY \\\n -e WORKSPACE_MOUNT_PATH=$WORKSPACE_BASE \\\n -v $WORKSPACE_BASE:/opt/workspace_base \\\n -v /var/run/docker.sock:/var/run/docker.sock \\\n -p 3000:3000 \\\n --add-host host.docker.internal=host-gateway \\\n ghcr.io/opendevin/opendevin:0.4.0\n"})}),"\n",(0,i.jsxs)(n.p,{children:["You'll find opendevin running at ",(0,i.jsx)(n.a,{href:"http://localhost:3000",children:"http://localhost:3000"}),"."]}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["If you want to use the ",(0,i.jsx)(n.strong,{children:"(unstable!)"})," bleeding edge, you can use ",(0,i.jsx)(n.code,{children:"ghcr.io/opendevin/opendevin:main"})," as the image (last line)."]})}),"\n",(0,i.jsx)(n.p,{children:"See Development.md for instructions on running OpenDevin without Docker."}),"\n",(0,i.jsx)(n.p,{children:"Having trouble? Check out our Troubleshooting Guide."}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"OpenDevin is currently a work in progress, but you can already run the alpha version to see the end-to-end system in action."})})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var i=t(6540);const o={},s=i.createContext(o);function r(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); |