SkillAgentSearch skills...

LocalChatDev

A version of the ChatDev framework modified to work locally or in private networks of user-hosted ai model instances.

Install / Use

/learn @latekvo/LocalChatDev
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

This is a modified fork of the official ChatDev repository

We are aiming to make ChatDev run locally, or on a private network of devices. Localization is done via ollama as it's cross-platform, single-command installable, and even after testing on multiple different devices, never threw a single error contrary to other local model-hosting software such as h2o-ai which posed multiple challenges when we tried to use it. <br>

Alternative localization can be performed by running https://github.com/oobabooga/text-generation-webui <br> with the --api parameter enabled, <br> and ChatDev with OPENAI_BASE_URL=http://127.0.0.1:5000/v1 environment variable set. This approach will soon become the default launching localization method utilized by this project. In case you have problems with using Ollama, this option is worth giving a try.

How to launch the project?

This project is currently in a work-in-progress state, and it's not intended to be used. <br> Currently, to launch LocalChatDev:

  • install the Ollama server, then launch via ollama serve
  • (optional) set local environment variable OPENAI_API_KEY to any value
  • launch the run.py with --local switch enabled via python 3.11

example: run.py --local --task "Write a fizz buzz implementation"

But this process is deprecated, and we're currently working on migrating away from Ollama, to an alternative library called text-generation-webui, which makes both the installation, and the hosting processes much easier.

Additional feature - Research Mode:

Due to the convenience not having to purchase openai credits being accessible only on this repository, and with further plans of federalizing this feature, an alternative functionality has been added.<br> You can use this feature by setting this parameter: --config "Research"<br> Research mode switches this programming pipeline software into a research pipeline software, performing web-enabled comprehensive research routine about the provided query.

What has to be done:

  • Requests are sent and forwarded asynchronously, with the project being developed by multiple agents at the same time.
  • Requests are forwarded to separate workers instead of running fully locally.
  • A central RAG database is available for all the workers to use.

What has been done:

  • ChatDev is capable of running offline in a completely local mode.

More thoughts:

At first, code will be divided into clearly separate features. We then may use short langchain routines running existing pairs of programmers <-> code reviewers as workers, running on a separate machine, to complete those feature requests. The newly added feature will be finalized by being forwarded to a pair of integration coder <-> code reviewer, who will try and integrate the newly added code with an existing codebase. With the whole federalization approach I aim to create a system similar to that of Microsoft Azure, where a pool of tasks is being worked on by a pool of workers, first in - first out.


More details:

  • Requests to the ollama can be made via a simple http json request, here is an example request made via curl:
        curl --location 'http://localhost:11434/api/generate' \
        --data '{
            "model": "llama2-uncensored:7b",
            "prompt": "what is the meaning of life?",
            "system": "talk like a pirate",
            "stream": false
        }'
    
    And here is an example written in python:
    import requests
    
    url = 'http://localhost:11434/api/generate'
      
    request_data = {
      'model': 'llama2-uncensored:7b',
      'prompt': 'what is the meaning of life?',
      'system': 'talk like a pirate',
    }
      
    resp = requests.get(url=url, json=request_data, stream=False)
    data = resp.content.split(b'\n') 
    
    Note: the "stream": false parameter is very important and must be present in all requests.

Original unmodified readme file:

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

  • ChatDev stands as a virtual software company that operates through various intelligent agents holding different roles, including Chief Executive Officer <img src='visualizer/static/figures/ceo.png' height=20>, Chief Product Officer <img src='visualizer/static/figures/cpo.png' height=20>, Chief Technology Officer <img src='visualizer/static/figures/cto.png' height=20>, programmer <img src='visualizer/static/figures/programmer.png' height=20>, reviewer <img src='visualizer/static/figures/reviewer.png' height=20>, tester <img src='visualizer/static/figures/tester.png' height=20>, art designer <img src='visualizer/static/figures/designer.png' height=20>. These agents form a multi-agent organizational structure and are united by a mission to "revolutionize the digital world through programming." The agents within ChatDev collaborate by participating in specialized functional seminars, including tasks such as designing, coding, testing, and documenting.
  • The primary objective of ChatDev is to offer an easy-to-use, highly customizable and extendable framework, which is based on large language models (LLMs) and serves as an ideal scenario for studying collective intelligence.
<p align="center"> <img src='./misc/company.png' width=600> </p>

🎉 News

  • December 28, 2023: We present Experiential Co-Learning, an innovative approach where instructor and assistant agents accumulate shortcut-oriented experiences to effectively solve new tasks, reducing repetitive errors and enhancing efficiency. Check out our preprint paper at https://arxiv.org/abs/2312.17025 and this technique will soon be integrated into ChatDev.

    <p align="center"> <img src='./misc/ecl.png' width=860> </p>
  • November 15, 2023: We launched ChatDev as a SaaS platform that enables software developers and innovative entrepreneurs to build software efficiently at a very low cost and barrier to entry. Try it out at https://chatdev.modelbest.cn/.

    <p align="center"> <img src='./misc/saas.png' width=560> </p>
  • November 2, 2023: ChatDev is now supported with a new feature: incremental development, which allows agents to develop upon existing codes. Try --config "incremental" --path "[source_code_directory_path]" to start it.

    <p align="center"> <img src='./misc/increment.png' width=700> </p>
  • October 26, 2023: ChatDev is now supported with Docker for safe execution (thanks to contribution from ManindraDeMel). Please see Docker Start Guide.

    <p align="center"> <img src='./misc/docker.png' width=400> </p>
  • September 25, 2023: The Git mode is now available, enabling the programmer <img src='visualizer/static/figures/programmer.png' height=20> to utilize Git for version control. To enable this feature, simply set "git_management" to "True" in ChatChainConfig.json. See guide. <p align="center"> <img src='./misc/github.png' width=600> </p>
  • September 20, 2023: The Human-Agent-Interaction mode is now available! You can get involved with the ChatDev team by playing the role of reviewer <img src='visualizer/static/figures/reviewer.png' height=20> and making suggestions to the programmer <img src='visualizer/static/figures/programmer.png' height=20>; try python3 run.py --task [description_of_your_idea] --config "Human". See guide and example. <p align="center"> <img src='./misc/Human_intro.png' width=600> </p>
  • September 1, 2023: The Art mode is available now! You can activate the designer agent <img src='visualizer/static/figures/designer.png' height=20> to generate images used in the software; try python3 run.py --task [description_of_your_idea] --config "Art". See guide and example.
  • August 28, 2023: The system is publicly available.
  • August 17, 2023: The v1.0.0 version was ready for release.
  • July 30, 2023: Users can customize ChatChain, Phase, and Role settings. Additionally, both online Log mode and replay mode are now supported.
  • July 16, 2023: The preprint paper associated with this project was published.
  • June 30, 2023: The initial version of the ChatDev repository was released.

❓ 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 env

Related Skills

View on GitHub
GitHub Stars40
CategoryDevelopment
Updated26d ago
Forks11

Languages

Shell

Security Score

90/100

Audited on Mar 6, 2026

No findings