Skip to content

The New Computer Update

Pre-release
Pre-release
Compare
Choose a tag to compare
@KillianLucas KillianLucas released this 05 Jan 04:49
· 578 commits to main since this release
54bf90f

● The New Computer Update

This is the most significant upgrade to Open Interpreter since 0.1.0. Almost every component has been rewritten to support our project's objective—building a standard interface between language models and computers.

Note: This update is not backwards compatible. If you use Open Interpreter in Python, please read our migration guide.

1. The Computer API

In 2023, Open Interpreter started building the world's first real-time code execution environment for language models.

Now, we're creating an API for language models to use in that environment, starting with basic I/O controls like display, mouse, and keyboard:

computer.display.view() # Returns a screenshot to vision models

computer.mouse.click("On-screen text") # Locates text on-screen and clicks it
computer.mouse.move(icon="Description of icon") # Locates icon on-screen and hovers over it

computer.clipboard.view() # Returns the contents of the user's clipboard

# Full reference: https://docs.openinterpreter.com/computer-api/reference

We are also launching a free preview of the hosted tools that power computer.mouse at api.openinterpreter.com.

2. OS Mode

You can instruct Open Interpreter to use the Computer API to control your computer graphically:

interpreter --os

Even local vision models running via .llamafile, LM-Studio, or Jan.ai are supported.

3. LMC Messages

To support the incoming Language Model Computer architecture, the new messaging format that powers Open Interpreter extends OpenAI's messages format to include additional information, and a new role called computer:

[
  {
    "role": "assistant",
    "type": "code",
    "format": "python",
    "content": "plot = create_plot_from_data('data')\ndisplay_as_image(plot)\ndisplay_as_html(plot)"
  },
  {
    "role": "computer",
    "type": "image",
    "format": "base64.png",
    "content": "base64"
  },
  {
    "role": "assistant",
    "type": "message",
    "content": "Plot generated successfully."
  }
]

Read about LMC Messages here.

And more...

In addition to these major updates, 0.2.0 comes with a suite of fixes and enhancement from our growing open-source community:

  • Fixes crash UnboundLocalError active_block by @CyanideByte in #818
  • Inserts dummy api key if missing by @CyanideByte in #808
  • Fix README_JA.md by @tegnike in #810
  • return empty dict if config file is empty by @sbendary25 in #811
  • Add pyautogui mouse click functions and parameters by @Arrendy in #843
  • Fixed the error when using Azure OpenAI API by @wsbao in #840
  • Add package mismatches info to system_debug_info by @tegnike in #800
  • Update keyboard control functions for better input handling by @Arrendy in #845
  • implement mouse position function by @Arrendy in #850
  • Fixed another a few bugs in using OpenAI API/Azure OpenAI API/OpenAI compatible custom API by @wsbao in #848
  • Added new docs for litellm hosted models by @tyfiero in #858
  • Added refreshed docs for terminal arguments and python streaming responses by @tyfiero in #864
  • Add os docs by @tyfiero in #868
  • Fixed the case where UnicodeDecodeError by @Moonlight-YS in #863

New Contributors

Full Changelog: v0.1.17...v0.2.0

This is only the beginning. Happy 2024. ●