New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature]: Support uploading/downloading file through front-end #1379
Comments
For the technical implementation, it may be worth exploring the Clipboard API, FileReader, and drag event listeners as a starting point. It may be as straightforward as extending the backend endpoints to accept filename and content to update workspace. It is also worth noting that the implementation may also slightly depend on the target platform, which is currently self-hosted. It will require additional considerations if OpenDevin were, for example, accessible online via URL. |
Currently, our We may need to support copying from [inside the container] to the [host] to be able to download from workspace. If OpenDevin were hosted via URL, as long as the sandbox supports this |
I was actually referring to extending files.py based on a quick trace from how the current frontend file explorer. But I'm not all too familiar with the backend implementation to know how the agent will be aware of this change, so I may be lacking.
I meant the actual APIs that would be utilized on the frontend. If I remember correctly, it requires less permissions/effort to copy/paste/drag to an Electron application compared to a Safari browser. But that was a while back. |
I am confused on the requirements of the download feature. What exactly do we want the user to download and what format should the expect it in? If the workspace is already local and on the users filesystem, what scenarios would the user want to "download"? CC: @xingyaoww @neubig |
I am actually imagining something like the VSCode front-end, where the user could just right-click, select one file, and then download. Or the user could select an entire folder, and download it as a zip. But I guess if it is easier to implement this directly by plugging in a web vscode interface - we could just go through that route for more fine-grained download support and just support downloading the entire workspace as a zip on our existing frontend. WDYT? |
Yes, we can make a custom right-click context menu to contain the download action, it is a good idea.
Personally I am not familiar with any web vscode interface, and don't think one exists (directly). So I am not exactly sure how you're imagining this setup. |
For VSCode web, i'm refering to something like this: https://github.com/coder/code-server |
What problem or use case are you trying to solve?
Support uploading and downloading files through the front end. This will allow the agent to perform data analytics tasks by looking at user-uploaded content (e.g., CSV, excel, or even a zip file, etc.).
Describe the UX of the solution you'd like
workspace
by simply dragging files to the workspace in UI or adding a button for uploading.Do you have thoughts on the technical implementation?
Describe alternatives you've considered
Having user directly modify the mounted workspace folder on their disk - this is probably not a good user experience as the user need to switch back-and-forth.
Additional context
The text was updated successfully, but these errors were encountered: