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/LocalChatDevREADME
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_KEYto any value - launch the
run.pywith--localswitch enabled viapython 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:
And here is an example written in python: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 }'
Note: theimport 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')"stream": falseparameter 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.
🎉 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
<p align="center"> <img src='./misc/increment.png' width=700> </p>--config "incremental" --path "[source_code_directory_path]"to start it. -
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"inChatChainConfig.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?

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:
-
Clone the GitHub Repository: Begin by cloning the repository using the command:
git clone https://github.com/OpenBMB/ChatDev.git -
Set Up Python Environment: Ensure you have a version 3.9 or higher Python environment. You can create and activate this env
Related Skills
node-connect
344.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
96.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
