# OS-Copilot: Towards Generalist Computer Agents with Self-Improvement
<div align="center">
[[Website]](https://os-copilot.github.io/)
[[Arxiv]](https://arxiv.org/abs/2402.07456)
[[PDF]](https://arxiv.org/pdf/2402.07456.pdf)
[[Documentation]]()
<!-- [[Tweet]](https://twitter.com/DrJimFan/status/1662115266933972993?s=20) -->
[![Static Badge](https://img.shields.io/badge/MIT-License-green)](https://github.com/OS-Copilot/OS-Copilot/blob/main/LICENSE)
![Static Badge](https://img.shields.io/badge/python-3.10-blue)
[![Static Badge](https://img.shields.io/badge/FRIDAY-Frontend-yellow)](https://github.com/OS-Copilot/FRIDAY-front)
<p align="center">
<img src='pic/demo.png' width="100%">
</p>
</div>
## 📖 Overview
- **OS-Copilot** is a pioneering conceptual framework for building generalist computer agents on Linux and MacOS, which provides a unified interface for app interactions in the heterogeneous OS ecosystem.
<p align="center">
<img src='pic/framework.png' width="75%">
</p>
- Leveraging OS-Copilot, we built **FRIDAY**, a self-improving AI assistant capable of solving general computer tasks.
<p align="center">
<img src='pic/FRIDAY.png' width="75%">
</p>
## ⚡️ Quickstart
1. **Clone the GitHub Repository:**
```
git clone https://github.com/OS-Copilot/OS-Copilot.git
```
2. **Set Up Python Environment:** Ensure you have a version 3.10 or higher Python environment. You can create and
activate this environment using the following commands, replacing `oscopilot_env` with your preferred environment
name:
```
conda create -n oscopilot_env python=3.10 -y
conda activate oscopilot_env
```
3. **Install Dependencies:** Move into the `OS-Copilot` directory and install the necessary dependencies by running:
```
cd OS-Copilot
pip install -e .
```
4. **Set OpenAI API Key:** Configure your OpenAI API key in [.env](.env) and select the model you wish to use.
5. **Running the Script:** Run the quick_start.py script, simply execute the following command in your terminal:
```
python quick_start.py
```
\* FRIDAY currently only supports single-round conversation.
## 🛠️ FRIDAY-Gizmos
We maintain an open-source library of toolkits for FRIDAY, which includes tools that can be directly utilized within FRIDAY.
For a detailed list of tools, please see [FRIDAY-Gizmos](https://github.com/OS-Copilot/FRIDAY-Gizmos). The usage methods are as follows:
1. Find the tool you want to use in [FRIDAY-Gizmos](https://github.com/OS-Copilot/FRIDAY-Gizmos) and download its tool code.
2. Add the tool to FRIDAY's toolkit:
```shell
python friday/tool_repository/manager/tool_manager.py --add --tool_name [tool_name] --tool_path [tool_path]
```
3. If you wish to remove a tool, you can run:
```shell
python friday/tool_repository/manager/tool_manager.py --delete --tool_name [tool_name]
```
## 💻 User Interface (UI)
**Enhance Your Experience with Our Intuitive Frontend!** This interface is crafted for effortless control of your agents. For more details, visit [FRIDAY Frontend](https://github.com/OS-Copilot/FRIDAY-front).
## ✨ Deploy API Services
For comprehensive guidelines on deploying API services, please refer to the [OS-Copilot documentation]().
<!-- ## 👨💻 Contributors
<a href="">
<img src="" />
</a>
Made with [contrib.rocks](https://contrib.rocks). -->
## 🛡 Disclaimer
OS-Copilot is provided "as is" without warranty of any kind. Users assume full responsibility for any risks associated with its use, including **potential data loss** or **changes to system settings**. The developers of OS-Copilot are not liable for any damages or losses resulting from its use. Users must ensure their actions comply with applicable laws and regulations.
## 🏫 Community
Join our community to connect with other agent enthusiasts, share your tools and demos, and collaborate on exciting initiatives. You can find us on [Slack](https://join.slack.com/t/slack-ped8294/shared_invite/zt-2cqebow90-soac9UFKGZ2RcUy8PqjZrA).
## 🔎 Citation
```
@misc{wu2024oscopilot,
title={OS-Copilot: Towards Generalist Computer Agents with Self-Improvement},
author={Zhiyong Wu and Chengcheng Han and Zichen Ding and Zhenmin Weng and Zhoumianze Liu and Shunyu Yao and Tao Yu and Lingpeng Kong},
year={2024},
eprint={2402.07456},
archivePrefix={arXiv},
primaryClass={cs.AI}
}
```
## 📬 Contact
If you have any inquiries, suggestions, or wish to contact us for any reason, we warmly invite you to email us at wuzhiyong@pjlab.org.cn.
Raw data
{
"_id": null,
"home_page": "https://github.com/OS-Copilot/OS-Copilot",
"name": "os-copilot",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "AI, LLMs, Large Language Models, Agent, OS, Operating System",
"author": "Zhiyong Wu and Chengcheng Han and Zichen Ding and Zhenmin Weng and Zhoumianze Liu and Shunyu Yao and Tao Yu and Lingpeng Kong",
"author_email": "wuzhiyong@pjlab.org.cn, hccngu@163.com",
"download_url": "https://files.pythonhosted.org/packages/0d/a9/b71afc63631b7afeef1cbd2ebf939843c5b222a1186fb7824057a1ed307f/os-copilot-0.1.0.tar.gz",
"platform": null,
"description": "# OS-Copilot: Towards Generalist Computer Agents with Self-Improvement\n\n<div align=\"center\">\n\n[[Website]](https://os-copilot.github.io/)\n[[Arxiv]](https://arxiv.org/abs/2402.07456)\n[[PDF]](https://arxiv.org/pdf/2402.07456.pdf)\n[[Documentation]]()\n<!-- [[Tweet]](https://twitter.com/DrJimFan/status/1662115266933972993?s=20) -->\n\n[![Static Badge](https://img.shields.io/badge/MIT-License-green)](https://github.com/OS-Copilot/OS-Copilot/blob/main/LICENSE)\n![Static Badge](https://img.shields.io/badge/python-3.10-blue)\n[![Static Badge](https://img.shields.io/badge/FRIDAY-Frontend-yellow)](https://github.com/OS-Copilot/FRIDAY-front)\n\n\n\n<p align=\"center\">\n <img src='pic/demo.png' width=\"100%\">\n</p>\n\n</div>\n\n## \ud83d\udcd6 Overview\n\n- **OS-Copilot** is a pioneering conceptual framework for building generalist computer agents on Linux and MacOS, which provides a unified interface for app interactions in the heterogeneous OS ecosystem.\n \n<p align=\"center\">\n <img src='pic/framework.png' width=\"75%\">\n</p>\n\n- Leveraging OS-Copilot, we built **FRIDAY**, a self-improving AI assistant capable of solving general computer tasks.\n\n<p align=\"center\">\n <img src='pic/FRIDAY.png' width=\"75%\">\n</p>\n\n## \u26a1\ufe0f Quickstart\n\n1. **Clone the GitHub Repository:** \n\n ```\n git clone https://github.com/OS-Copilot/OS-Copilot.git\n ```\n\n2. **Set Up Python Environment:** Ensure you have a version 3.10 or higher Python environment. You can create and\n activate this environment using the following commands, replacing `oscopilot_env` with your preferred environment\n name:\n\n ```\n conda create -n oscopilot_env python=3.10 -y\n conda activate oscopilot_env\n ```\n\n3. **Install Dependencies:** Move into the `OS-Copilot` directory and install the necessary dependencies by running:\n\n ```\n cd OS-Copilot\n pip install -e .\n ```\n\n4. **Set OpenAI API Key:** Configure your OpenAI API key in [.env](.env) and select the model you wish to use.\n\n5. **Running the Script:** Run the quick_start.py script, simply execute the following command in your terminal:\n ```\n python quick_start.py\n ```\n\n\\* FRIDAY currently only supports single-round conversation.\n\n## \ud83d\udee0\ufe0f FRIDAY-Gizmos\nWe maintain an open-source library of toolkits for FRIDAY, which includes tools that can be directly utilized within FRIDAY.\nFor a detailed list of tools, please see [FRIDAY-Gizmos](https://github.com/OS-Copilot/FRIDAY-Gizmos). The usage methods are as follows:\n\n1. Find the tool you want to use in [FRIDAY-Gizmos](https://github.com/OS-Copilot/FRIDAY-Gizmos) and download its tool code.\n2. Add the tool to FRIDAY's toolkit:\n```shell\npython friday/tool_repository/manager/tool_manager.py --add --tool_name [tool_name] --tool_path [tool_path]\n```\n3. If you wish to remove a tool, you can run:\n```shell\npython friday/tool_repository/manager/tool_manager.py --delete --tool_name [tool_name]\n```\n\n## \ud83d\udcbb User Interface (UI)\n\n**Enhance Your Experience with Our Intuitive Frontend!** This interface is crafted for effortless control of your agents. For more details, visit [FRIDAY Frontend](https://github.com/OS-Copilot/FRIDAY-front).\n\n## \u2728 Deploy API Services\n\nFor comprehensive guidelines on deploying API services, please refer to the [OS-Copilot documentation](). \n\n\n<!-- ## \ud83d\udc68\u200d\ud83d\udcbb\u200d Contributors\n\n<a href=\"\">\n <img src=\"\" />\n</a>\n\nMade with [contrib.rocks](https://contrib.rocks). -->\n\n## \ud83d\udee1 Disclaimer\n\nOS-Copilot is provided \"as is\" without warranty of any kind. Users assume full responsibility for any risks associated with its use, including **potential data loss** or **changes to system settings**. The developers of OS-Copilot are not liable for any damages or losses resulting from its use. Users must ensure their actions comply with applicable laws and regulations.\n\n\n## \ud83c\udfeb Community\n\nJoin our community to connect with other agent enthusiasts, share your tools and demos, and collaborate on exciting initiatives. You can find us on [Slack](https://join.slack.com/t/slack-ped8294/shared_invite/zt-2cqebow90-soac9UFKGZ2RcUy8PqjZrA).\n\n\n## \ud83d\udd0e Citation\n\n```\n@misc{wu2024oscopilot,\n title={OS-Copilot: Towards Generalist Computer Agents with Self-Improvement}, \n author={Zhiyong Wu and Chengcheng Han and Zichen Ding and Zhenmin Weng and Zhoumianze Liu and Shunyu Yao and Tao Yu and Lingpeng Kong},\n year={2024},\n eprint={2402.07456},\n archivePrefix={arXiv},\n primaryClass={cs.AI}\n}\n```\n\n\n## \ud83d\udcec Contact\n\nIf you have any inquiries, suggestions, or wish to contact us for any reason, we warmly invite you to email us at wuzhiyong@pjlab.org.cn.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "An self-improving embodied conversational agents seamlessly integrated into the operating system to automate our daily tasks.",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/OS-Copilot/OS-Copilot"
},
"split_keywords": [
"ai",
" llms",
" large language models",
" agent",
" os",
" operating system"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a342d9c912d099a960a6c4a936b70b8de93c5cbb3dae069a7db27f5ee5ef7a7c",
"md5": "0a799cb877e42df8d6b228804c82cd2b",
"sha256": "9a4f1139111d87ecbaae24f1a83ec7fd14722bffadcdcc16293f0140770230e6"
},
"downloads": -1,
"filename": "os_copilot-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0a799cb877e42df8d6b228804c82cd2b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 182312,
"upload_time": "2024-03-26T03:25:45",
"upload_time_iso_8601": "2024-03-26T03:25:45.087058Z",
"url": "https://files.pythonhosted.org/packages/a3/42/d9c912d099a960a6c4a936b70b8de93c5cbb3dae069a7db27f5ee5ef7a7c/os_copilot-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0da9b71afc63631b7afeef1cbd2ebf939843c5b222a1186fb7824057a1ed307f",
"md5": "aa4ea1183101ac1bc3ab010cd402ae52",
"sha256": "481353da7ee0f4259b808a59db87968cd67988ec467c7ecc6a147190a777a80c"
},
"downloads": -1,
"filename": "os-copilot-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "aa4ea1183101ac1bc3ab010cd402ae52",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 89003,
"upload_time": "2024-03-26T03:25:47",
"upload_time_iso_8601": "2024-03-26T03:25:47.785112Z",
"url": "https://files.pythonhosted.org/packages/0d/a9/b71afc63631b7afeef1cbd2ebf939843c5b222a1186fb7824057a1ed307f/os-copilot-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-26 03:25:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "OS-Copilot",
"github_project": "OS-Copilot",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "os-copilot"
}