Project Analysis: OpenBMB/ChatDev
OpenBMB/ChatDev is a Python-based software aimed to offer a customizable and extendable tool for studying collective intelligence with a series of communicative agents for software development roles. However, the project seems to have a high number of open issues (35) that need to be addressed, indicating an active community with ongoing development and bugs.
The open issues range from bugs and feature requests to unique concerns such as Code-of-Conduct proposal, implementation of X11 in Docker, and potential complications with dependencies and security.
The project seems to have a strong pull-request culture with a total of 10 open and 82 closed pull requests. These PRs revolve around the addition of new features, translation+documentation improvements, bug fixes, and more, demonstrating an enriching and collaborative maintenance.
Closed issues (125) cover a range of functional bugs, enhancement requests, and installation problems. The nature of these closed issues reflects the project’s development trajectory, focusing on software robustness, reliability, and usability.
Though the project is under Apache 2.0 License, commercial use requires specific licensing agreements and data usage is regulated under a strict CC BY-NC 4.0 license.
In conclusion, OpenBMB/ChatDev has a healthy and active development status. However, the number of open issues suggests that the project might benefit from a more structured issue triage process to help prioritize and manage these issues, which could improve overall project stability and user experience.
Detailed Reports
Report on issues
Open Issues
- Code-of-Conduct proposal: Issue #238 proposing to include a code-of-conduct in the repo to ensure a safe, respectful, and inclusive environment.
- Filipino Translation Consideration: Issue #237 suggesting that translating documentation to Filipino language may not be needed.
- X11 in Docker: Issue #235 questioning why X11 is being implemented in Docker and suggests potential complications with dependencies and security.
- Codebase Updates: Issue #224 seeking suggestions to have contextual memory of the existing codebase similar to GitHub Copilot's functionality.
- Continue Dev from Existing Directory: #219 Feature request to enable continued development from a pre-existing directory.
- LM Studio API Guidance: Issue #207 seeking guidance on setting up with LM Studio API.
- API Host Config: Issue #206, querying if it is possible to setup own API host instead of using the default: https://api.openai.com.
- Frontend Missing: Issue #202 reporting the absence of frontend files after two successful runs of the backend code.
- Stopped CMD Log: Issue #198 complaining about a stopped command prompt during execution, no generated project in the project folder.
- git_management Clarification: Issue #196 requesting clarification about the functionality of "git_management".
- ValueError during Programmer Phase: Issue #195 signaling an apparent ValueError during the programmer phase while using LM Studio + Mistral LLM with ChatDev.
- User Acceptance Test (UAT) Request: #193 Proposal to incorporate User Acceptance Testing into the final stage of project completion.
- API Key Installation Error: Issue #184 reporting an error while setting OpenAI API Key during installation.
- Unmaintainable README-Language.md: Issue #180 concerns the feasibility of maintaining multiple readmes in different languages, suggests keeping only the English version.
- 'Programmer' Use of Placeholders: Issue #175 reporting that the text used for the Programmer misleadingly introduces 'pass' and 'Python' into the model's attention tree.
- 'File Sourced' Task Descriptions: Issue #174 proposing the allowance of file sourced task descriptions.
- OpenAI API Key Not Found: Issue #149 reporting a ValueError - indicating that the OpenAI API key is not found, though it is an environment variable.
- Font Color Alteration in Mac Terminal: Issue #146, reporting a font color alteration in Mac Terminal after running run.py.
- Excluding Examples from Warehouse Directory: Issue #141 requests examples to be excluded and ignored in
.gitignore
.
- Replay Error: Issue #107 reports an error while replaying, console log indicates a TypeError.
- Local Hosting of LLM API Endpoint: Issue #100 presents a feature request for local hosting of the LLM API Endpoint integrated with TextGenWebUI.
- Local Models Integration: Issue #27 requests information if there's any plan to allow integrating local models.
Closed Issues
A total of 125 issues have been closed. Some of these include:
- #236: Addition of context and explanation in 'Guides for Customizing ChatDev'
- #231: Added new employees to company
- #229: Resolved stuck issue in ChatDev
- #188: Resolved issues regarding the requirement.txt error
- #171: Dealt with the rate limit reached for GPT-3.5-turbo
- #167: Resolved freezing issue in ChatDev
- #160: Dark mode added
- #131: Resolved syntax error in README
- #127: Query about GPT 4 support addressed
- #125: Made Docker the default run
- #120: Missing 'main.py' file in the 'timer' project addressed.
This shows a pattern of addressing various bugs, syntax & install issues, and enhancements to the program.
Report on pull requests
Open PRs:
- #244: Typo correction in
documents.py
. No serious concerns.
- #243, #242, #241: Turkish, Arabic, and Bahasa Indonesia translations added respectively. Need review from native speakers.
- #240: Addition of
CITATION.cff
file for auto citation generation. File needs reviewing.
- #239: Updated CODE_OF_CONDUCT.MD and fixed #238. Awaiting confirmation.
- #216: Implements Crowdin translation automation. Detailed and numerous commit history, check for compatibility and correctness.
- #192: Allows Azure ChatGPT usage using the environment variable "OPENAI_API_ENGINE". Pending review.
- #181: Introduction of pre-commit configuration. Large changes, needs thorough review.
- #179, #178: Changes to project setup and
run.py
replacement. Check for impacts on workflow.
- #109: Replaces http polling with SocketIO. Small changes, seems harmless, needs review.
- #53: Adds support for various models using LiteLLM. Requires verification for effectiveness.
Closed PRs (notable ones):
- #234, #233, #222, #221, #220: Various typo fixes and README updates. Merged without apparent issues.
- #203: Docker support added. Useful update.
- #199: Markdown error fix, merged without problems.
- #204: Typo in wiki.md corrected.
- #194: Language automation seemed problematic and the test failed.
- #66: Two examples added.
- #57: Test process killing on Windows made possible.
- Issues were fixed in PRs #42, #19, #17, with a clear need for better cross-platform and UI compatibility.
Total open PRs: 10
Total closed PRs: 82
Report on README
OpenBMB/ChatDev
About: OpenBMB's ChatDev is a Python project providing a framework for "communicative agents for software development" based on a large language model (LLMs). It represents a virtual software company where intelligent agents perform various roles (e.g., CEO, Programmer). The aim is to offer a customizable and extendable tool suitable for studying collective intelligence.
Issues: There are 35 open issues that need addressing.
Current Version: There doesn't seem to be clear information regarding the current version of the project among the README text.
Features: The project includes Docker support, Git mode for version control, human-agent interaction mode, and art mode enabling the designer agent. It also allows users to customize their "ChatDev Company" through three simple configuration JSON files and share their software by creating a pull request.
Installation: The project provides a detailed guide for setting up through the terminal and Docker, including details about cloning the repository, setting up the Python environment, exporting the OpenAI API key, building, and running the software.
TODOs:
- Address the 35 open issues.
- Possibly add a section detailing the current version of the project.
Contributors: The project appreciates contributions and has a defined guide for contributors.
License: The project's source code is under the Apache 2.0 License, but the use of the project's components for commercial purposes requires separate licensing agreements. The related data is licensed under CC BY-NC 4.0.
Contact: They provide mail contact chatdev.openbmb@outlook.com for questions and feedback.