Home

Awesome

Communicative Agents for Software Development

<p align="center"> <img src='./misc/logo1.png' width=550> </p> <p align="center"> ใ€English | <a href="readme/README-Chinese.md">Chinese</a> | <a href="readme/README-Japanese.md">Japanese</a> | <a href="readme/README-Korean.md">Korean</a> | <a href="readme/README-Filipino.md">Filipino</a> | <a href="readme/README-French.md">French</a> | <a href="readme/README-Slovak.md">Slovak</a> | <a href="readme/README-Portuguese.md">Portuguese</a> | <a href="readme/README-Spanish.md">Spanish</a> | <a href="readme/README-Dutch.md">Dutch</a> | <a href="readme/README-Turkish.md">Turkish</a> | <a href="readme/README-Hindi.md">Hindi</a> | <a href="readme/README-Bahasa-Indonesia.md">Bahasa Indonesia</a>ใ€‘ </p> <p align="center"> ใ€๐Ÿ“š <a href="wiki.md">Wiki</a> | ๐Ÿš€ <a href="wiki.md#visualizer">Visualizer</a> | ๐Ÿ‘ฅ <a href="Contribution.md">Community Built Software</a> | ๐Ÿ”ง <a href="wiki.md#customization">Customization</a> | ๐Ÿ‘พ <a href="https://discord.gg/bn4t2Jy6TT")>Discord</a>ใ€‘ </p>

๐Ÿ“– Overview

<p align="center"> <img src='./misc/company.png' width=600> </p>

๐ŸŽ‰ News

<details> <summary>Old News</summary> </details>

โ“ What Can ChatDev Do?

intro

https://github.com/OpenBMB/ChatDev/assets/11889052/80d01d2f-677b-4399-ad8b-f7af9bb62b72

โšก๏ธ Quickstart

๐Ÿ’ป๏ธ Quickstart with Web

Access the web page for visualization and configuration use: https://chatdev.modelbest.cn/

๐Ÿ–ฅ๏ธ Quickstart with terminal

To get started, follow these steps:

  1. Clone the GitHub Repository: Begin by cloning the repository using the command:

    git clone https://github.com/OpenBMB/ChatDev.git
    
  2. Set Up Python Environment: Ensure you have a version 3.9 or higher Python environment. You can create and activate this environment using the following commands, replacing ChatDev_conda_env with your preferred environment name:

    conda create -n ChatDev_conda_env python=3.9 -y
    conda activate ChatDev_conda_env
    
  3. Install Dependencies: Move into the ChatDev directory and install the necessary dependencies by running:

    cd ChatDev
    pip3 install -r requirements.txt
    
  4. Set OpenAI API Key: Export your OpenAI API key as an environment variable. Replace "your_OpenAI_API_key" with your actual API key. Remember that this environment variable is session-specific, so you need to set it again if you open a new terminal session. On Unix/Linux:

    export OPENAI_API_KEY="your_OpenAI_API_key"
    

    On Windows:

    $env:OPENAI_API_KEY="your_OpenAI_API_key"
    
  5. Build Your Software: Use the following command to initiate the building of your software, replacing [description_of_your_idea] with your idea's description and [project_name] with your desired project name: On Unix/Linux:

    python3 run.py --task "[description_of_your_idea]" --name "[project_name]"
    

    On Windows:

    python run.py --task "[description_of_your_idea]" --name "[project_name]"
    
  6. Run Your Software: Once generated, you can find your software in the WareHouse directory under a specific project folder, such as project_name_DefaultOrganization_timestamp. Run your software using the following command within that directory: On Unix/Linux:

    cd WareHouse/project_name_DefaultOrganization_timestamp
    python3 main.py
    

    On Windows:

    cd WareHouse/project_name_DefaultOrganization_timestamp
    python main.py
    

๐Ÿณ Quickstart with Docker

โœจ๏ธ Advanced Skills

For more detailed information, please refer to our Wiki, where you can find:

๐Ÿค— Share Your Software

Code: We are enthusiastic about your interest in participating in our open-source project. If you come across any problems, don't hesitate to report them. Feel free to create a pull request if you have any inquiries or if you are prepared to share your work with us! Your contributions are highly valued. Please let me know if there's anything else you need assistance!

Company: Creating your own customized "ChatDev Company" is a breeze. This personalized setup involves three simple configuration JSON files. Check out the example provided in the CompanyConfig/Default directory. For detailed instructions on customization, refer to our Wiki.

Software: Whenever you develop software using ChatDev, a corresponding folder is generated containing all the essential information. Sharing your work with us is as simple as making a pull request. Here's an example: execute the command python3 run.py --task "design a 2048 game" --name "2048" --org "THUNLP" --config "Default". This will create a software package and generate a folder named /WareHouse/2048_THUNLP_timestamp. Inside, you'll find:

See community contributed software here!

๐Ÿ‘จโ€๐Ÿ’ปโ€ Contributors

<a href="https://github.com/OpenBMB/ChatDev/graphs/contributors"> <img src="https://contrib.rocks/image?repo=OpenBMB/ChatDev" /> </a>

Made with contrib.rocks.

๐Ÿ”Ž Citation

@article{chatdev,
      title = {ChatDev: Communicative Agents for Software Development},
      author = {Chen Qian and Wei Liu and Hongzhang Liu and Nuo Chen and Yufan Dang and Jiahao Li and Cheng Yang and Weize Chen and Yusheng Su and Xin Cong and Juyuan Xu and Dahai Li and Zhiyuan Liu and Maosong Sun},
      journal = {arXiv preprint arXiv:2307.07924},
      url = {https://arxiv.org/abs/2307.07924},
      year = {2023}
}

โš–๏ธ License

๐Ÿค Acknowledgments

<a href="http://nlp.csai.tsinghua.edu.cn/"><img src="misc/thunlp.png" height=50pt></a>ย ย  <a href="https://modelbest.cn/"><img src="misc/modelbest.png" height=50pt></a>ย ย  <a href="https://github.com/OpenBMB/AgentVerse/"><img src="misc/agentverse.png" height=50pt></a>ย ย  <a href="https://github.com/OpenBMB/RepoAgent"><img src="misc/repoagent.png" height=50pt></a> <a href="https://aibrb.com/introducing-herbie-your-super-employee-for-streamlined-productivity/"><img src="https://aibrb.com/wp-content/uploads/2023/09/Featured-on-AIBRB.com-white-1.png" height=50pt></a>

๐Ÿ“ฌ Contact

If you have any questions, feedback, or would like to get in touch, please feel free to reach out to us via email at qianc62@gmail.com