You can build your own custom hardware that uses the 01 server.
You can create custom hardware that integrates with the O1 server software running on your computer.
To use 01 with your custom hardware, run the server:
@ -14,3 +14,70 @@ poetry run 01 --server
You may need to set additional parameters via [flags](/software/flags) depending on your setup.
To transmit audio commands to 01, send LMC audio chunks to the websocket defined by your server.
## LMC Messages
To support the incoming `L`anguage `M`odel `C`omputer architecture, we extend OpenAI's messages format to include additional information, and a new role called `computer`:
| console | active_line | The active line of code (from the most recent code block) that's executing. | `computer` |
| console | output | Text output resulting from `print()` statements in Python, `console.log()` statements in Javascript, etc. **This includes errors.** | `computer` |
| image | base64 | A `base64` image in PNG format (default) | `user`, `computer` |
| image | base64.png | A `base64` image in PNG format | `user`, `computer` |
| image | base64.jpeg | A `base64` image in JPEG format | `user`, `computer` |
| image | path | A path to an image. | `user`, `computer` |
| code | html | HTML code that should be executed. | `assistant`, `computer` |
| code | javascript | JavaScript code that should be executed. | `assistant`, `computer` |
| code | python | Python code that should be executed. | `assistant` |
| code | r | R code that should be executed. | `assistant` |
| code | applescript | AppleScript code that should be executed. | `assistant` |
| code | shell | Shell code that should be executed. | `assistant` |
| audio | wav | audio in wav format for websocket. | `user` |