open-interpreter icon indicating copy to clipboard operation
open-interpreter copied to clipboard

Mail interaction instead of console

Open stevenbaert opened this issue 1 year ago • 2 comments

Is your feature request related to a problem? Please describe.

Hi,

I absolutely love this project! I had an idea to take it further, allowing Open Interpreter to be instructed remotely, even while on the go.

The concept is to give initial instructions via email. A scheduled task could monitor a designated mailbox for emails from a specific sender (or even with a specific subject). Once an email is received, it reads the content as a command for Open Interpreter, which will execute in -y mode.

If Open Interpreter needs clarification or encounters any questions, it will respond via email, including a unique #ID in the subject for easy tracking. The entire exchange could then proceed seamlessly over email.

For example, I could send an email saying, "Pull this GitHub URL, read the instructions, and execute the code in Conda," and the log file could be attached in the response email.

This would offer an efficient way to manage tasks while traveling or away from the terminal. Any suggestions howto approach?

Kind regards, Steven

Describe the solution you'd like

Mail back and forth to open-interpreter

Describe alternatives you've considered

No response

Additional context

No response

stevenbaert avatar Oct 15 '24 17:10 stevenbaert

I love the creativity but this is a very dangerous approach so a lot of thought will be needed to do this safely. Emails can be sent from anyone with malicious instructions. I suggest you look into the 01 repo for ideas how to do remote operation

MikeBirdTech avatar Oct 15 '24 18:10 MikeBirdTech

Thanks. Though don't see security risk when checking/filtering on specific sender being my mailadres. If somebody is able to send out of my mailbox then I have a bigger problem 😁

Why specifically the 01 repo? Draft approach:

  • Check for Emails: Use imaplib to search emails from myname@mydomain with the subject "Interpreter."

  • Start Interpreter Session: Use the entire email content as the input for interpreter.chat().

  • Use messages to store and continue conversations

  • Log Questions: Log the email content, assign a unique ID, and store it in a CSV file with timestamps.

  • Send Email Response: Email the sender with the question's unique ID.

  • Scheduled Task: Automate the checking for new emails using schedule or system-level schedulers.

  • Handle Replies: Match replies by parsing the subject for the corresponding question ID.

stevenbaert avatar Oct 15 '24 20:10 stevenbaert