Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
6379 commits
Select commit Hold shift + click to select a range
82c9955
Merge pull request #1510 from didiforgithub/main
geekan Oct 29, 2024
deccb85
Merge branch 'product_manager' into 'mgx_ops'
garylin2099 Oct 29, 2024
db18917
Update Readme News & Update AFLOW's entrance.
didiforgithub Oct 29, 2024
4e38bd3
Update README.md
didiforgithub Oct 29, 2024
402a4b0
Update README.md
didiforgithub Oct 29, 2024
c614b98
Merge pull request #1548 from didiforgithub/main
geekan Oct 29, 2024
d10ea8a
fixup ollama_api chat prompt
EvensXia Oct 29, 2024
69525f0
tested for embeddings/embed
EvensXia Oct 30, 2024
c668abf
fix embed
EvensXia Oct 30, 2024
b2b9b7b
fix embedding output
EvensXia Oct 30, 2024
e1458ec
revert llm_vision
EvensXia Oct 30, 2024
196667c
fx
EvensXia Oct 30, 2024
c8acd1b
Merge pull request #1544 from EvensXia/fix_metagpt_from_evensxia
geekan Oct 30, 2024
b9738ff
Fix Issue 1549 & Fix Claude Token Calculate Error.
didiforgithub Oct 30, 2024
e55f0b3
Update token_counter.py
didiforgithub Oct 30, 2024
b743f18
Merge pull request #1552 from didiforgithub/main
geekan Oct 30, 2024
205ac1c
Update utils.py
didiforgithub Oct 30, 2024
41548ed
Merge pull request #1554 from didiforgithub/main
geekan Oct 30, 2024
4d33c27
update readme intro
cyzus Oct 30, 2024
c372a33
update intro and citation
cyzus Oct 30, 2024
b63f805
update readme
cyzus Oct 30, 2024
f57b4cd
remove autogluon models in gitignore
cyzus Oct 30, 2024
81138ad
remove mlebench
cyzus Oct 30, 2024
a282d9e
use google drive link
cyzus Oct 30, 2024
01020e7
Merge pull request #1556 from cyzus/sela-readme-intro
garylin2099 Oct 30, 2024
0e52da3
Merge branch 'main' into sela
garylin2099 Oct 30, 2024
a50221d
Merge pull request #1514 from geekan/sela
geekan Oct 31, 2024
ebeec59
Update openai_api.py
zhaoweiguo Oct 31, 2024
2f1f505
rm unused
garylin2099 Oct 31, 2024
f022a9b
rm unused da example
garylin2099 Oct 31, 2024
375cb9f
Merge branch 'rm_unused' into 'mgx_ops'
garylin2099 Oct 31, 2024
21a5efd
Update requirements.txt
zhaoweiguo Oct 31, 2024
8996ad0
fix bug in multi llm
zhaoweiguo Oct 31, 2024
e78e9ea
Merge pull request #1558 from zhaoweiguo/patch-1
geekan Oct 31, 2024
4e02741
FIX multiLLM bug
zhaoweiguo Nov 1, 2024
05f5963
Merge branch 'geekan:main' into patch-3
zhaoweiguo Nov 1, 2024
a0acac6
bugfix: #1547 Before calling serializeToString in mmdc_playwright.py,…
voidking Nov 1, 2024
3ec8a08
Merge pull request #1564 from voidking/main
geekan Nov 1, 2024
9835835
Merge pull request #1560 from zhaoweiguo/patch-2
geekan Nov 1, 2024
90cb7de
Merge branch 'main' into patch-3
zhaoweiguo Nov 4, 2024
a805e0d
pre-commit: make sure all files are clean
zhaoweiguo Nov 4, 2024
64f6ed8
Merge branch 'patch-3' of github.com:zhaoweiguo/MetaGPT into patch-3
zhaoweiguo Nov 4, 2024
fd97909
Merge pull request #1561 from zhaoweiguo/patch-3
geekan Nov 4, 2024
6577993
update aws claude token usage
better629 Nov 4, 2024
97e4b6c
Merge pull request #1569 from better629/main
geekan Nov 4, 2024
1db2aeb
fixbug: #1565 zhipuai model exception
Nov 4, 2024
505196f
Merge pull request #1570 from iorisa/fixbug/issue/1565
better629 Nov 4, 2024
5d492b9
bugfix: If --run-tests is enabled, at least 8 rounds are required to …
voidking Nov 5, 2024
a6530bf
Add unittest for QaEngineer in software company workflow
voidking Nov 5, 2024
277eae3
Merge pull request #1573 from voidking/main
geekan Nov 6, 2024
170ad0b
add sela example
limafang Nov 6, 2024
a4500fa
Update action_node.py
didiforgithub Nov 8, 2024
7685f42
Merge pull request #1578 from limafang/main
voidking Nov 9, 2024
8afca78
Create AFLOW Inference Interface.
didiforgithub Nov 10, 2024
ab99f88
Merge pull request #1587 from didiforgithub/main
geekan Nov 11, 2024
a7a9350
fix sela readme path error
limafang Nov 11, 2024
dad23cd
Merge pull request #1590 from limafang/main
geekan Nov 11, 2024
b866846
add api key to ollama client to support open webui
MorpheusI0 Nov 13, 2024
c2591a4
chore: 跑通单元测试
voidking Nov 12, 2024
ff78b19
fixbug: TypeError: AsyncClient.__init__() got an unexpected keyword a…
Dec 2, 2024
31c8605
Merge pull request #1614 from voidking/main
geekan Dec 2, 2024
dbbbf40
feat: httpx==0.27.2
Dec 2, 2024
d72cefe
Merge pull request #1619 from iorisa/fixbug/1617
geekan Dec 4, 2024
f8fa3e8
fixbug: use a share context to pass the repo path information
Dec 6, 2024
0c45fd2
Merge pull request #1631 from iorisa/fixbug/1623
iorisa Dec 6, 2024
fb14761
Add detailed error message for missing model configurations
shenchucheng Dec 6, 2024
1d7ef94
update .gitignore
shenchucheng Dec 6, 2024
f799285
Merge pull request #1632 from shenchucheng/opt-aflow-cmd
shenchucheng Dec 9, 2024
38d9908
pass the reigion name to the boto3.session.client to use region gated…
TorgemanTarak Dec 16, 2024
e95b1ca
sorry i forgot the pre commit hooks
TorgemanTarak Dec 17, 2024
f08a840
Merge pull request #1644 from TorgemanTarak/pass-region-name-to-the-c…
shenchucheng Dec 18, 2024
401a344
添加浏览器工具单测
HuiDBK Jan 16, 2025
43bf67e
添加cr tool 单测
HuiDBK Jan 16, 2025
cd03b4a
tools env ut
HuiDBK Jan 16, 2025
f2d9b12
tools image getter ut
HuiDBK Jan 16, 2025
292b209
tools linter ut
HuiDBK Jan 17, 2025
056820d
update config
HuiDBK Jan 17, 2025
d29dc53
fix tools ut
HuiDBK Jan 21, 2025
00e9dae
update roles ut
Jan 24, 2025
1fb468e
update roles ut
Jan 24, 2025
39f34c7
Add SPO base code
XiangJinyu Feb 5, 2025
a34fe27
adapt SPO to MetaGPT
XiangJinyu Feb 5, 2025
bbdc03c
Remove Chinese comments and redundant code
XiangJinyu Feb 5, 2025
93bc0a3
Add README for SPO
XiangJinyu Feb 5, 2025
2f32f92
Update README.md
XiangJinyu Feb 5, 2025
7922b15
Modifying SPO's file path
XiangJinyu Feb 7, 2025
11d1d0b
Merge remote-tracking branch 'metagpt/main' into aprompt
XiangJinyu Feb 7, 2025
65e1b1a
Modifying SPO's README.md
XiangJinyu Feb 7, 2025
18e2205
add file_tree to SPO's README.md
XiangJinyu Feb 7, 2025
08e76d6
update SPO code
XiangJinyu Feb 7, 2025
2a75c67
update SPO code
XiangJinyu Feb 7, 2025
7eb520c
delete old optimize.py
XiangJinyu Feb 7, 2025
9aa85a6
format SPO code and add figure from paper
XiangJinyu Feb 7, 2025
7c32f91
update SPO's README
XiangJinyu Feb 7, 2025
c833e8a
add SPO logo
Feb 10, 2025
3be3dd9
add SPO paper
Feb 11, 2025
35f2b69
add spo streamlit app
Feb 11, 2025
db0b19d
add spo citation to README
Feb 11, 2025
38b5894
update SPO README
Feb 11, 2025
8554349
update SPO app.py
Feb 11, 2025
52d8efe
modify spo citation
Feb 11, 2025
82c2d92
modify spo logger and app
Feb 11, 2025
341385c
modify spo logger
Feb 11, 2025
40ce383
modify spo app save yaml
Feb 11, 2025
5fd347e
modify spo logger only show optimizer
Feb 11, 2025
ded8ccb
modify spo logger show final result
Feb 11, 2025
2463c0a
delete spo app comment
Feb 11, 2025
71bdea5
Merge pull request #1669 from HuiDBK/feat_tool_ut
better629 Feb 12, 2025
f21d4eb
update spo README
Feb 12, 2025
7bd8b8f
reform spo optimizer
Feb 12, 2025
57cd858
update spo app.py to test prompt
Feb 12, 2025
ce481ae
reform spo optimizer.py
Feb 12, 2025
1d9c672
update spo README.md
Feb 12, 2025
139dbe6
Remove spo redundant code
Feb 12, 2025
4936e22
add spo typing hint
Feb 12, 2025
f3e1c89
modify spo load, use pathlib instead of os.path
Feb 12, 2025
4dc89df
modify spo all files use pathlib instead of os.path
Feb 12, 2025
336f23b
delete Path transfer from app
Feb 12, 2025
d575ec0
add pip streamlit README.md
Feb 13, 2025
7297b32
Merge pull request #1683 from XiangJinyu/main
better629 Feb 13, 2025
5caf6c3
modify spo config.example
Feb 13, 2025
38528f3
Replace spo faq with qa
Feb 13, 2025
9cbcf1d
fix mock ut and fix err ut
Feb 13, 2025
6d02c8f
fix mock ut and fix err ut
Feb 13, 2025
bbab2d0
add paper link and github link to SPO app
Feb 13, 2025
71914a2
add paper link and huggingface link to SPO README
Feb 13, 2025
94c78f4
change README yaml qa
Feb 13, 2025
9021da5
Merge pull request #1692 from XiangJinyu/main
better629 Feb 13, 2025
58e0a13
use concurrent code to evaluator
Feb 14, 2025
f9dd3ac
add modelscope link to SPO README
Feb 14, 2025
e268057
add AFLOW ICLR 2025 oral news
Feb 14, 2025
b69da04
modify AFLOW WORKFLOW_INPUT Prompt
Feb 14, 2025
6b48bbb
update failed UT code
Feb 14, 2025
b55460f
Merge pull request #1694 from XiangJinyu/main
better629 Feb 14, 2025
3502dc8
update role atomization capacity example
Feb 14, 2025
b85f77b
Update README.md
better629 Feb 18, 2025
b4c4b3a
Update README.md
better629 Feb 18, 2025
7ec9e21
Update README.md
better629 Feb 19, 2025
7b56d14
update CR comment
Feb 20, 2025
17c5595
update CR comment
Feb 20, 2025
20ea6c5
update CR comment
Feb 20, 2025
00766bc
Merge branch 'mgx_ops' of github.com:geekan/MetaGPT into feat_roles_e…
Feb 22, 2025
86aafcb
update failed examples
Feb 22, 2025
cebc3de
update failed examples
Feb 22, 2025
29a7a21
update requirements.txt and fix editor
Feb 24, 2025
bda8812
delete useless example code
Feb 25, 2025
4ecfdab
delete useless example code
Feb 25, 2025
510725c
Merge pull request #1679 from jason-jszhang/feat_role_ut
better629 Feb 26, 2025
9c2438c
Merge pull request #1695 from jason-jszhang/feat_roles_examples
better629 Feb 26, 2025
3291394
fix conflicts
seehi Feb 26, 2025
34e83df
Merge pull request #1723 from seehi/mgx_ops_merge_main
better629 Feb 26, 2025
54dd31d
support gemini models
seehi Feb 27, 2025
99e9fb6
update bedrock
better629 Feb 27, 2025
eae50e7
update anthropic
better629 Feb 27, 2025
8e85c43
update deepseek reasoner
better629 Feb 27, 2025
03300d5
add openrouter reasoning
better629 Feb 27, 2025
7956711
reasoning_max_token set to 4000(suggested)
better629 Feb 28, 2025
6db9d94
fix bug
Feb 28, 2025
b710d53
fix bug
Feb 28, 2025
a3e67fd
fix bug
Feb 28, 2025
d12bb65
update examples/rag/rag_bm.py
Feb 28, 2025
f172fb6
example fix
HuiDBK Feb 28, 2025
8119690
update config int
Feb 28, 2025
003de7d
config import opt
HuiDBK Feb 28, 2025
5aea023
update default config int
Feb 28, 2025
83f230e
update default config int
Feb 28, 2025
accb5bc
code opt
HuiDBK Feb 28, 2025
2c015e1
pre-commit
Feb 28, 2025
6d677a5
pre-commit
Feb 28, 2025
fefb2dd
Merge pull request #1727 from jason-jszhang/feat_merge_cr
better629 Feb 28, 2025
7144526
pre-commit opt
HuiDBK Feb 28, 2025
11726d0
Merge pull request #1728 from HuiDBK/mgx_example
better629 Feb 28, 2025
e5c095a
simplify code
better629 Mar 1, 2025
0d29e98
update metagpt entry
better629 Mar 2, 2025
11dc990
ignore template path
better629 Mar 2, 2025
456a379
update readme
better629 Mar 2, 2025
7bbca67
Merge pull request #1731 from better629/mgx_ops
better629 Mar 2, 2025
ea0947f
Update README.md
XiangJinyu Mar 2, 2025
5fd9598
Merge pull request #1732 from XiangJinyu/main
geekan Mar 2, 2025
c436ec2
Create __init__.py
better629 Mar 7, 2025
0583ab9
Merge pull request #1559 from geekan/mgx_ops
better629 Mar 9, 2025
6695559
update readme
better629 Mar 9, 2025
c0f2021
update readme
better629 Mar 9, 2025
8981783
Merge pull request #1749 from better629/main
better629 Mar 9, 2025
014b25d
Merge branch 'main' into reasoning
better629 Mar 9, 2025
7a72ee7
Merge pull request #1726 from better629/reasoning
better629 Mar 9, 2025
3706c6e
Merge pull request #1725 from seehi/fix-gemini-model
better629 Mar 9, 2025
6a955ab
Merge pull request #1600 from MorpheusI0/feature/support_for_open_webui
better629 Mar 9, 2025
161c89f
project name with timestamp
seehi Mar 10, 2025
f144122
fix pre-commit
seehi Mar 10, 2025
4b55491
Merge pull request #1750 from seehi/feat-random-project-name
better629 Mar 10, 2025
05a34b0
update readme with news
better629 Mar 10, 2025
44d35b5
update readme
better629 Mar 10, 2025
ef88df7
update readme
better629 Mar 10, 2025
67e991f
update other-lang readme
better629 Mar 10, 2025
94c03e1
update readme
better629 Mar 10, 2025
ae6492a
update readme
better629 Mar 10, 2025
0a1a3c1
Merge pull request #1751 from better629/main
better629 Mar 10, 2025
1b88e31
update readme format
better629 Mar 10, 2025
c3ad4f6
Merge pull request #1752 from better629/main
better629 Mar 10, 2025
0bc4b16
update readme
better629 Mar 10, 2025
e279720
Merge pull request #1753 from better629/main
better629 Mar 10, 2025
b9f47b7
simplify log if messages contain base64 data
better629 Mar 11, 2025
7b1019b
Merge pull request #1754 from better629/main
better629 Mar 11, 2025
1175c4f
update video wall link
better629 Mar 11, 2025
f32e87b
Merge pull request #1757 from better629/main
better629 Mar 11, 2025
c019028
hello_world example compatibility
better629 Mar 13, 2025
4a8375c
Merge pull request #1760 from better629/main
better629 Mar 13, 2025
1528ef5
update cluade token count
better629 Mar 16, 2025
91a293d
update cluade token count
better629 Mar 16, 2025
19e8b8f
update cluade token count
better629 Mar 16, 2025
82a310b
update bedrock claude-3-5 max_tokens
better629 Mar 17, 2025
cdbb135
update bedrock claude usage
better629 Mar 17, 2025
88fc6df
Merge pull request #1765 from better629/main
better629 Mar 17, 2025
97b4f85
Update requirements.txt
better629 Mar 18, 2025
a9a046e
Ignore some test files so that unittest can pass.
voidking Mar 25, 2025
ad6a443
bugfix: Missing download info for actions/upload-artifact@v3
voidking Mar 25, 2025
2b7351b
mv utils out of rz
garylin2099 Mar 25, 2025
0e2e0a1
chore: resolve conflict of setuptools
voidking Mar 25, 2025
dc5d413
ignore test file run_swe_agent_for_benchmark.py
voidking Mar 26, 2025
cd43447
remove milvus from RAG
seehi Mar 31, 2025
5f106d3
Merge pull request #1794 from seehi/feat-rm-milvus
better629 Mar 31, 2025
fb0bcc6
Add Llama API Support
cmodi-meta Apr 30, 2025
5bb900b
Add yaml file for other supporting Llama API models
cmodi-meta May 15, 2025
fdf30c0
Include copyright to yaml files
cmodi-meta May 15, 2025
6c7181a
Merge pull request #1788 from voidking/main
better629 May 16, 2025
a021c9e
update test_bedrock_api
better629 Jun 13, 2025
6b2259c
Merge pull request #1848 from better629/main
better629 Jun 13, 2025
baf4949
fix_bug_for_config_model
GasolSun36 Jun 16, 2025
9380551
fix bugs for test
GasolSun36 Jun 17, 2025
a5f35a4
pre-commit fix
GasolSun36 Jun 17, 2025
e79d467
Merge pull request #1849 from GasolSun36/feature/bugfix-config-model
better629 Jun 29, 2025
1c69a8a
Merge pull request #1820 from cmodi-meta/llama-api-support
better629 Jun 30, 2025
39ecc84
Merge pull request #1786 from garylin2099/simplify_rz
better629 Jun 30, 2025
37ed647
feat: 适配Ollama相关的MetaGPT代码
Jul 17, 2025
7396bc1
feat: 更新Ollama配置文件
Jul 17, 2025
b101269
test: 添加 Ollama 集成功能测试脚本和测试报告
Jul 17, 2025
0c6b89a
test: 重新组织 Ollama 测试文件结构,创建完整的测试套件
Jul 17, 2025
30d9b9e
docs: 添加 Pull Request 描述文档
Jul 17, 2025
5a8705f
feat: 完善多语言支持功能并更新作者信息 [18300676767]
Jul 18, 2025
e03d697
docs: 完善代码标识和文档 [18300676767]
Jul 18, 2025
9fb2a34
feat: 添加独立多语言支持测试脚本 [18300676767]
Jul 18, 2025
b21ea4a
fix: 删除损坏的slc_recovered.py文件并完善多语言支持 [18300676767]
Jul 18, 2025
0dc4886
cleanup: 删除临时测试文件和文档,保持代码库整洁
Jul 18, 2025
065c09c
docs: 添加代码清理总结文档
Jul 18, 2025
ebafd35
chore: 将sun目录重命名为.sun并添加到.gitignore,避免提交个人开发文件
Jul 18, 2025
3a3d03d
docs: 更新清理总结,记录.sun目录重命名和.gitignore配置
Jul 18, 2025
d93b30e
refactor: translate all Chinese comments and strings to English for o…
Jul 18, 2025
06a8a07
chore: remove translation script from repository
Jul 18, 2025
19fe9ac
refactor: translate all Chinese text in slc.py to English for open so…
Jul 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 6 additions & 15 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -1,16 +1,7 @@
[run]
omit =
*/site-packages/* \
*\__init__.py
[report]
# Regexes for lines to exclude from consideration
exclude_lines =
"""
'''
pragma: no cover
def __repr__
if self.debug:
raise AssertionError
raise NotImplementedError
except Exception as e:
if __name__ == .__main__.:
source =
./metagpt/
omit =
*/metagpt/ext/*
*/metagpt/environment/android_env/*
*/metagpt/environment/werewolf_env/*
34 changes: 34 additions & 0 deletions .devcontainer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Dev Container

This project includes a [Dev Container](https://containers.dev/), offering you a comprehensive and fully-featured development environment within a container. By leveraging the Dev Container configuration in this folder, you can seamlessly build and initiate MetaGPT locally. For detailed information, please refer to the main README in the home directory.

You can utilize this Dev Container in [GitHub Codespaces](https://github.com/features/codespaces) or with the [VS Code Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers).

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

Click the button above to open this repository in a Codespace. For additional information, refer to the [GitHub documentation on creating a Codespace](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](https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/geekan/MetaGPT)

Note: Clicking the link above opens the main repository. To open your local cloned repository, replace the URL with your username and cloned repository's name: `https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/<your-username>/<your-repo-name>`

If you have VS Code and Docker installed, use the button above to get started. This will prompt VS Code to install the Dev Containers extension if it's not already installed, clone the source code into a container volume, and set up a dev container for you.

Alternatively, follow these steps to open this repository in a container using the VS Code Dev Containers extension:

1. For first-time users of a development container, ensure your system meets the prerequisites (e.g., Docker installation) as outlined in the [getting started steps](https://aka.ms/vscode-remote/containers/getting-started).

2. To open a locally cloned copy of the code:
- Fork and clone this repository to your local file system.
- Press <kbd>F1</kbd> and select the **Dev Containers: Open Folder in Container...** command.
- Choose the cloned folder, wait for the container to initialize, and start exploring!

Learn more in the [VS Code Dev Containers documentation](https://code.visualstudio.com/docs/devcontainers/containers).

## Tips and Tricks

* When working with the same repository folder in both a container and on Windows, it's crucial to have consistent line endings to avoid numerous changes in the SCM view. The `.gitattributes` file in the root of this repository disables line ending conversion, helping to prevent this issue. For more information, see [resolving git line ending issues in containers](https://code.visualstudio.com/docs/devcontainers/tips-and-tricks#_resolving-git-line-ending-issues-in-containers-resulting-in-many-modified-files).

* If you're curious about the contents of the image used in this Dev Container, you can review it in the [devcontainers/images](https://github.com/devcontainers/images/tree/main/src/python) repository.
27 changes: 27 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -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": "metagpt/metagpt:latest",

// 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"
}
31 changes: 31 additions & 0 deletions .devcontainer/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -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

7 changes: 7 additions & 0 deletions .devcontainer/postCreateCommand.sh
Original file line number Diff line number Diff line change
@@ -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
pip install -e .
6 changes: 6 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
workspace
tmp
build
dist
data
geckodriver.log
34 changes: 34 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# HTML code is incorrectly calculated into statistics, so ignore them
*.html linguist-detectable=false

# Auto detect text files and perform LF normalization
* text=auto eol=lf

# Ensure shell scripts use LF (Linux style) line endings on Windows
*.sh text eol=lf

# Treat specific binary files as binary and prevent line ending conversion
*.png binary
*.jpg binary
*.gif binary
*.ico binary
*.jpeg binary
*.mp3 binary
*.mp4 binary
*.zip binary
*.bin binary

# Preserve original line endings for specific document files
*.doc text eol=crlf
*.docx text eol=crlf
*.pdf binary

# Ensure source code and script files use LF line endings
*.py text eol=lf
*.js text eol=lf
*.html text eol=lf
*.css text eol=lf

# Specify custom diff driver for specific file types
*.md diff=markdown
*.json diff=json
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: "📑 Read online docs"
url: https://docs.deepwisdom.ai/
about: Find the tutorials, use cases and blogs from the doc site.
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/request_new_features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: "🤔 Request new features"
about: There are some ideas or demands want to discuss with the official and hope to be implemented in the future.
title: ''
labels: kind/features
assignees: ''
---

**Feature description**
<!-- Clear and direct description of the functionality of the currently submitted or proposed feature -->

**Your Feature**
<!-- Describe the idea or process of implementing the current feature. Of course, you can also paste the URL address of your Pull Request. -->
<!-- When submitting features, you need to complete the corresponding doc/tests/examples to facilitate verification by reviewers. -->
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/show_me_the_bug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: "🪲 Show me the Bug"
about: Something happened when I use MetaGPT, I want to report it and hope to get help from the official and community.
title: ''
labels: kind/bug
assignees: ''
---

**Bug description**
<!-- Clearly and directly describe the current bug -->

**Bug solved method**
<!-- If you solved the bug, describe the idea or process to solve the current bug. Of course, you can also paste the URL address of your Pull Request. -->
<!-- If not, provide more auxiliary information to facilitate our further positioning and investigation -->

**Environment information**
<!-- Environment:System version (like ubuntu 22.04), Python version (conda python 3.7), LLM type and model (OpenAI gpt-4-1106-preview) -->

- LLM type and model name:
- System version:
- Python version:
- MetaGPT version or branch:

<!-- Dependent packagess:the packages version cause the bug(like `pydantic 1.10.8`), installation method(like `pip install metagpt` or `pip install from source` or `run in docker`) -->

- packages version:
- installation method:

**Screenshots or logs**
<!-- Screenshots or logs of the bug can help us understand the problem more quickly -->
19 changes: 19 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@

**Features**
<!-- Clear and direct description of the submit features. -->
<!-- If it's a bug fix, please also paste the issue link. -->

- xx
- yy

**Feature Docs**
<!-- The RFC, tutorial, or use cases about the feature if it's a pretty big update. If not, there is no need to fill. -->

**Influence**
<!-- Tell me the impact of the new feature and I'll focus on it. -->

**Result**
<!-- The screenshot/log of unittest/running result -->

**Other**
<!-- Something else about this PR. -->
35 changes: 35 additions & 0 deletions .github/workflows/build-package.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Build and upload python package

on:
workflow_dispatch:
release:
types: [created, published]

jobs:
deploy:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.9'
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -e.
pip install setuptools wheel twine
- name: Set package version
run: |
export VERSION="${GITHUB_REF#refs/tags/v}"
sed -i "s/version=.*/version=\"${VERSION}\",/" setup.py
- name: Build and publish
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: |
python setup.py bdist_wheel sdist
twine upload dist/*
86 changes: 86 additions & 0 deletions .github/workflows/fulltest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Full Tests

on:
workflow_dispatch:
pull_request_target:
push:
branches:
- 'main'
- 'dev'
- '*-release'
- '*-debugger'

jobs:
build:
runs-on: ubuntu-latest
environment: unittest
strategy:
matrix:
# python-version: ['3.9', '3.10', '3.11']
python-version: ['3.9']

steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .[test]
npm install -g @mermaid-js/mermaid-cli
playwright install --with-deps
- name: Run reverse proxy script for ssh service
if: contains(github.ref, '-debugger')
continue-on-error: true
env:
FPR_SERVER_ADDR: ${{ secrets.FPR_SERVER_ADDR }}
FPR_TOKEN: ${{ secrets.FPR_TOKEN }}
FPR_SSH_REMOTE_PORT: ${{ secrets.FPR_SSH_REMOTE_PORT }}
RSA_PUB: ${{ secrets.RSA_PUB }}
SSH_PORT: ${{ vars.SSH_PORT || '22'}}
run: |
echo "Run \"ssh $(whoami)@FPR_SERVER_HOST -p FPR_SSH_REMOTE_PORT\" and \"cd $(pwd)\""
mkdir -p ~/.ssh/
echo $RSA_PUB >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz -O frp.tar.gz
tar xvzf frp.tar.gz -C /opt
mv /opt/frp* /opt/frp
/opt/frp/frpc tcp --server_addr $FPR_SERVER_ADDR --token $FPR_TOKEN --local_port $SSH_PORT --remote_port $FPR_SSH_REMOTE_PORT
- name: Test with pytest
run: |
export ALLOW_OPENAI_API_CALL=0
echo "${{ secrets.METAGPT_KEY_YAML }}" | base64 -d > config/key.yaml
mkdir -p ~/.metagpt && echo "${{ secrets.METAGPT_CONFIG2_YAML }}" | base64 -d > ~/.metagpt/config2.yaml
pytest tests/ --doctest-modules --cov=./metagpt/ --cov-report=xml:cov.xml --cov-report=html:htmlcov --durations=20 | tee unittest.txt
- name: Show coverage report
run: |
coverage report -m
- name: Show failed tests and overall summary
run: |
grep -E "FAILED tests|ERROR tests|[0-9]+ passed," unittest.txt
failed_count=$(grep -E "FAILED|ERROR" unittest.txt | wc -l)
if [[ "$failed_count" -gt 0 ]]; then
echo "$failed_count failed lines found! Task failed."
exit 1
fi
- name: Upload pytest test results
uses: actions/upload-artifact@v3
with:
name: pytest-results-${{ matrix.python-version }}
path: |
./unittest.txt
./htmlcov/
./tests/data/rsp_cache_new.json
retention-days: 3
if: ${{ always() }}
# - name: Upload coverage reports to Codecov
# uses: codecov/codecov-action@v3
# env:
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
# if: ${{ always() }}
Loading
Loading