MCPcopy
hub / github.com/OS-Copilot/OS-Copilot

github.com/OS-Copilot/OS-Copilot @v0.1.0 sqlite

repository ↗ · DeepWiki ↗ · release v0.1.0 ↗
195 symbols 534 edges 70 files 96 documented · 49%
README

OS-Copilot: Towards Generalist Computer Agents with Self-Improvement

[Website] [Arxiv] [PDF] [Documentation]

Static Badge Static Badge Static Badge

📖 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.

  • Leveraging OS-Copilot, we built FRIDAY, a self-improving AI assistant capable of solving general computer tasks.

⚡️ Quickstart

  1. Clone the GitHub Repository:

git clone https://github.com/OS-Copilot/OS-Copilot.git

  1. 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

  1. Install Dependencies: Move into the OS-Copilot directory and install the necessary dependencies by running:

cd OS-Copilot pip install -e .

  1. Set OpenAI API Key: Configure your OpenAI API key in .env and select the model you wish to use.

  2. 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. The usage methods are as follows:

  1. Find the tool you want to use in FRIDAY-Gizmos and download its tool code.
  2. Add the tool to FRIDAY's toolkit:
python friday/tool_repository/manager/tool_manager.py --add --tool_name [tool_name] --tool_path [tool_path]
  1. If you wish to remove a tool, you can run:
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.

✨ Deploy API Services

For comprehensive guidelines on deploying API services, please refer to the OS-Copilot documentation.

🏫 Community

Join our community to connect with other enthusiasts, share your tools and demos, and collaborate on innovative projects. Stay engaged and get the latest updates by following us:

  • Discord: Join our Discord server for real-time discussions, support, and to share your work with the community. Click here to join: Discord Server.
  • Twitter: Follow us on Twitter @oscopilot for the latest news, updates, and highlights from our community.

👨‍💻‍ Contributors

🛡 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.

🔎 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.

Core symbols most depended-on inside this repo

search
called by 6
oscopilot/tool_repository/api_tools/bing/bing_api_v2.py
extract_json_from_string
called by 5
oscopilot/modules/base_module.py
then
called by 5
oscopilot/tool_repository/basic_tools/atom_action/src/bash.py
extract_information
called by 4
oscopilot/modules/base_module.py
extract_python_code
called by 3
oscopilot/modules/executor/friday_executor.py
observe
called by 2
oscopilot/environments/bash_env.py
list_working_dir
called by 2
oscopilot/environments/env.py
observe
called by 2
oscopilot/environments/py_env.py

Shape

Method 119
Function 42
Class 28
Route 6

Languages

Python100%

Modules by API surface

oscopilot/tool_repository/manager/tool_manager.py18 symbols
oscopilot/modules/executor/friday_executor.py18 symbols
oscopilot/tool_repository/basic_tools/atom_action/src/bash.py12 symbols
oscopilot/modules/planner/friday_planner.py11 symbols
oscopilot/tool_repository/manager/action_node.py10 symbols
oscopilot/tool_repository/basic_tools/base_action.py10 symbols
oscopilot/tool_repository/api_tools/bing/bing_service.py9 symbols
oscopilot/modules/retriever/vector_retriever.py9 symbols
oscopilot/environments/env.py8 symbols
oscopilot/tool_repository/basic_tools/atom_action/operations/files.py7 symbols
oscopilot/tool_repository/api_tools/bing/bing_api_v2.py6 symbols
test/test_self_learning.py5 symbols

Dependencies from manifests, versioned

Babel2.14.0 · 1×
Deprecated1.2.14 · 1×
Jinja23.1.3 · 1×
MarkupSafe2.1.5 · 1×
PyPika0.48.9 · 1×
PyYAML6.0.1 · 1×
Pygments2.17.2 · 1×
SQLAlchemy2.0.23 · 1×
Sphinx7.2.6 · 1×
XlsxWriter3.1.9 · 1×
aiohttp3.9.1 · 1×
aiosignal1.3.1 · 1×

For agents

$ claude mcp add OS-Copilot \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact