From 8c94195c0b6ec48daab98f042d7cbac6ff22aef2 Mon Sep 17 00:00:00 2001 From: Chao Lan Date: Sun, 6 Aug 2023 05:50:15 +0800 Subject: [PATCH 01/18] fix the bug can not use proxy --- metagpt/config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/metagpt/config.py b/metagpt/config.py index d53571468..e92c4fa75 100644 --- a/metagpt/config.py +++ b/metagpt/config.py @@ -49,11 +49,11 @@ class Config(metaclass=Singleton): self.openai_api_base = self._get("OPENAI_API_BASE") if not self.openai_api_base or "YOUR_API_BASE" == self.openai_api_base: + logger.info("Set OPENAI_API_BASE in case of network issues") + else: openai_proxy = self._get("OPENAI_PROXY") or self.global_proxy if openai_proxy: openai.proxy = openai_proxy - else: - logger.info("Set OPENAI_API_BASE in case of network issues") self.openai_api_type = self._get("OPENAI_API_TYPE") self.openai_api_version = self._get("OPENAI_API_VERSION") self.openai_api_rpm = self._get("RPM", 3) From c1c73a235757c0fa9d6c88b55575df9b1656be58 Mon Sep 17 00:00:00 2001 From: Chao Lan Date: Mon, 7 Aug 2023 16:26:31 +0800 Subject: [PATCH 02/18] no longer checking the value of OPENAI_API_BASE --- metagpt/config.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/metagpt/config.py b/metagpt/config.py index e92c4fa75..821ae7cd0 100644 --- a/metagpt/config.py +++ b/metagpt/config.py @@ -48,12 +48,9 @@ class Config(metaclass=Singleton): raise NotConfiguredException("Set OPENAI_API_KEY first") self.openai_api_base = self._get("OPENAI_API_BASE") - if not self.openai_api_base or "YOUR_API_BASE" == self.openai_api_base: - logger.info("Set OPENAI_API_BASE in case of network issues") - else: - openai_proxy = self._get("OPENAI_PROXY") or self.global_proxy - if openai_proxy: - openai.proxy = openai_proxy + openai_proxy = self._get("OPENAI_PROXY") or self.global_proxy + if openai_proxy: + openai.proxy = openai_proxy self.openai_api_type = self._get("OPENAI_API_TYPE") self.openai_api_version = self._get("OPENAI_API_VERSION") self.openai_api_rpm = self._get("RPM", 3) From 848eb373419ec667e5cf257f787e59cb20a495d2 Mon Sep 17 00:00:00 2001 From: Chao Lan Date: Wed, 9 Aug 2023 03:24:51 +0000 Subject: [PATCH 03/18] set OPENAI_API_BASE when using proxy --- metagpt/config.py | 1 + 1 file changed, 1 insertion(+) diff --git a/metagpt/config.py b/metagpt/config.py index 821ae7cd0..48010dcec 100644 --- a/metagpt/config.py +++ b/metagpt/config.py @@ -51,6 +51,7 @@ class Config(metaclass=Singleton): openai_proxy = self._get("OPENAI_PROXY") or self.global_proxy if openai_proxy: openai.proxy = openai_proxy + openai.api_base = self.openai_api_base self.openai_api_type = self._get("OPENAI_API_TYPE") self.openai_api_version = self._get("OPENAI_API_VERSION") self.openai_api_rpm = self._get("RPM", 3) From bc7e9687c8a35e52a46dcfb42c91eb06328b6cc5 Mon Sep 17 00:00:00 2001 From: leonzh0u Date: Wed, 9 Aug 2023 20:33:25 -0400 Subject: [PATCH 04/18] try github codespace --- .devcontainer/devcontainer.json | 27 +++++++++++++++++++++++++++ .devcontainer/postCreateCommand.sh | 7 +++++++ 2 files changed, 34 insertions(+) create mode 100644 .devcontainer/devcontainer.json create mode 100644 .devcontainer/postCreateCommand.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..a774d0ed1 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,27 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/python +{ + "name": "Python 3", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/python:0-3.11", + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + "settings": {}, + "extensions": [ + "streetsidesoftware.code-spell-checker" + ] + } + }, + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "./.devcontainer/postCreateCommand.sh" + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.devcontainer/postCreateCommand.sh b/.devcontainer/postCreateCommand.sh new file mode 100644 index 000000000..06d12e408 --- /dev/null +++ b/.devcontainer/postCreateCommand.sh @@ -0,0 +1,7 @@ +# Step 1: Ensure that NPM is installed on your system. Then install mermaid-js. +npm --version +sudo npm install -g @mermaid-js/mermaid-cli + +# Step 2: Ensure that Python 3.9+ is installed on your system. You can check this by using: +python --version +python setup.py install \ No newline at end of file From 23c88a72ff8c19b63a83025a9ee6516456bd12c8 Mon Sep 17 00:00:00 2001 From: Leon Zhou Date: Wed, 9 Aug 2023 20:45:26 -0400 Subject: [PATCH 05/18] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7eaaa2f69..4fd179f53 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ # MetaGPT: The Multi-Agent Framework roadmap Twitter Follow

+[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/geekan/MetaGPT) 1. MetaGPT takes a **one line requirement** as input and outputs **user stories / competitive analysis / requirements / data structures / APIs / documents, etc.** 2. Internally, MetaGPT includes **product managers / architects / project managers / engineers.** It provides the entire process of a **software company along with carefully orchestrated SOPs.** From 493c2a0b8609c79f7f64e8314b24c6861d760939 Mon Sep 17 00:00:00 2001 From: Leon Zhou Date: Wed, 9 Aug 2023 20:47:51 -0400 Subject: [PATCH 06/18] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4fd179f53..d59513fd3 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ # MetaGPT: The Multi-Agent Framework roadmap Twitter Follow

+ [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/geekan/MetaGPT) 1. MetaGPT takes a **one line requirement** as input and outputs **user stories / competitive analysis / requirements / data structures / APIs / documents, etc.** From f4c8311b4c56d99ac6d96c9a00468992eb5c7d24 Mon Sep 17 00:00:00 2001 From: Leon Zhou Date: Wed, 9 Aug 2023 20:54:53 -0400 Subject: [PATCH 07/18] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d59513fd3..370202998 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,10 @@ # MetaGPT: The Multi-Agent Framework Twitter Follow

-[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/geekan/MetaGPT) +

+ Open in Dev Containers + Open in GitHub Codespaces +

1. MetaGPT takes a **one line requirement** as input and outputs **user stories / competitive analysis / requirements / data structures / APIs / documents, etc.** 2. Internally, MetaGPT includes **product managers / architects / project managers / engineers.** It provides the entire process of a **software company along with carefully orchestrated SOPs.** From 36f6aaed0eb5817bfeb45eb39fbf8ecdc0db8f62 Mon Sep 17 00:00:00 2001 From: Leon Zhou Date: Wed, 9 Aug 2023 21:09:58 -0400 Subject: [PATCH 08/18] Create docker-compose.yaml --- .devcontainer/docker-compose.yaml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .devcontainer/docker-compose.yaml diff --git a/.devcontainer/docker-compose.yaml b/.devcontainer/docker-compose.yaml new file mode 100644 index 000000000..a9988b1f3 --- /dev/null +++ b/.devcontainer/docker-compose.yaml @@ -0,0 +1,31 @@ +version: '3' +services: + metagpt: + build: + dockerfile: Dockerfile + context: .. + volumes: + # Update this to wherever you want VS Code to mount the folder of your project + - ..:/workspaces:cached + networks: + - metagpt-network + # environment: + # MONGO_ROOT_USERNAME: root + # MONGO_ROOT_PASSWORD: example123 + # depends_on: + # - mongo + # mongo: + # image: mongo + # restart: unless-stopped + # environment: + # MONGO_INITDB_ROOT_USERNAME: root + # MONGO_INITDB_ROOT_PASSWORD: example123 + # ports: + # - "27017:27017" + # networks: + # - metagpt-network + +networks: + metagpt-network: + driver: bridge + From e24e58f3142b8e5de3abc5c1e1223d40c5e3a03c Mon Sep 17 00:00:00 2001 From: Leon Zhou Date: Wed, 9 Aug 2023 21:11:25 -0400 Subject: [PATCH 09/18] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 370202998..4ed684118 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ # MetaGPT: The Multi-Agent Framework

Open in Dev Containers - Open in GitHub Codespaces + Open in GitHub Codespaces

1. MetaGPT takes a **one line requirement** as input and outputs **user stories / competitive analysis / requirements / data structures / APIs / documents, etc.** From b995d832730650d14738716c3a57d35465aee8c5 Mon Sep 17 00:00:00 2001 From: Leon Zhou Date: Wed, 9 Aug 2023 21:18:26 -0400 Subject: [PATCH 10/18] Create README.md --- .devcontainer/README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .devcontainer/README.md diff --git a/.devcontainer/README.md b/.devcontainer/README.md new file mode 100644 index 000000000..47ae0ddd5 --- /dev/null +++ b/.devcontainer/README.md @@ -0,0 +1,38 @@ +# Dev container + +This project includes a [dev container](https://containers.dev/), which lets you use a container as a full-featured dev environment. + +You can use the dev container configuration in this folder to build and run the app without needing to install any of its tools locally! You can use it in [GitHub Codespaces](https://github.com/features/codespaces) or the [VS Code Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). + +## GitHub Codespaces +Open in GitHub Codespaces + +You may use the button above to open this repo in a Codespace + +For more info, check out the [GitHub documentation](https://docs.github.com/en/free-pro-team@latest/github/developing-online-with-codespaces/creating-a-codespace#creating-a-codespace). + +## VS Code Dev Containers +Open in Dev Containers + +Note: If you click this link you will open the main repo and not your local cloned repo, you can use this link and replace with your username and cloned repo name: +https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com// + + +If you already have VS Code and Docker installed, you can use the button above to get started. This will cause VS Code to automatically install the Dev Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use. + +You can also follow these steps to open this repo in a container using the VS Code Dev Containers extension: + +1. If this is your first time using a development container, please ensure your system meets the pre-reqs (i.e. have Docker installed) in the [getting started steps](https://aka.ms/vscode-remote/containers/getting-started). + +2. Open a locally cloned copy of the code: + + - Fork and Clone this repository to your local filesystem. + - Press F1 and select the **Dev Containers: Open Folder in Container...** command. + - Select the cloned copy of this folder, wait for the container to start, and try things out! + +You can learn more in the [Dev Containers documentation](https://code.visualstudio.com/docs/devcontainers/containers). + +## Tips and tricks + +* If you are working with the same repository folder in a container and Windows, you'll want consistent line endings (otherwise you may see hundreds of changes in the SCM view). The `.gitattributes` file in the root of this repo will disable line ending conversion and should prevent this. See [tips and tricks](https://code.visualstudio.com/docs/devcontainers/tips-and-tricks#_resolving-git-line-ending-issues-in-containers-resulting-in-many-modified-files) for more info. +* If you'd like to review the contents of the image used in this dev container, you can check it out in the [devcontainers/images](https://github.com/devcontainers/images/tree/main/src/python) repo. From d3dcd55de4e580f1b3b79c14622b53dae7b2240a Mon Sep 17 00:00:00 2001 From: Leon Zhou Date: Sat, 12 Aug 2023 00:12:00 -0400 Subject: [PATCH 11/18] Update README.md --- .devcontainer/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.devcontainer/README.md b/.devcontainer/README.md index 47ae0ddd5..4bc6012bf 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -2,7 +2,8 @@ # Dev container This project includes a [dev container](https://containers.dev/), which lets you use a container as a full-featured dev environment. -You can use the dev container configuration in this folder to build and run the app without needing to install any of its tools locally! You can use it in [GitHub Codespaces](https://github.com/features/codespaces) or the [VS Code Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). +You can use the dev container configuration in this folder to build and start running MetaGPT locally! For more, refer to the main README under the home directory. +You can use it in [GitHub Codespaces](https://github.com/features/codespaces) or the [VS Code Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). ## GitHub Codespaces Open in GitHub Codespaces From 95b317b329cc8903ba032ba49e53601197a2cf7b Mon Sep 17 00:00:00 2001 From: Leon Zhou Date: Sat, 12 Aug 2023 00:14:48 -0400 Subject: [PATCH 12/18] Update README.md --- .devcontainer/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/README.md b/.devcontainer/README.md index 4bc6012bf..dd088aab1 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -16,7 +16,7 @@ ## VS Code Dev Containers Open in Dev Containers Note: If you click this link you will open the main repo and not your local cloned repo, you can use this link and replace with your username and cloned repo name: -https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com// +https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/geekan/MetaGPT If you already have VS Code and Docker installed, you can use the button above to get started. This will cause VS Code to automatically install the Dev Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use. From c43446516885cc978adf64d1a85fefd340149566 Mon Sep 17 00:00:00 2001 From: Leon Zhou Date: Sat, 12 Aug 2023 00:26:52 -0400 Subject: [PATCH 13/18] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4ed684118..83536bbea 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ # MetaGPT: The Multi-Agent Framework

Open in Dev Containers - Open in GitHub Codespaces + Open in GitHub Codespaces

1. MetaGPT takes a **one line requirement** as input and outputs **user stories / competitive analysis / requirements / data structures / APIs / documents, etc.** From 7db209f8a0222fa3a28ac29b37ff960dcbce5837 Mon Sep 17 00:00:00 2001 From: Andrei Boca Date: Tue, 22 Aug 2023 17:34:53 +0200 Subject: [PATCH 14/18] fix(startup.py): add custom loop policy for Windows --- startup.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/startup.py b/startup.py index f37b5286c..03b2149c4 100644 --- a/startup.py +++ b/startup.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- import asyncio - +import platform import fire from metagpt.roles import Architect, Engineer, ProductManager, ProjectManager, QaEngineer @@ -33,6 +33,8 @@ def main(idea: str, investment: float = 3.0, n_round: int = 5, code_review: bool :param code_review: Whether to use code review. :return: """ + if platform.system() == "Windows": + asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) asyncio.run(startup(idea, investment, n_round, code_review, run_tests)) From 082d566be7ba2e9b9b74debcffe406629ab0d9a0 Mon Sep 17 00:00:00 2001 From: stellaHSR <34952977+stellaHSR@users.noreply.github.com> Date: Fri, 25 Aug 2023 10:22:17 +0800 Subject: [PATCH 15/18] Update README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 33bbd9aba..0528c384e 100644 --- a/README.md +++ b/README.md @@ -229,3 +229,9 @@ ## Contact Information ## Demo https://github.com/geekan/MetaGPT/assets/2707039/5e8c1062-8c35-440f-bb20-2b0320f8d27d + +## Join us +📢 Join Our Discord Channel! +https://discord.gg/4WdszVjv + +Looking forward to seeing you there! 🎉 From db532f138aaffeb9d8d19c4d8af60d1e9127429f Mon Sep 17 00:00:00 2001 From: stellaHSR <34952977+stellaHSR@users.noreply.github.com> Date: Fri, 25 Aug 2023 10:27:24 +0800 Subject: [PATCH 16/18] Update README_CN.md --- docs/README_CN.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/README_CN.md b/docs/README_CN.md index 0ef54b017..e711e2196 100644 --- a/docs/README_CN.md +++ b/docs/README_CN.md @@ -193,8 +193,11 @@ ## 演示 https://github.com/geekan/MetaGPT/assets/2707039/5e8c1062-8c35-440f-bb20-2b0320f8d27d -## 加入微信讨论群 +## 加入我们 -添加运营小姐姐,拉你入群 +📢 **关于微信群的通知** +经过一段时间的观察和运营,由于微信群运营效率有限,信息淹没、讨论分散,为了提供更好的交流环境和更高效的社区管理,我们诚挚地邀请大家加入我们的Discord社区,与我们一同构建一个更加活跃和有序的交流平台。 -MetaGPT WeChat Discuss Group + +🔗 **Discord邀请链接** :https://discord.gg/4WdszVjv +感谢大家的支持与理解,期待在Discord上与大家相见!🎉 From f05b79b783177e3714babc834a7a761d621aed86 Mon Sep 17 00:00:00 2001 From: stellaHSR <34952977+stellaHSR@users.noreply.github.com> Date: Fri, 25 Aug 2023 10:27:48 +0800 Subject: [PATCH 17/18] Update README_CN.md --- docs/README_CN.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/README_CN.md b/docs/README_CN.md index e711e2196..9d6c472e7 100644 --- a/docs/README_CN.md +++ b/docs/README_CN.md @@ -196,8 +196,10 @@ ## 演示 ## 加入我们 📢 **关于微信群的通知** + 经过一段时间的观察和运营,由于微信群运营效率有限,信息淹没、讨论分散,为了提供更好的交流环境和更高效的社区管理,我们诚挚地邀请大家加入我们的Discord社区,与我们一同构建一个更加活跃和有序的交流平台。 🔗 **Discord邀请链接** :https://discord.gg/4WdszVjv + 感谢大家的支持与理解,期待在Discord上与大家相见!🎉 From 65500204b827fa4cdb05e81408f31d0831fbedc7 Mon Sep 17 00:00:00 2001 From: stellaHSR <34952977+stellaHSR@users.noreply.github.com> Date: Fri, 25 Aug 2023 10:31:11 +0800 Subject: [PATCH 18/18] Update README_CN.md --- docs/README_CN.md | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/docs/README_CN.md b/docs/README_CN.md index 9d6c472e7..a69123b9b 100644 --- a/docs/README_CN.md +++ b/docs/README_CN.md @@ -195,11 +195,6 @@ ## 演示 ## 加入我们 -📢 **关于微信群的通知** +📢 加入我们的Discord频道!https://discord.gg/4WdszVjv -经过一段时间的观察和运营,由于微信群运营效率有限,信息淹没、讨论分散,为了提供更好的交流环境和更高效的社区管理,我们诚挚地邀请大家加入我们的Discord社区,与我们一同构建一个更加活跃和有序的交流平台。 - - -🔗 **Discord邀请链接** :https://discord.gg/4WdszVjv - -感谢大家的支持与理解,期待在Discord上与大家相见!🎉 +期待在那里与您相见!🎉