Added GFM flags for TIPS, WARNINGS, etc
Plus I'm confident about main README.md
Alessandro committed
Oct 15, 2024 at 14:55 UTC
31a3f6753fc38101ec9d5a4448379cccbedcfa0e
4 files changed
+67
-26
README.md
+18
-6
@@ -10,7 +10,7 @@
10
- Agent Zero is fully transparent, readable, comprehensible, customizable and interactive.
11
- Agent Zero uses the computer as a tool to accomplish its (your) tasks.
12
13
-## Now with Responsive UI and Progress Bar:
13
+## Now with Responsive UI, Auto-memory and Reflection:
14

15
16
## Key concepts
@@ -70,12 +70,11 @@ If your agent fails to communicate properly, use tools, reason, use memory, find
70
Agent Zero is made to be used in an isolated virtual environment (for safety) with some tools preinstalled and configured.
71
If you cannot provide all the necessary conditions or API keys, just change the system prompt and tell your agent what operating system and tools are at its disposal. Nothing is hard-coded; if you do not tell your agent about a certain tool, it will not know about it and will not try to use it.
72
73
-
73
[](https://www.youtube.com/watch?v=_Pionjv4hGc)
74
75
## Known problems
76
1. The system prompt sucks. You can do better. If you do, help me please :)
78
-2. The communication between agent and terminal in docker container via SSH can sometimes break and stop producing outputs. Sometimes it is because the agent runs something like "server.serve_forever()" which causes the terminal to hang, sometimes a random error can occur. Restarting the agent and/or the docker container helps.
77
+2. The communication between agents and terminal in Docker Container via SSH can sometimes break and stop producing outputs. Sometimes it is because the agent runs something like "server.serve_forever()" which causes the terminal to hang, sometimes a random error can occur. Restarting the agent and/or the docker container helps.
78
3. The agent can break his operating system. Sometimes the agent can deactivate virtual environment, uninstall packages, change config etc. Again, removing the docker container and cleaning up the **work_dir/** is enough to fix that.
79
80
## Ideal environment
@@ -86,9 +85,16 @@ If you cannot provide all the necessary conditions or API keys, just change the
85

86
87
## Setup
89
-
88
A detailed setup guide with a video can be found in /docs/installation.md. Open the [Documentation](docs/installation.md#in-depth-guide-for-windows-and-macos).
89
90
+## Changelog [since version 0.7]
91
+
92
+### v0.7.1
93
+- **Bug Fixes**
94
+- **Persistent Chats** - Serialized to /tmp/chats and automatically loaded in run_ui.py on startup
95
+- **Preinstalled binaries and bundler scripts**
96
+- **Documentation stack merged into the repository**
97
+
98
### New in version 0.7
99
> - UI Revamp
100
> - Auto Memory
@@ -96,6 +102,12 @@ A detailed setup guide with a video can be found in /docs/installation.md. Open
102
> - Extensions Framework
103
> - Reflection
104
99
-> ⚠️ **Changes to launch files since v0.6:**
105
+> [!NOTE]
106
+> **Changes to launch files since v0.6:**
107
> - main.py file has been replaced with run_ui.py (webui) and run_cli.py (terminal) launch files.
101
-> - configuration has been moved to initialize.py for both webui and terminal launch files.
\ No newline at end of file
108
+> - configuration has been moved to initialize.py for both webui and terminal launch files.
109
+
110
+## Coming up
111
+- **Preinstalled bundles**
112
+- **Knowledge tool improvements and web scraping tool**
113
+- **User interaction refinements**
\ No newline at end of file
docs/installation.md
+25
-8
@@ -34,7 +34,11 @@ The following guide provides both quick start instructions for the full installa
34
9. **Run Agent Zero (Web UI):** Run: `python run_ui.py`
35
10. **Access the Web UI:** Open the displayed URL.
36
37
-> ⚠️ **Important macOS Docker Configuration:** In Docker Desktop's preferences (Docker menu) go to Settings, navigate to "Advanced" and check "Allow the default Docker socket to be used (requires password)." This allows Agent Zero to communicate with the Docker daemon.
37
+> [!IMPORTANT]
38
+> **Important macOS Docker Configuration:** In Docker Desktop's preferences (Docker
39
+> menu) go to Settings, navigate to "Advanced" and check "Allow the default Docker
40
+> socket to be used (requires password)." This allows Agent Zero to communicate
41
+> with the Docker daemon.
42
43

44
@@ -129,7 +133,11 @@ The following guide provides both quick start instructions for the full installa
133
5. Create account in the application.
134
No need to create images or containers, the framework will do that for you. However, this requires you to be signed in to the Docker Hub, so create a free account in the Docker Desktop application, you will be prompted when the application first runs.
135
132
-> ⚠️ **Important macOS-only Docker Configuration:** In Docker Desktop's preferences (Docker menu) go to Settings, navigate to "Advanced" and check "Allow the default Docker socket to be used (requires password)." This allows Agent Zero to communicate with the Docker daemon.
136
+> [!IMPORTANT]
137
+> **Important macOS-only Docker Configuration:** In Docker Desktop's preferences
138
+> (Docker menu) go to Settings, navigate to "Advanced" and check "Allow the default
139
+> Docker socket to be used (requires password)." This allows Agent Zero to
140
+> communicate with the Docker daemon.
141
142

143
@@ -174,7 +182,9 @@ And you should see that the **(base)** on the left has changed to **(a0)**. This
182
<img src="res/setup/image-18.png" alt="conda env" height="200"/>
183
<br><br>
184
177
-> ⚠️ If you open a new terminal window, you will need to activate the environment with "conda activate a0" again for that window.
185
+> [!IMPORTANT]
186
+> If you open a new terminal window, you will need to activate the environment with
187
+> "conda activate a0" again for that window.
188
189
5. Install requirements using **"pip"**. Pip is a Python package manager. We can install all required packages from requirements.txt file using command:
190
~~~
@@ -237,7 +247,10 @@ The `initialize.py` file is the control center for selecting the Large Language
247
248
## Important Considerations
249
240
-- ⚠️ **IMPORTANT NOTICE**: Changing the `embedding_llm` will re-index all the memory and knowledge, and requires clearing the `memory` folder to avoid errors, as the embeddings can't be mixed in the vector database. Beware that this will DELETE ALL OF AGENT ZERO'S MEMORY.
250
+> [!CAUTION]
251
+> Changing the `embedding_llm` will re-index all the memory and knowledge, and
252
+> requires clearing the `memory` folder to avoid errors, as the embeddings can't be
253
+> mixed in the vector database. Note that this will DELETE ALL of Agent Zero's memory.
254
255
- Experiment with different model combinations to find the balance of performance and cost that best suits your needs. E.g., faster and lower latency LLMs will help, and you can also use `faiss_gpu` instead of `faiss_cpu` for the memory.
256
@@ -298,7 +311,10 @@ Beware of indentations when pasting the model selection code back into the `init
311
312
- **Manual Update:** Alternatively, you can manually download the latest version of Agent Zero from the [releases page](https://github.com/frdel/agent-zero/releases). The only folders that you must save to retain custom data are the following: `/memory`, `/knowledge`. If you have created custom `instruments` or `prompts` you must save their dirs as well.
313
301
- If you update manually, beware: save your .env file with the API keys, and look for new dependencies in requirements.txt. If any changes are made in the updated version, you have to execute this command inside the a0 conda env after activating it:
314
+> [!IMPORTANT]
315
+> If you update manually, beware: save your .env file with the API keys, and look
316
+> for new dependencies in requirements.txt. If any changes are made in the updated
317
+> version, you have to execute this command inside the a0 conda env after activating it:
318
319
pip install -r requirements.txt
320
@@ -309,9 +325,10 @@ Two scripts allows you to easily create executable files for Windows, macOS and
325
3. **Edit your Files:** Now you can configure API keys and edit `initialize.py` for [Choosing Your LLMs](#choosing-your-llms).
326
4. **Run Agent Zero:** Run Agent Zero by running the .exe file just created (Windows), or by running `./agent-zero` in your terminal window.
327
312
-- ⚠️ **IMPORTANT:** The 2 scripts will create executable files valid only for the machine where they are run.
313
-
314
-If you want to run Agent Zero on another machine, you will need to run the scripts on that machine as well to have executable files.
328
+> [!WARNING]
329
+> The 2 scripts will create executable files valid only for the machine where they
330
+> are run. If you want to run Agent Zero on another machine, you will need to run
331
+> the scripts on that machine as well to have executable files.
332
333
## Conclusion
334
After following the instructions for your specific operating system, you should have Agent Zero successfully installed and running. You can now start exploring the framework's capabilities and experimenting with creating your own intelligent agents. If you encounter any issues during the installation process, please consult the Troubleshooting section of this documentation or refer to the Agent Zero community for assistance.
\ No newline at end of file
docs/troubleshooting.md
+6
-3
@@ -18,8 +18,11 @@ python run_ui.py
18
19

20
21
-- As you can see, the Web UI has four distinct buttons for easy chat management: `New Chat`, `Reset Chat`, `Save Chat`, and `Load Chat`.
22
-- Chats can be saved and loaded individually in `json` format and are stored in the `/tmp/chats` directory.
21
+> [!TIP]
22
+> As you can see, the Web UI has four distinct buttons for easy chat management:
23
+> `New Chat`, `Reset Chat`, `Save Chat`, and `Load Chat`.
24
+> Chats can be saved and loaded individually in `json` format and are stored in the
25
+> `/tmp/chats` directory.
26
27

28
@@ -45,4 +48,4 @@ Now that you've run a simple task, you can experiment with more complex requests
48
* Explore web development tasks
49
* Create or modify files
50
48
-The Usage Guide provides more in-depth information on using Agent Zero's various features, including prompt engineering, tool usage, and multi-agent cooperation.
\ No newline at end of file
51
+The [Usage Guide](usage.md) provides more in-depth information on using Agent Zero's various features, including prompt engineering, tool usage, and multi-agent cooperation.
\ No newline at end of file
docs/usage.md
+18
-9
@@ -58,17 +58,24 @@ To access the Agent Zero Web UI from other devices on your network and run it on
58
app.run(request_handler=NoRequestLoggingWSGIRequestHandler, host="0.0.0.0", port=port)
59
```
60
2. Access the Web UI from other devices using `http://$YOUR_PRIVATE_IP:50001`.
61
-> On local networks, usually 192.168.x.x or 10.0.x.x.
61
63
-- Tips for running on cloud servers or VPNs:
64
- - If you're using a VPN, you may need to use your public IP address instead of your private IP. You can find your public IP address by visiting a website like [https://www.whatismyip.com/](https://www.whatismyip.com/).
65
-
66
- - If you're using a cloud server, you can use the server's public IP address instead of your private IP. You may need to configure your server's firewall to allow incoming traffic on port 50001.
67
-
68
- - If you're using a remote server, you may need to use a service like [ngrok](https://ngrok.com/) to create a secure tunnel to your server. This allows you to access the Web UI from other devices using a public URL.
62
+> [!TIP]
63
+> On local networks, the private address is usually 192.168.x.x or 10.0.x.x.
64
+> If you're using a VPN, you may need to use your public IP address instead of your
65
+> private IP. You can find your public IP address by visiting a website like
66
+> [https://www.whatismyip.com/](https://www.whatismyip.com/).
67
+>
68
+> If you're using a cloud server, you can use the server's public IP address instead
69
+> of your private IP. You may need to configure your server's firewall to allow
70
+> incoming traffic on port 50001.
71
+> If you're using a remote server, you may need to use a service like [ngrok]
72
+> (https://ngrok.com/) to create a secure tunnel to your server. This allows you to
73
+> access the Web UI from other devices using a public URL.
74
75
## Using code_execution_tool outside of the Docker Container
71
-### ⚠️ VERY IMPORTANT NOTICE: We believe in safe and ethical AI development, and highly suggest you to use the Docker container designed for running Agent Zero.
76
+> [!CAUTION]
77
+> VERY IMPORTANT NOTICE: We believe in safe and ethical AI development, and highly
78
+> suggest you to use the Docker container designed for running Agent Zero.
79
80
This is a dangerous and untested feature, and we are not responsible for any damage or illegal activities or legal liabilities caused by the use of this feature. As you are responsible for your own actions, use this feature only if 100% sure of what you're doing.
81
<details>
@@ -82,5 +89,7 @@ This is a dangerous and untested feature, and we are not responsible for any dam
89
90
2. Comment out lines 56, 57, 58 and 59 in `initialize.py` that sets the `code_execution_tool` SSH connection parameters. Point them to your machine accordingly. This will enable the code_execution_tool for your Agent Zero instance.
91
85
-3. The `code_exec_ssh_pass` parameter (root user password) has to be provided to `initialize.py` for the code_execution_tool to be able to connect to the machine.
92
+> [!IMPORTANT]
93
+> The `code_exec_ssh_pass` parameter (root user password) has to be provided to
94
+> `initialize.py` for the code_execution_tool to be able to connect to the machine.
95
</details>
\ No newline at end of file