OpenHands
OpenHands copied to clipboard
"solve github issue" workflow
What problem or use case are you trying to solve?
It would be nice if we could easily point OpenDevin at a github issue and have it resolve that issue.
Describe the UX of the solution you'd like
We could write
Please resolve this issue: https://github.com/OpenDevin/OpenDevin/pull/1065
OpenDevin would resolve the issue, and then optionally open a PR to resolve the issue.
Do you have thoughts on the technical implementation?
Currently this does not work in OpenDevin, partly due to limited web browsing capability. In addition, there is not an easy way to specify a github token to open a pull request.
Additional context
SWE-Agent has implemented this workflow, and it may serve as a good reference: https://github.com/princeton-nlp/SWE-agent?tab=readme-ov-file#-quickstart-solve-real-life-github-issues-
I was waiting for it so it would be awesome. We might need to put AutoCodeRover and SWE-Agent inside.
Hi @foragerr , I think you started working on this at some point, right? I was looking for the PR that you opened but wasn't able to find it.
@neubig Instructions here: https://github.com/OpenDevin/OpenDevin/issues/198#issuecomment-2040890496
tl;dr : add a label dogfood-this
to any issue in this repo, it will kick off an Actions workflow to run the Monologue agent and attempt to raise a PR.
PR here: https://github.com/OpenDevin/OpenDevin/pull/803
I don't recall if @rbren got around to adding an openAI key into repo secrets.
Ah, that's great. It'd also be nice if we could achieve the UX that I posted above though, just say through the normal UI "fix this issue" linked to a GitHub issue and have opendevin fix it.
Do you know if web browsing (via playwright?) works now? Being able to access web content is necessary for the workflow you're describing.
Thanks @foragerr, it probably is not, in which case it will need to be fixed. I actually suspect that we'll have to open/close several sub-issues to make this workflow work. Please feel free to open an issue and link it here! (or I can do it later)
I'm looking into this.
@foragerr FYI: https://github.com/OpenDevin/OpenDevin/actions/runs/8685542945/job/23815222805
Looks like we'll need to figure out the sandbox. I know in CircleCI there's a way to access a docker daemon, not sure about GitHub
GiHub actions does docker, SSHBox is new since I last worked on this, there maybe some networking differences preventing the SSH connection.
I'll take a look.
Splitting issue with existing workflow into a separate issue: https://github.com/OpenDevin/OpenDevin/issues/1150
This seems to currently be blocked by our browser not working: https://github.com/OpenDevin/OpenDevin/issues/1276
The first step to resolving github issues is understanding them, and if OpenDevin cannot browse to issues, then it can't fix them.
@neubig could we use the GitHub API? That might be easier (for the agent) than using browse
Yeah, I think that is a better option