We want to help you build. [Apply for 1-on-1 support.](https://0ggfznkwh4j.typeform.com/to/kkStE8WF)
<br>
The **01** is an open-source platform for intelligent devices, inspired by the *Rabbit R1* and *Star Trek* computer. Powered by [Open Interpreter](https://github.com/OpenInterpreter/open-interpreter), it enables natural language control over your digital environment.
> [!IMPORTANT]
> This experimental project is under rapid development and lacks basic safeguards. Until a stable `1.0` release, only run this repository on devices without sensitive information or access to paid services.
<br>
> This experimental project is under rapid development and lacks basic safeguards. Until a stable `1.0` release, only run this on devices without sensitive information or access to paid services.
The **01** is an open-source platform for conversational devices, inspired by the *Rabbit R1* and *Star Trek* computer.
By centering this project on [Open Interpreter](https://github.com/OpenInterpreter/open-interpreter), the **01** is more natural, flexible, and capable than its predecessors. Assistants built from this repository can:
## Key Capabilities
- Execute code
- Browse the web
- Read and create files
- Manage files
- Control third-party software
- ...
<br>
We intend to become the GNU/Linux of this new space by staying open, modular, and free.
<br>
# Software
```shell
git clone https://github.com/OpenInterpreter/01
cd 01/software
```
> Not working? Read the [setup docs](https://01.openinterpreter.com/software/introduction).
```shell
brew install ffmpeg # mac only. windows and linux instructions below
poetry install
poetry run 01
```
<!-- > For a Windows installation, read our [setup guide](https://docs.openinterpreter.com/getting-started/setup#windows). -->
<br>
**Note:** The [RealtimeSTT](https://github.com/KoljaB/RealtimeSTT) and [RealtimeTTS](https://github.com/KoljaB/RealtimeTTS) libraries at the heart of the 01 are the work of [Kolja Beigel](https://github.com/KoljaB). Please star those repositories and consider contributing to those projects!
# Hardware
The **01** is also a hub for hardware devices that run or connect to our software.
- Mac, Windows, and Linux are supported by running `poetry run 01`. This starts the [01 server](https://01.openinterpreter.com/software/run) and a client that uses your `ctrl` key to simulate the 01 light.
- We have an Android and iOS application under development [here](software/source/clients/mobile).
- The 01 light is an ESP32-based, push-to-talk voice interface. Build documentation is [here.](https://01.openinterpreter.com/hardware/01-light/materials)
- It works by connecting to the [01 server](https://01.openinterpreter.com/software/run).
<br>
**We need your help supporting & building more hardware.** The 01 should be able to run on any device with input (microphone, keyboard, etc.), output (speakers, screens, motors, etc.), and an internet connection (or sufficient compute to run everything locally). [Contribution Guide ↗️](https://github.com/OpenInterpreter/01/blob/main/CONTRIBUTING.md)
<br>
# What does it do?
The 01 exposes a speech-to-speech websocket at `localhost:10101`.
If you stream raw audio bytes to `/` in [Streaming LMC format](https://docs.openinterpreter.com/guides/streaming-response), you will receive its response in the same format.
Inspired in part by [Andrej Karpathy's LLM OS](https://twitter.com/karpathy/status/1723140519554105733), we run a [code-interpreting language model](https://github.com/OpenInterpreter/open-interpreter), and call it when certain events occur at your computer's [kernel](https://github.com/OpenInterpreter/01/blob/main/software/source/server/utils/kernel.py).
To communicate with different components of this system, we introduce [LMC Messages](https://docs.openinterpreter.com/protocols/lmc-messages) format, which extends OpenAI’s messages format to include a "computer" role:
For detailed setup instructions for your specific platform, visit our [installation guide](https://01.openinterpreter.com/setup/installation).
Build your own [01 Light device](https://01.openinterpreter.com/hardware/01-light/introduction) or explore other [hardware options](https://01.openinterpreter.com/hardware/introduction).
To run the server on your Desktop and connect it to your 01 Light, run the following commands:
## Customization
```shell
brew install ngrok/ngrok/ngrok
ngrok authtoken ... # Use your ngrok authtoken
poetry run 01 --server light --expose
```
Customize behavior, language model, system message, and more by editing profiles in the `software/source/server/profiles` directory. [Configuration guide](https://01.openinterpreter.com/server/configure)
The final command will print a server URL. You can enter this into your 01 Light's captive WiFi portal to connect to your 01 Server.
## Safety Considerations
## Local Mode
Understand the [risks](https://01.openinterpreter.com/safety/risks) and implement [safety measures](https://01.openinterpreter.com/safety/measures) when using 01.
```
poetry run 01 --profile local.py
```
## Contributing
## Customizations
We welcome contributions! Check out our [contributing guidelines](CONTRIBUTING.md) and join our [Discord community](https://discord.gg/Hvz9Axh84z).
To customize the behavior of the system, edit the [system message, model, skills library path,](https://docs.openinterpreter.com/settings/all-settings) etc. in the `profiles` directory under the `server` directory. This file sets up an interpreter, and is powered by Open Interpreter.
## Documentation
To specify the text-to-speech service for the 01 `base_device.py`, set `interpreter.tts` to either "openai" for OpenAI, "elevenlabs" for ElevenLabs, or "coqui" for Coqui (local) in a profile. For the 01 Light, set `SPEAKER_SAMPLE_RATE` in `client.ino` under the `esp32` client directory to 24000 for Coqui (local) or 22050 for OpenAI TTS. We currently don't support ElevenLabs TTS on the 01 Light.
For comprehensive guides, API references, and troubleshooting, visit our [official documentation](https://01.openinterpreter.com/).
<strong>Le modèle de langage d'ordinateur open-source.</strong><br>
<br><ahref="https://openinterpreter.com/01">Précommandez le Light</a> |<ahref="https://changes.openinterpreter.com">Recevoir les mises à jour</a> |<ahref="https://01.openinterpreter.com/">Documentation</a><br>
Nous voulons vous aider à construire. [Postulez pour un support individuel.](https://0ggfznkwh4j.typeform.com/to/kkStE8WF)
<br>
---
⚠️ **ATTENTION** : Ce projet expérimental est en développement rapide et manque de protections de sécurité de base. Jusqu'à l'atteinte d'une version stable 1.0, veuillez faire fonctionner ce dépôt **uniquement** sur des appareils ne contenant aucune information sensible et n'ayant pas accès à des services payants.
---
<br>
**Le Projet 01** construit un écosystème open source pour les appareils d'IA.
Notre système d'exploitation phare peut alimenter des dispositifs conversationnels tels que le Rabbit R1, le Humane Pin, ou [l'ordinateur de Star Trek](https://www.youtube.com/watch?v=1ZXugicgn6U).
Nous avons l'intention de devenir le GNU/Linux de cet environnement en restant ouvert, modulaire et gratuit.
<br>
# Software
```shell
git clone https://github.com/OpenInterpreter/01 # Clone le dépôt
cd 01/software # CD dans le répertoire source
```
<!-- > Cela ne fonctionne pas ? Lisez notre [guide d'installation](https://docs.openinterpreter.com/getting-started/setup). -->
```shell
brew install portaudio ffmpeg cmake # Installe les dépendances Mac OSX
poetry install # Installe les dépendances Python
export OPENAI_API_KEY=sk... # OU exécute `poetry run 01 --local` pour tout exécuter localement
poetry run 01 # Exécute le simulateur 01 Light (maintenez votre barre d'espace, parlez, relâchez)
```
<!-- > Pour une installation sous Windows, lisez [le guide dédié](https://docs.openinterpreter.com/getting-started/setup#windows). -->
<br>
# Hardware
- Le **01 Light** est une interface vocale basée sur ESP32. Les instructions de construction sont [ici]. (https://github.com/OpenInterpreter/01/tree/main/hardware/light). Une liste de ce qu'il faut acheter se trouve [ici](https://github.com/OpenInterpreter/01/blob/main/hardware/light/BOM.md).
- Il fonctionne en tandem avec le **Server 01** ([guide d'installation ci-dessous](https://github.com/OpenInterpreter/01/blob/main/README.md#01-server)) fonctionnant sur votre ordinateur.
- **Mac OSX** et **Ubuntu** sont pris en charge en exécutant `poetry run 01` (**Windows** est pris en charge de manière expérimentale). Cela utilise votre barre d'espace pour simuler le 01 Light.
**Nous avons besoin de votre aide pour soutenir et construire plus de hardware.** Le 01 devrait pouvoir fonctionner sur tout dispositif avec entrée (microphone, clavier, etc.), sortie (haut-parleurs, écrans, moteurs, etc.) et connexion internet (ou suffisamment de puissance de calcul pour tout exécuter localement). [Guide de Contribution →](https://github.com/OpenInterpreter/01/blob/main/CONTRIBUTING.md)
<br>
# Comment ça marche ?
Le 01 expose un websocket de _speech-to-speech_ à l'adresse `localhost:10001`.
Si vous diffusez des octets audio bruts vers `/` au [format de streaming LMC](https://docs.openinterpreter.com/guides/streaming-response), vous recevrez sa réponse dans le même format.
Inspiré en partie par [l'idée d'un OS LLM d'Andrej Karpathy](https://twitter.com/karpathy/status/1723140519554105733), nous utilisons un [un modèle de langage inteprétant du code](https://github.com/OpenInterpreter/open-interpreter), et le sollicitons lorsque certains événements se produisent dans le [noyau de votre ordinateur](https://github.com/OpenInterpreter/01/blob/main/software/source/server/utils/kernel.py).
Pour communiquer avec les différents composants du système, nous introduisons le [format de messages LMC](https://docs.openinterpreter.com/protocols/lmc-messages), une extension du format de message d'OpenAI qui inclut un nouveau rôle "_computer_":
La dernière commande affichera une URL de serveur. Vous pouvez saisir ceci dans le portail WiFi captif de votre 01 Light pour le connecter à votre serveur 01.
## Mode Local
```
poetry run 01 --local
```
Si vous souhaitez exécuter localement du speech-to-text en utilisant Whisper, vous devez installer Rust. Suivez les instructions données [ici](https://www.rust-lang.org/tools/install).
## Personnalisation
Pour personnaliser le comportement du système, modifie [`system message`, `model`, `skills library path`,](https://docs.openinterpreter.com/settings/all-settings) etc. in Profiles. Ce fichier configure un interprète alimenté par Open Interpreter.
Hardcode your WiFi SSID, WiFi password, and server URL into the top of the `client.ino` file.
<img src="https://raw.githubusercontent.com/OpenInterpreter/01/main/docs/assets/hardcode-wifi-pass-server.png" alt="Hardcode WiFi SSID and password" width="60%" />
<img src="https://raw.githubusercontent.com/OpenInterpreter/01/main/docs/assets/hardcode-wifi-pass-server.png" alt="Hardcode WiFi SSID and password" width="80%" />
Hardcoding is recommended for a more streamlined setup and development environment. However, if you don't hardcode these values or if the ESP32 can't connect using the provided information, it will automatically default to a captive portal for configuration.
</Step>
@ -56,7 +56,7 @@ To set up the ESP32 for use with 01, follow this guide to install the firmware:
<Step title="Install ESP32 boards">
Go to Tools -> Board -> Boards Manager, search "esp32", then install the boards by Arduino and Espressif.
<img src="https://raw.githubusercontent.com/OpenInterpreter/01/main/docs/assets/m5-atom-install-all.png" alt="Install all M5Atom dependencies" width="60%" />
<img src="https://raw.githubusercontent.com/OpenInterpreter/01/main/docs/assets/m5-atom-install-all.png" alt="Install all M5Atom dependencies" width="80%" />
- WebSockets by Markus Sattler ([Reference](https://www.arduino.cc/reference/en/libraries/websockets/))
<img src="https://raw.githubusercontent.com/OpenInterpreter/01/main/docs/assets/WebSockets by Markus Sattler.png" alt="Install WebSockets library" width="60%" />
<img src="https://raw.githubusercontent.com/OpenInterpreter/01/main/docs/assets/WebSockets by Markus Sattler.png" alt="Install WebSockets library" width="80%" />
- AsyncTCP by dvarrel ([Reference](https://github.com/dvarrel/AsyncTCP))
<img src="https://raw.githubusercontent.com/OpenInterpreter/01/main/docs/assets/AsyncTCP by dvarrel.png" alt="Install AsyncTCP library" width="60%" />
<img src="https://raw.githubusercontent.com/OpenInterpreter/01/main/docs/assets/AsyncTCP by dvarrel.png" alt="Install AsyncTCP library" width="80%" />
- ESPAsyncWebServer by lacamera ([Reference](https://github.com/lacamera/ESPAsyncWebServer))
<img src="https://raw.githubusercontent.com/OpenInterpreter/01/main/docs/assets/ESPAsyncWebServer by lacamera.png" alt="Install ESPAsyncWebServer library" width="60%" />
<img src="https://raw.githubusercontent.com/OpenInterpreter/01/main/docs/assets/ESPAsyncWebServer by lacamera.png" alt="Install ESPAsyncWebServer library" width="80%" />
<img src="https://raw.githubusercontent.com/OpenInterpreter/01/main/docs/assets/ESPAsyncWebServer-install-all.png" alt="Install all ESPAsyncWebServer dependencies" width="60%" />
<img src="https://raw.githubusercontent.com/OpenInterpreter/01/main/docs/assets/ESPAsyncWebServer-install-all.png" alt="Install all ESPAsyncWebServer dependencies" width="80%" />
</Step>
<Step title="Connect the board">
To flash the .ino to the board, connect the board to the USB port.
description: "Explore various hardware configurations for the 01 platform"
---
The 01 platform offers flexibility in hardware configurations, allowing you to create a device that suits your needs and preferences. From desktop setups to portable builds, there are multiple options to bring the 01 experience to life.
<CardGroup cols={2}>
<CardGroup cols={3}>
<Card
title="01 Light"
icon="circle"
href="/hardware/01-light"
description="Create a simplified, lightweight version of the 01 device."
/>
<Card
title="Desktop Setup"
icon="desktop"
@ -30,12 +36,4 @@ The 01 platform offers flexibility in hardware configurations, allowing you to c
href="/hardware/mini-phone"
description="Transform a small smartphone into a dedicated 01 device."
/>
<Card
title="01 Light"
icon="lightbulb"
href="/hardware/01-light"
description="Create a simplified, lightweight version of the 01 device."
/>
</CardGroup>
Choose the hardware configuration that best fits your needs and start building your own 01 device today!
The brain of the 01 system that runs on your computer. It processes input, executes commands, generates responses, and manages core logic using Open Interpreter.
Explore various hardware configurations, from desktop setups to ESP32-based portable builds and custom integrations. Find guides for assembling your own 01 device.
</Card>
First, we recommend you familiarize yourself with our [safety report](/safety/).
The **01** is an open-source platform for conversational devices, inspired by the *Rabbit R1* and *Star Trek* computer.
The **01** is an open-source platform for intelligent devices, inspired by the *Rabbit R1* and *Star Trek* computer.
By centering this project on [Open Interpreter](https://github.com/OpenInterpreter/open-interpreter), the 01 is more natural, flexible, and capable than its predecessors. Assistants built from this project can execute code, browse the web, read and create files, control third-party software, and beyond.
Assistants powered by the 01 can execute code, browse the web, read and create files, control third-party software, and beyond.
<br></br>
_Disclaimer:_ The current version of the 01 is an experimental developer preview.
The brain of the 01 system that runs on your computer. It processes input, executes commands, generates responses, and manages core logic using Open Interpreter.
Explore various hardware configurations, from desktop setups to ESP32-based portable builds and custom integrations. Find guides for assembling your own 01 device.