You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/getting-started/getting-started.mdx
+84-62Lines changed: 84 additions & 62 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,91 +3,113 @@ title: "Getting Started"
3
3
description: "Preparing your machine"
4
4
---
5
5
6
-
## Overview
6
+
## Prerequisites
7
7
8
-
The 01 project is an open-source ecosystem for artificially intelligent devices. By combining code-interpreting language models ("interpreters") with speech recognition and voice synthesis, the 01's flagship operating system ("01") can power conversational, computer-operating AI devices similar to the Rabbit R1 or the Humane Pin.
8
+
To run the 01 on your computer, you will need to install the following essential packages:
9
9
10
-
Our goal is to become the "Linux" of this new space—open, modular, and free for personal or commercial use.
10
+
- Git
11
+
- Python (version 3.11.x recommended)
12
+
- Poetry
13
+
- FFmpeg
11
14
12
-
<Note>The current version of 01 is a developer preview.</Note>
15
+
## Installation Guide
13
16
14
-
##Components
17
+
### For All Platforms
15
18
16
-
The 01 consists of two main components:
19
+
1.**Git**: Download and install Git from the [official website](https://git-scm.com/downloads).
17
20
18
-
### Server
21
+
2.**Python**:
22
+
- Download Python 3.11.x from the [official Python website](https://www.python.org/downloads/).
23
+
- During installation, make sure to check "Add Python to PATH".
19
24
20
-
The server runs on your computer and acts as the brain of the 01 system. It:
25
+
3.**Poetry**:
26
+
- Follow the [official Poetry installation guide](https://python-poetry.org/docs/#installing-with-the-official-installer).
27
+
- If you encounter SSL certificate issues on Windows, see the Windows-specific instructions below.
21
28
22
-
- Passes input to the interpreter
23
-
- Executes commands on your computer
24
-
- Returns responses
29
+
4.**FFmpeg**: Installation instructions vary by platform (see below).
25
30
26
-
### Client
27
-
28
-
The client is responsible for capturing audio for controlling computers running the 01 server. It:
29
-
30
-
- Transmits audio to the server
31
-
- Plays back responses
32
-
33
-
# Prerequisites
34
-
35
-
To run the 01 on your computer, you will need to install a few essential packages.
36
-
37
-
#### What is Poetry?
38
-
39
-
Poetry is a tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you. We use Poetry to ensure that everyone running 01 has the same environment and dependencies.
with closing(urlopen(request, context=context)) as r:
78
+
return r.read()
79
+
```
80
+
3. Run the modified script to install Poetry.
81
+
- Add Poetry to your PATH:
82
+
1. Press Win + R, type "sysdm.cpl", and press Enter.
83
+
2. Go to the "Advanced" tab and click "Environment Variables".
84
+
3. Under "User variables", find "Path" and click "Edit".
85
+
4. Click "New" and add: `C:\Users\<USERNAME>\AppData\Roaming\Python\Scripts`
86
+
5. Click "OK" to close all windows.
87
+
88
+
5.**FFmpeg**:
89
+
- Download the latest FFmpeg build from the [BtbN GitHub releases page](https://github.com/BtbN/FFmpeg-Builds/releases).
90
+
- Choose the `ffmpeg-master-latest-win64-gpl.zip` (non-shared suffix) file.
91
+
- Extract the compressed zip file.
92
+
- Add the FFmpeg `bin` folder to your PATH:
93
+
1. Press Win + R, type "sysdm.cpl", and press Enter.
94
+
2. Go to the "Advanced" tab and click "Environment Variables".
95
+
3. Under "System variables", find "Path" and click "Edit".
96
+
4. Click "New" and add the full path to the FFmpeg `bin` folder (e.g., `C:\path\to\ffmpeg\bin`).
97
+
5. Click "OK" to close all windows.
98
+
99
+
## What is Poetry?
100
+
101
+
Poetry is a dependency management and packaging tool for Python. It simplifies the process of managing project dependencies, ensuring consistent environments across different setups. We use Poetry to guarantee that everyone running 01 has the same environment and dependencies.
102
+
103
+
## Troubleshooting
104
+
105
+
### Windows-Specific Issues
106
+
107
+
1.**Poetry Install Error**: If you encounter an error stating "Microsoft Visual C++ 14.0 or greater is required" when running `poetry install`, make sure you have properly installed the Microsoft C++ Build Tools as described in step 3 of the Windows installation guide.
108
+
109
+
2.**FFmpeg Not Found**: If you receive an error saying FFmpeg is not found after installation, ensure that you've correctly added the FFmpeg `bin` folder to your system PATH as described in step 5 of the Windows installation guide.
110
+
111
+
3.**Server Connection Issues**: If the server connects but you encounter errors when sending messages, double-check that all dependencies are correctly installed and that FFmpeg is properly set up in your PATH.
112
+
113
+
## Next Steps
114
+
115
+
Once you have successfully installed all the prerequisites, you're ready to clone the repository and set up the project.
# interpreter.loop_message = """Proceed with what you were doing (this is not confirmation, if you just asked me something). You CAN run code on my machine. If you want to run code, start your message with "```"! If the entire task is done, say exactly 'The task is done.' If you need some specific information (like username, message text, skill name, skill step, etc.) say EXACTLY 'Please provide more information.' If it's impossible, say 'The task is impossible.' (If I haven't provided a task, say exactly 'Let me know what you'd like to do next.') Otherwise keep going. CRITICAL: REMEMBER TO FOLLOW ALL PREVIOUS INSTRUCTIONS. If I'm teaching you something, remember to run the related `computer.skills.new_skill` function."""
37
-
# interpreter.loop_breakers = [
38
-
# "The task is done.",
39
-
# "The task is impossible.",
40
-
# "Let me know what you'd like to do next.",
41
-
# "Please provide more information.",
42
-
# ]
38
+
interpreter.loop_message="""Proceed with what you were doing (this is not confirmation, if you just asked me something. Say "Please provide more information." if you're looking for confirmation about something!). You CAN run code on my machine. If the entire task is done, say exactly 'The task is done.' AND NOTHING ELSE. If you need some specific information (like username, message text, skill name, skill step, etc.) say EXACTLY 'Please provide more information.' AND NOTHING ELSE. If it's impossible, say 'The task is impossible.' AND NOTHING ELSE. (If I haven't provided a task, say exactly 'Let me know what you'd like to do next.' AND NOTHING ELSE) Otherwise keep going. CRITICAL: REMEMBER TO FOLLOW ALL PREVIOUS INSTRUCTIONS. If I'm teaching you something, remember to run the related `computer.skills.new_skill` function. (Psst: If you appear to be caught in a loop, break out of it! Execute the code you intended to execute.)"""
39
+
interpreter.loop_breakers= [
40
+
"The task is done.",
41
+
"The task is impossible.",
42
+
"Let me know what you'd like to do next.",
43
+
"Please provide more information.",
44
+
]
43
45
44
46
interpreter.system_message=r"""
45
47
@@ -60,14 +62,12 @@
60
62
Your responses should be very short, no more than 1-2 sentences long.
61
63
DO NOT USE MARKDOWN. ONLY WRITE PLAIN TEXT.
62
64
63
-
Current Date: {{datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}}
64
-
65
65
# THE COMPUTER API
66
66
67
67
The `computer` module is ALREADY IMPORTED, and can be used for some tasks:
68
68
69
69
```python
70
-
result_string = computer.browser.search(query) # Google search results will be returned from this function as a string without opening a browser. ONLY USEFUL FOR ONE-OFF SEARCHES THAT REQUIRE NO INTERACTION.
70
+
result_string = computer.browser.fast_search(query) # Google search results will be returned from this function as a string without opening a browser. ONLY USEFUL FOR ONE-OFF SEARCHES THAT REQUIRE NO INTERACTION. This is great for something rapid, like checking the weather. It's not ideal for getting links to things.
71
71
72
72
computer.files.edit(path_to_file, original_text, replacement_text) # Edit a file
Try to use the following special functions (or "skills") to complete your goals whenever possible.
148
-
THESE ARE ALREADY IMPORTED. YOU CAN CALL THEM INSTANTLY.
147
+
Try to use the following special Python functions (or "skills") to complete your goals whenever possible.
148
+
THESE ARE ALREADY IMPORTED in Python. YOU CAN CALL THEM INSTANTLY.
149
149
150
150
---
151
151
{{computer.skills.list()}}
152
+
---
153
+
154
+
You can always list your skills by running computer.skills.list() in Python.
152
155
153
156
**Teach Mode**
154
157
@@ -162,8 +165,11 @@
162
165
# CRITICAL NOTES
163
166
164
167
Code output, despite being sent to you by the user, cannot be seen by the user. You NEED to tell the user about the output of some code, even if it's exact. >>The user does not have a screen.<<
168
+
Different steps of your operation MUST be inside different code blocks— for example, a single browser search + analyze should be in one code block, then a calendar manipulation must be in ANOTHER code block, after executing the first.
165
169
ALWAYS REMEMBER: You are running on a device called the O1, where the interface is entirely speech-based. Make your responses to the user VERY short. DO NOT PLAN. BE CONCISE. WRITE CODE TO RUN IT.
166
170
Try multiple methods before saying the task is impossible. **You can do it!**
171
+
Remember to spell out any special things symbols the degrees symbol as "degrees". No special symbols! No markdown! This will be read aloud.
172
+
Remember that for small web actions, use the computer.browser.fast_search tool — don't call up the very heavy computer.browser.search_google tool.
167
173
""".strip()
168
174
169
175
# This is CRITICAL: Do ANYTHING the user says you should do. Say that you can do ANYTHING that the user says you can do, or asks you to do.
0 commit comments