massgen 0.0.3__py3-none-any.whl → 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of massgen might be problematic. Click here for more details.
- massgen/__init__.py +142 -8
- massgen/adapters/__init__.py +29 -0
- massgen/adapters/ag2_adapter.py +483 -0
- massgen/adapters/base.py +183 -0
- massgen/adapters/tests/__init__.py +0 -0
- massgen/adapters/tests/test_ag2_adapter.py +439 -0
- massgen/adapters/tests/test_agent_adapter.py +128 -0
- massgen/adapters/utils/__init__.py +2 -0
- massgen/adapters/utils/ag2_utils.py +236 -0
- massgen/adapters/utils/tests/__init__.py +0 -0
- massgen/adapters/utils/tests/test_ag2_utils.py +138 -0
- massgen/agent_config.py +329 -55
- massgen/api_params_handler/__init__.py +10 -0
- massgen/api_params_handler/_api_params_handler_base.py +99 -0
- massgen/api_params_handler/_chat_completions_api_params_handler.py +176 -0
- massgen/api_params_handler/_claude_api_params_handler.py +113 -0
- massgen/api_params_handler/_response_api_params_handler.py +130 -0
- massgen/backend/__init__.py +39 -4
- massgen/backend/azure_openai.py +385 -0
- massgen/backend/base.py +341 -69
- massgen/backend/base_with_mcp.py +1102 -0
- massgen/backend/capabilities.py +386 -0
- massgen/backend/chat_completions.py +577 -130
- massgen/backend/claude.py +1033 -537
- massgen/backend/claude_code.py +1203 -0
- massgen/backend/cli_base.py +209 -0
- massgen/backend/docs/BACKEND_ARCHITECTURE.md +126 -0
- massgen/backend/{CLAUDE_API_RESEARCH.md → docs/CLAUDE_API_RESEARCH.md} +18 -18
- massgen/backend/{GEMINI_API_DOCUMENTATION.md → docs/GEMINI_API_DOCUMENTATION.md} +9 -9
- massgen/backend/docs/Gemini MCP Integration Analysis.md +1050 -0
- massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md +177 -0
- massgen/backend/docs/MCP_INTEGRATION_RESPONSE_BACKEND.md +352 -0
- massgen/backend/docs/OPENAI_GPT5_MODELS.md +211 -0
- massgen/backend/{OPENAI_RESPONSES_API_FORMAT.md → docs/OPENAI_RESPONSE_API_TOOL_CALLS.md} +3 -3
- massgen/backend/docs/OPENAI_response_streaming.md +20654 -0
- massgen/backend/docs/inference_backend.md +257 -0
- massgen/backend/docs/permissions_and_context_files.md +1085 -0
- massgen/backend/external.py +126 -0
- massgen/backend/gemini.py +1850 -241
- massgen/backend/grok.py +40 -156
- massgen/backend/inference.py +156 -0
- massgen/backend/lmstudio.py +171 -0
- massgen/backend/response.py +1095 -322
- massgen/chat_agent.py +131 -113
- massgen/cli.py +1560 -275
- massgen/config_builder.py +2396 -0
- massgen/configs/BACKEND_CONFIGURATION.md +458 -0
- massgen/configs/README.md +559 -216
- massgen/configs/ag2/ag2_case_study.yaml +27 -0
- massgen/configs/ag2/ag2_coder.yaml +34 -0
- massgen/configs/ag2/ag2_coder_case_study.yaml +36 -0
- massgen/configs/ag2/ag2_gemini.yaml +27 -0
- massgen/configs/ag2/ag2_groupchat.yaml +108 -0
- massgen/configs/ag2/ag2_groupchat_gpt.yaml +118 -0
- massgen/configs/ag2/ag2_single_agent.yaml +21 -0
- massgen/configs/basic/multi/fast_timeout_example.yaml +37 -0
- massgen/configs/basic/multi/gemini_4o_claude.yaml +31 -0
- massgen/configs/basic/multi/gemini_gpt5nano_claude.yaml +36 -0
- massgen/configs/{gemini_4o_claude.yaml → basic/multi/geminicode_4o_claude.yaml} +3 -3
- massgen/configs/basic/multi/geminicode_gpt5nano_claude.yaml +36 -0
- massgen/configs/basic/multi/glm_gemini_claude.yaml +25 -0
- massgen/configs/basic/multi/gpt4o_audio_generation.yaml +30 -0
- massgen/configs/basic/multi/gpt4o_image_generation.yaml +31 -0
- massgen/configs/basic/multi/gpt5nano_glm_qwen.yaml +26 -0
- massgen/configs/basic/multi/gpt5nano_image_understanding.yaml +26 -0
- massgen/configs/{three_agents_default.yaml → basic/multi/three_agents_default.yaml} +8 -4
- massgen/configs/basic/multi/three_agents_opensource.yaml +27 -0
- massgen/configs/basic/multi/three_agents_vllm.yaml +20 -0
- massgen/configs/basic/multi/two_agents_gemini.yaml +19 -0
- massgen/configs/{two_agents.yaml → basic/multi/two_agents_gpt5.yaml} +14 -6
- massgen/configs/basic/multi/two_agents_opensource_lmstudio.yaml +31 -0
- massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml +28 -0
- massgen/configs/{single_agent.yaml → basic/single/single_agent.yaml} +1 -1
- massgen/configs/{single_flash2.5.yaml → basic/single/single_flash2.5.yaml} +1 -2
- massgen/configs/basic/single/single_gemini2.5pro.yaml +16 -0
- massgen/configs/basic/single/single_gpt4o_audio_generation.yaml +22 -0
- massgen/configs/basic/single/single_gpt4o_image_generation.yaml +22 -0
- massgen/configs/basic/single/single_gpt4o_video_generation.yaml +24 -0
- massgen/configs/basic/single/single_gpt5nano.yaml +20 -0
- massgen/configs/basic/single/single_gpt5nano_file_search.yaml +18 -0
- massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml +17 -0
- massgen/configs/basic/single/single_gptoss120b.yaml +15 -0
- massgen/configs/basic/single/single_openrouter_audio_understanding.yaml +15 -0
- massgen/configs/basic/single/single_qwen_video_understanding.yaml +15 -0
- massgen/configs/debug/code_execution/command_filtering_blacklist.yaml +29 -0
- massgen/configs/debug/code_execution/command_filtering_whitelist.yaml +28 -0
- massgen/configs/debug/code_execution/docker_verification.yaml +29 -0
- massgen/configs/debug/skip_coordination_test.yaml +27 -0
- massgen/configs/debug/test_sdk_migration.yaml +17 -0
- massgen/configs/docs/DISCORD_MCP_SETUP.md +208 -0
- massgen/configs/docs/TWITTER_MCP_ENESCINAR_SETUP.md +82 -0
- massgen/configs/providers/azure/azure_openai_multi.yaml +21 -0
- massgen/configs/providers/azure/azure_openai_single.yaml +19 -0
- massgen/configs/providers/claude/claude.yaml +14 -0
- massgen/configs/providers/gemini/gemini_gpt5nano.yaml +28 -0
- massgen/configs/providers/local/lmstudio.yaml +11 -0
- massgen/configs/providers/openai/gpt5.yaml +46 -0
- massgen/configs/providers/openai/gpt5_nano.yaml +46 -0
- massgen/configs/providers/others/grok_single_agent.yaml +19 -0
- massgen/configs/providers/others/zai_coding_team.yaml +108 -0
- massgen/configs/providers/others/zai_glm45.yaml +12 -0
- massgen/configs/{creative_team.yaml → teams/creative/creative_team.yaml} +16 -6
- massgen/configs/{travel_planning.yaml → teams/creative/travel_planning.yaml} +16 -6
- massgen/configs/{news_analysis.yaml → teams/research/news_analysis.yaml} +16 -6
- massgen/configs/{research_team.yaml → teams/research/research_team.yaml} +15 -7
- massgen/configs/{technical_analysis.yaml → teams/research/technical_analysis.yaml} +16 -6
- massgen/configs/tools/code-execution/basic_command_execution.yaml +25 -0
- massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml +41 -0
- massgen/configs/tools/code-execution/docker_claude_code.yaml +32 -0
- massgen/configs/tools/code-execution/docker_multi_agent.yaml +32 -0
- massgen/configs/tools/code-execution/docker_simple.yaml +29 -0
- massgen/configs/tools/code-execution/docker_with_resource_limits.yaml +32 -0
- massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml +57 -0
- massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml +34 -0
- massgen/configs/tools/filesystem/claude_code_context_sharing.yaml +68 -0
- massgen/configs/tools/filesystem/claude_code_flash2.5.yaml +43 -0
- massgen/configs/tools/filesystem/claude_code_flash2.5_gptoss.yaml +49 -0
- massgen/configs/tools/filesystem/claude_code_gpt5nano.yaml +31 -0
- massgen/configs/tools/filesystem/claude_code_single.yaml +40 -0
- massgen/configs/tools/filesystem/fs_permissions_test.yaml +87 -0
- massgen/configs/tools/filesystem/gemini_gemini_workspace_cleanup.yaml +54 -0
- massgen/configs/tools/filesystem/gemini_gpt5_filesystem_casestudy.yaml +30 -0
- massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml +43 -0
- massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml +45 -0
- massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml +31 -0
- massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml +32 -0
- massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml +58 -0
- massgen/configs/tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml +58 -0
- massgen/configs/tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml +47 -0
- massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml +48 -0
- massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml +27 -0
- massgen/configs/tools/mcp/claude_code_simple_mcp.yaml +35 -0
- massgen/configs/tools/mcp/claude_code_twitter_mcp_example.yaml +32 -0
- massgen/configs/tools/mcp/claude_mcp_example.yaml +24 -0
- massgen/configs/tools/mcp/claude_mcp_test.yaml +27 -0
- massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml +157 -0
- massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml +103 -0
- massgen/configs/tools/mcp/gemini_mcp_example.yaml +24 -0
- massgen/configs/tools/mcp/gemini_mcp_filesystem_test.yaml +23 -0
- massgen/configs/tools/mcp/gemini_mcp_filesystem_test_sharing.yaml +23 -0
- massgen/configs/tools/mcp/gemini_mcp_filesystem_test_single_agent.yaml +17 -0
- massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml +24 -0
- massgen/configs/tools/mcp/gemini_mcp_test.yaml +27 -0
- massgen/configs/tools/mcp/gemini_notion_mcp.yaml +52 -0
- massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml +24 -0
- massgen/configs/tools/mcp/gpt5_nano_mcp_test.yaml +27 -0
- massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml +38 -0
- massgen/configs/tools/mcp/gpt_oss_mcp_example.yaml +25 -0
- massgen/configs/tools/mcp/gpt_oss_mcp_test.yaml +28 -0
- massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml +24 -0
- massgen/configs/tools/mcp/grok3_mini_mcp_test.yaml +27 -0
- massgen/configs/tools/mcp/multimcp_gemini.yaml +111 -0
- massgen/configs/tools/mcp/qwen_api_mcp_example.yaml +25 -0
- massgen/configs/tools/mcp/qwen_api_mcp_test.yaml +28 -0
- massgen/configs/tools/mcp/qwen_local_mcp_example.yaml +24 -0
- massgen/configs/tools/mcp/qwen_local_mcp_test.yaml +27 -0
- massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml +140 -0
- massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml +151 -0
- massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml +151 -0
- massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml +155 -0
- massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml +73 -0
- massgen/configs/tools/web-search/claude_streamable_http_test.yaml +43 -0
- massgen/configs/tools/web-search/gemini_streamable_http_test.yaml +43 -0
- massgen/configs/tools/web-search/gpt5_mini_streamable_http_test.yaml +43 -0
- massgen/configs/tools/web-search/gpt_oss_streamable_http_test.yaml +44 -0
- massgen/configs/tools/web-search/grok3_mini_streamable_http_test.yaml +43 -0
- massgen/configs/tools/web-search/qwen_api_streamable_http_test.yaml +44 -0
- massgen/configs/tools/web-search/qwen_local_streamable_http_test.yaml +43 -0
- massgen/coordination_tracker.py +708 -0
- massgen/docker/README.md +462 -0
- massgen/filesystem_manager/__init__.py +21 -0
- massgen/filesystem_manager/_base.py +9 -0
- massgen/filesystem_manager/_code_execution_server.py +545 -0
- massgen/filesystem_manager/_docker_manager.py +477 -0
- massgen/filesystem_manager/_file_operation_tracker.py +248 -0
- massgen/filesystem_manager/_filesystem_manager.py +813 -0
- massgen/filesystem_manager/_path_permission_manager.py +1261 -0
- massgen/filesystem_manager/_workspace_tools_server.py +1815 -0
- massgen/formatter/__init__.py +10 -0
- massgen/formatter/_chat_completions_formatter.py +284 -0
- massgen/formatter/_claude_formatter.py +235 -0
- massgen/formatter/_formatter_base.py +156 -0
- massgen/formatter/_response_formatter.py +263 -0
- massgen/frontend/__init__.py +1 -2
- massgen/frontend/coordination_ui.py +471 -286
- massgen/frontend/displays/base_display.py +56 -11
- massgen/frontend/displays/create_coordination_table.py +1956 -0
- massgen/frontend/displays/rich_terminal_display.py +1259 -619
- massgen/frontend/displays/simple_display.py +9 -4
- massgen/frontend/displays/terminal_display.py +27 -68
- massgen/logger_config.py +681 -0
- massgen/mcp_tools/README.md +232 -0
- massgen/mcp_tools/__init__.py +105 -0
- massgen/mcp_tools/backend_utils.py +1035 -0
- massgen/mcp_tools/circuit_breaker.py +195 -0
- massgen/mcp_tools/client.py +894 -0
- massgen/mcp_tools/config_validator.py +138 -0
- massgen/mcp_tools/docs/circuit_breaker.md +646 -0
- massgen/mcp_tools/docs/client.md +950 -0
- massgen/mcp_tools/docs/config_validator.md +478 -0
- massgen/mcp_tools/docs/exceptions.md +1165 -0
- massgen/mcp_tools/docs/security.md +854 -0
- massgen/mcp_tools/exceptions.py +338 -0
- massgen/mcp_tools/hooks.py +212 -0
- massgen/mcp_tools/security.py +780 -0
- massgen/message_templates.py +342 -64
- massgen/orchestrator.py +1515 -241
- massgen/stream_chunk/__init__.py +35 -0
- massgen/stream_chunk/base.py +92 -0
- massgen/stream_chunk/multimodal.py +237 -0
- massgen/stream_chunk/text.py +162 -0
- massgen/tests/mcp_test_server.py +150 -0
- massgen/tests/multi_turn_conversation_design.md +0 -8
- massgen/tests/test_azure_openai_backend.py +156 -0
- massgen/tests/test_backend_capabilities.py +262 -0
- massgen/tests/test_backend_event_loop_all.py +179 -0
- massgen/tests/test_chat_completions_refactor.py +142 -0
- massgen/tests/test_claude_backend.py +15 -28
- massgen/tests/test_claude_code.py +268 -0
- massgen/tests/test_claude_code_context_sharing.py +233 -0
- massgen/tests/test_claude_code_orchestrator.py +175 -0
- massgen/tests/test_cli_backends.py +180 -0
- massgen/tests/test_code_execution.py +679 -0
- massgen/tests/test_external_agent_backend.py +134 -0
- massgen/tests/test_final_presentation_fallback.py +237 -0
- massgen/tests/test_gemini_planning_mode.py +351 -0
- massgen/tests/test_grok_backend.py +7 -10
- massgen/tests/test_http_mcp_server.py +42 -0
- massgen/tests/test_integration_simple.py +198 -0
- massgen/tests/test_mcp_blocking.py +125 -0
- massgen/tests/test_message_context_building.py +29 -47
- massgen/tests/test_orchestrator_final_presentation.py +48 -0
- massgen/tests/test_path_permission_manager.py +2087 -0
- massgen/tests/test_rich_terminal_display.py +14 -13
- massgen/tests/test_timeout.py +133 -0
- massgen/tests/test_v3_3agents.py +11 -12
- massgen/tests/test_v3_simple.py +8 -13
- massgen/tests/test_v3_three_agents.py +11 -18
- massgen/tests/test_v3_two_agents.py +8 -13
- massgen/token_manager/__init__.py +7 -0
- massgen/token_manager/token_manager.py +400 -0
- massgen/utils.py +52 -16
- massgen/v1/agent.py +45 -91
- massgen/v1/agents.py +18 -53
- massgen/v1/backends/gemini.py +50 -153
- massgen/v1/backends/grok.py +21 -54
- massgen/v1/backends/oai.py +39 -111
- massgen/v1/cli.py +36 -93
- massgen/v1/config.py +8 -12
- massgen/v1/logging.py +43 -127
- massgen/v1/main.py +18 -32
- massgen/v1/orchestrator.py +68 -209
- massgen/v1/streaming_display.py +62 -163
- massgen/v1/tools.py +8 -12
- massgen/v1/types.py +9 -23
- massgen/v1/utils.py +5 -23
- massgen-0.1.0.dist-info/METADATA +1245 -0
- massgen-0.1.0.dist-info/RECORD +273 -0
- massgen-0.1.0.dist-info/entry_points.txt +2 -0
- massgen/frontend/logging/__init__.py +0 -9
- massgen/frontend/logging/realtime_logger.py +0 -197
- massgen-0.0.3.dist-info/METADATA +0 -568
- massgen-0.0.3.dist-info/RECORD +0 -76
- massgen-0.0.3.dist-info/entry_points.txt +0 -2
- /massgen/backend/{Function calling openai responses.md → docs/Function calling openai responses.md} +0 -0
- {massgen-0.0.3.dist-info → massgen-0.1.0.dist-info}/WHEEL +0 -0
- {massgen-0.0.3.dist-info → massgen-0.1.0.dist-info}/licenses/LICENSE +0 -0
- {massgen-0.0.3.dist-info → massgen-0.1.0.dist-info}/top_level.txt +0 -0
massgen/configs/README.md
CHANGED
|
@@ -1,293 +1,636 @@
|
|
|
1
|
-
# MassGen Configuration
|
|
1
|
+
# MassGen Configuration Guide
|
|
2
2
|
|
|
3
|
-
This
|
|
3
|
+
This guide explains the organization and usage of MassGen configuration files.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Directory Structure
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
```
|
|
8
|
+
massgen/configs/
|
|
9
|
+
├── basic/ # Simple configs to get started
|
|
10
|
+
│ ├── single/ # Single agent examples
|
|
11
|
+
│ └── multi/ # Multi-agent examples
|
|
12
|
+
├── tools/ # Tool-enabled configurations
|
|
13
|
+
│ ├── mcp/ # MCP server integrations
|
|
14
|
+
│ ├── web-search/ # Web search enabled configs
|
|
15
|
+
│ ├── code-execution/ # Code interpreter/execution
|
|
16
|
+
│ └── filesystem/ # File operations & workspace
|
|
17
|
+
├── providers/ # Provider-specific examples
|
|
18
|
+
│ ├── openai/ # GPT-5 series configs
|
|
19
|
+
│ ├── claude/ # Claude API configs
|
|
20
|
+
│ ├── gemini/ # Gemini configs
|
|
21
|
+
│ ├── azure/ # Azure OpenAI
|
|
22
|
+
│ ├── local/ # LMStudio, local models
|
|
23
|
+
│ └── others/ # Cerebras, Grok, Qwen, ZAI
|
|
24
|
+
├── teams/ # Pre-configured specialized teams
|
|
25
|
+
│ ├── creative/ # Creative writing teams
|
|
26
|
+
│ ├── research/ # Research & analysis
|
|
27
|
+
│ └── development/ # Coding teams
|
|
28
|
+
└── docs/ # Setup guides and documentation
|
|
29
|
+
```
|
|
8
30
|
|
|
9
|
-
|
|
10
|
-
- Uses Gemini 2.5 Flash model
|
|
11
|
-
- Web search enabled for current information
|
|
12
|
-
- Rich terminal display with token usage tracking
|
|
31
|
+
## CLI Command Line Arguments
|
|
13
32
|
|
|
14
|
-
|
|
33
|
+
| Parameter | Description |
|
|
34
|
+
|-------------------|-------------|
|
|
35
|
+
| `--config` | Path to YAML configuration file with agent definitions, model parameters, backend parameters and UI settings |
|
|
36
|
+
| `--backend` | Backend type for quick setup without a config file (`claude`, `claude_code`, `gemini`, `grok`, `openai`, `azure_openai`, `zai`). Optional for [models with default backends](../utils.py).|
|
|
37
|
+
| `--model` | Model name for quick setup (e.g., `gemini-2.5-flash`, `gpt-5-nano`, ...). `--config` and `--model` are mutually exclusive - use one or the other. |
|
|
38
|
+
| `--system-message` | System prompt for the agent in quick setup mode. If `--config` is provided, `--system-message` is omitted. |
|
|
39
|
+
| `--no-display` | Disable real-time streaming UI coordination display (fallback to simple text output).|
|
|
40
|
+
| `--no-logs` | Disable real-time logging.|
|
|
41
|
+
| `--debug` | Enable debug mode with verbose logging (NEW in v0.0.13). Shows detailed orchestrator activities, agent messages, backend operations, and tool calls. Debug logs are saved to `agent_outputs/log_{time}/massgen_debug.log`. |
|
|
42
|
+
| `"<your question>"` | Optional single-question input; if omitted, MassGen enters interactive chat mode. |
|
|
15
43
|
|
|
16
|
-
|
|
44
|
+
## Quick Start Examples
|
|
17
45
|
|
|
18
|
-
|
|
19
|
-
- **Gemini 2.5 Flash**: Web search enabled
|
|
20
|
-
- **GPT-4o-mini**: Web search and code interpreter enabled
|
|
21
|
-
- **Grok-3-mini**: Web search with citations
|
|
22
|
-
- Best for general questions requiring diverse perspectives
|
|
46
|
+
### 🌟 Recommended Showcase Example
|
|
23
47
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
48
|
+
**Best starting point for multi-agent collaboration:**
|
|
49
|
+
```bash
|
|
50
|
+
# Three powerful agents (Gemini, GPT-5, Grok) with enhanced workspace tools
|
|
51
|
+
massgen --config @examples/basic/multi/three_agents_default "Your complex task"
|
|
52
|
+
```
|
|
29
53
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
54
|
+
This configuration combines:
|
|
55
|
+
- **Gemini 2.5 Flash** - Fast, versatile with web search
|
|
56
|
+
- **GPT-5 Nano** - Advanced reasoning with code interpreter
|
|
57
|
+
- **Grok-3 Mini** - Efficient with real-time web search
|
|
34
58
|
|
|
35
|
-
|
|
59
|
+
### Quick Setup Without Config Files
|
|
36
60
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
61
|
+
**Single agent with model name only:**
|
|
62
|
+
```bash
|
|
63
|
+
# Quick test with any supported model - no configuration needed
|
|
64
|
+
massgen --model claude-3-5-sonnet-latest "What is machine learning?"
|
|
65
|
+
massgen --model gemini-2.5-flash "Explain quantum computing"
|
|
66
|
+
massgen --model gpt-5-nano "Summarize the latest AI developments"
|
|
67
|
+
```
|
|
42
68
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
- High temperature (0.8) for creativity
|
|
69
|
+
**Interactive Mode:**
|
|
70
|
+
```bash
|
|
71
|
+
# Start interactive chat (no initial question)
|
|
72
|
+
massgen --config @examples/basic/multi/three_agents_default
|
|
48
73
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
- **News Synthesizer (GPT-4o-mini)**: Balanced summaries
|
|
53
|
-
- Medium temperature (0.4) for balanced analysis
|
|
74
|
+
# Debug mode for troubleshooting
|
|
75
|
+
massgen --config @examples/basic/multi/three_agents_default --debug "Your question"
|
|
76
|
+
```
|
|
54
77
|
|
|
55
|
-
|
|
56
|
-
- **Technical Researcher (GPT-4o)**: Specifications and documentation
|
|
57
|
-
- **Cost Analyst (Grok-3-mini)**: Pricing and cost calculations
|
|
58
|
-
- **Technical Advisor (GPT-4o-mini)**: Practical recommendations
|
|
59
|
-
- Low temperature (0.2) for precision
|
|
78
|
+
### Basic Usage
|
|
60
79
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
- Medium temperature (0.6) for balanced suggestions
|
|
80
|
+
For simple single-agent setups:
|
|
81
|
+
```bash
|
|
82
|
+
massgen --config @examples/basic/single/single_agent "Your question"
|
|
83
|
+
```
|
|
66
84
|
|
|
67
|
-
|
|
85
|
+
### Tool-Enabled Configurations
|
|
68
86
|
|
|
69
|
-
|
|
87
|
+
#### MCP (Model Context Protocol) Servers
|
|
88
|
+
MCP enables agents to use external tools and services:
|
|
70
89
|
```bash
|
|
71
|
-
#
|
|
72
|
-
|
|
90
|
+
# Weather queries
|
|
91
|
+
massgen --config @examples/tools/mcp/gemini_mcp_example "What's the weather in Tokyo?"
|
|
92
|
+
|
|
93
|
+
# Discord integration
|
|
94
|
+
massgen --config @examples/tools/mcp/claude_code_discord_mcp_example "Extract latest messages"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
#### Web Search
|
|
98
|
+
For agents with web search capabilities:
|
|
99
|
+
```bash
|
|
100
|
+
massgen --config @examples/tools/web-search/claude_streamable_http_test "Search for latest news"
|
|
101
|
+
```
|
|
73
102
|
|
|
74
|
-
|
|
75
|
-
|
|
103
|
+
#### Code Execution
|
|
104
|
+
For code interpretation and execution:
|
|
105
|
+
```bash
|
|
106
|
+
massgen --config @examples/tools/code-execution/multi_agent_playwright_automation \
|
|
107
|
+
"Browse three issues in https://github.com/Leezekun/MassGen and suggest documentation improvements. Include screenshots and suggestions in a website."
|
|
76
108
|
```
|
|
77
109
|
|
|
78
|
-
|
|
110
|
+
#### Filesystem Operations
|
|
111
|
+
For file manipulation, workspace management, and copy tools:
|
|
79
112
|
```bash
|
|
80
|
-
#
|
|
81
|
-
|
|
113
|
+
# Single agent with enhanced file operations
|
|
114
|
+
massgen --config @examples/tools/filesystem/claude_code_single "Analyze this codebase"
|
|
115
|
+
|
|
116
|
+
# Multi-agent workspace collaboration with copy tools (NEW in v0.0.22)
|
|
117
|
+
massgen --config @examples/tools/filesystem/claude_code_context_sharing "Create shared workspace files"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Provider-Specific Examples
|
|
82
121
|
|
|
83
|
-
|
|
84
|
-
uv run python -m massgen.cli --config gemini_4o_claude.yaml "Analyze the implications of quantum computing on cryptography"
|
|
122
|
+
Each provider has unique features and capabilities:
|
|
85
123
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
uv run python -m massgen.cli --config news_analysis.yaml "What happened in tech news this week?"
|
|
90
|
-
uv run python -m massgen.cli --config technical_analysis.yaml "Cost analysis for running LLMs at scale"
|
|
91
|
-
uv run python -m massgen.cli --config travel_planning.yaml "Plan a 5-day trip to Tokyo in spring"
|
|
124
|
+
#### OpenAI (GPT-5 Series)
|
|
125
|
+
```bash
|
|
126
|
+
massgen --config @examples/providers/openai/gpt5 "Complex reasoning task"
|
|
92
127
|
```
|
|
93
128
|
|
|
94
|
-
|
|
129
|
+
#### Claude
|
|
95
130
|
```bash
|
|
96
|
-
|
|
97
|
-
|
|
131
|
+
massgen --config @examples/providers/claude/claude_mcp_example "Creative writing task"
|
|
132
|
+
```
|
|
98
133
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
134
|
+
#### Gemini
|
|
135
|
+
```bash
|
|
136
|
+
massgen --config @examples/providers/gemini/gemini_mcp_example "Research task"
|
|
102
137
|
```
|
|
103
138
|
|
|
104
|
-
|
|
139
|
+
#### Local Models
|
|
140
|
+
```bash
|
|
141
|
+
massgen --config @examples/providers/local/lmstudio "Run with local model"
|
|
142
|
+
```
|
|
105
143
|
|
|
106
|
-
|
|
144
|
+
### Pre-Configured Teams
|
|
107
145
|
|
|
108
|
-
|
|
146
|
+
Teams are specialized multi-agent setups for specific domains:
|
|
109
147
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
backend:
|
|
114
|
-
type: "claude" | "gemini" | "grok" | "openai" #Type of backend (Optional because we can infer backend type through model.)
|
|
115
|
-
model: "<model_name>" # Model name
|
|
116
|
-
api_key: "<optional_key>" # API key for backend. Uses env vars by default.
|
|
117
|
-
system_message: "..." # System Message for Single Agent
|
|
148
|
+
#### Creative Teams
|
|
149
|
+
```bash
|
|
150
|
+
massgen --config @examples/teams/creative/creative_team "Write a story"
|
|
118
151
|
```
|
|
119
152
|
|
|
120
|
-
|
|
153
|
+
#### Research Teams
|
|
154
|
+
```bash
|
|
155
|
+
massgen --config @examples/teams/research/research_team "Analyze market trends"
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
#### Development Teams
|
|
159
|
+
```bash
|
|
160
|
+
massgen --config @examples/teams/development/zai_coding_team "Build a web app"
|
|
161
|
+
```
|
|
121
162
|
|
|
122
|
-
|
|
163
|
+
## Configuration File Format
|
|
123
164
|
|
|
165
|
+
### Single Agent
|
|
124
166
|
```yaml
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
...
|
|
137
|
-
system_message: "..."
|
|
167
|
+
agent:
|
|
168
|
+
id: "agent_name"
|
|
169
|
+
backend:
|
|
170
|
+
type: "provider_type"
|
|
171
|
+
model: "model_name"
|
|
172
|
+
# Additional backend settings
|
|
173
|
+
system_message: "Agent instructions"
|
|
174
|
+
|
|
175
|
+
ui:
|
|
176
|
+
display_type: "rich_terminal"
|
|
177
|
+
logging_enabled: true
|
|
138
178
|
```
|
|
139
179
|
|
|
140
|
-
|
|
180
|
+
### Multi-Agent
|
|
181
|
+
```yaml
|
|
182
|
+
agents:
|
|
183
|
+
- id: "agent1"
|
|
184
|
+
backend:
|
|
185
|
+
type: "provider1"
|
|
186
|
+
model: "model1"
|
|
187
|
+
system_message: "Agent 1 role"
|
|
141
188
|
|
|
142
|
-
|
|
189
|
+
- id: "agent2"
|
|
190
|
+
backend:
|
|
191
|
+
type: "provider2"
|
|
192
|
+
model: "model2"
|
|
193
|
+
system_message: "Agent 2 role"
|
|
143
194
|
|
|
144
|
-
|
|
195
|
+
ui:
|
|
196
|
+
display_type: "rich_terminal"
|
|
197
|
+
logging_enabled: true
|
|
198
|
+
```
|
|
145
199
|
|
|
200
|
+
### MCP Server Configuration
|
|
146
201
|
```yaml
|
|
147
202
|
backend:
|
|
148
|
-
type: "
|
|
149
|
-
model: "
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
203
|
+
type: "provider"
|
|
204
|
+
model: "model_name"
|
|
205
|
+
mcp_servers:
|
|
206
|
+
server_name:
|
|
207
|
+
type: "stdio"
|
|
208
|
+
command: "command"
|
|
209
|
+
args: ["arg1", "arg2"]
|
|
210
|
+
env:
|
|
211
|
+
KEY: "${ENV_VAR}"
|
|
155
212
|
```
|
|
156
213
|
|
|
157
|
-
|
|
214
|
+
## Finding the Right Configuration
|
|
158
215
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
216
|
+
1. **New Users**: Start with `basic/single/` or `basic/multi/`
|
|
217
|
+
2. **Need Tools**: Check `tools/` subdirectories for specific capabilities
|
|
218
|
+
3. **Specific Provider**: Look in `providers/` for your provider
|
|
219
|
+
4. **Complex Tasks**: Use pre-configured `teams/`
|
|
220
|
+
|
|
221
|
+
## Environment Variables
|
|
222
|
+
|
|
223
|
+
Most configurations use environment variables for API keys:
|
|
224
|
+
- Set up your `.env` file based on `.env.example`
|
|
225
|
+
- Provider-specific keys: `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, etc.
|
|
226
|
+
- MCP server keys: `DISCORD_BOT_TOKEN`, `BRAVE_API_KEY`, etc.
|
|
227
|
+
|
|
228
|
+
## Release History & Examples
|
|
229
|
+
|
|
230
|
+
### v0.1.0 - Latest
|
|
231
|
+
**New Features:** PyPI Package Release, Comprehensive Documentation, Interactive Setup Wizard, Enhanced CLI Experience
|
|
232
|
+
|
|
233
|
+
**Key Features:**
|
|
234
|
+
- Official PyPI distribution: `pip install massgen` (no repo clone needed)
|
|
235
|
+
- Global CLI command: Run `massgen` from any directory with centralized config in `~/.config/massgen/`
|
|
236
|
+
- Simplified command syntax: `massgen "question"` replaces `uv run python -m massgen.cli`
|
|
237
|
+
- Built-in examples: `@examples/` prefix for instant access (e.g., `@examples/basic/multi/three_agents_default`)
|
|
238
|
+
- Interactive Setup Wizard: Step-by-step first-run with smart defaults (API keys, use case, model)
|
|
239
|
+
- Documentation site at [docs.massgen.io](https://docs.massgen.io/en/latest/)
|
|
240
|
+
- Backward compatibility: Existing git/`uv run` workflows still work
|
|
241
|
+
|
|
242
|
+
**Try it:**
|
|
243
|
+
```bash
|
|
244
|
+
# Install and run setup wizard
|
|
245
|
+
pip install massgen
|
|
246
|
+
massgen
|
|
247
|
+
|
|
248
|
+
# Quick multi-agent collaboration
|
|
249
|
+
massgen --config @examples/basic/multi/three_agents_default \
|
|
250
|
+
"Analyze the pros and cons of renewable energy"
|
|
251
|
+
|
|
252
|
+
# Single agent quick start
|
|
253
|
+
massgen --model gpt-5-nano "What is machine learning?"
|
|
168
254
|
```
|
|
169
255
|
|
|
170
|
-
|
|
256
|
+
### v0.0.32
|
|
257
|
+
**New Features:** Docker Execution Mode, MCP Architecture Refactoring, Claude Code Docker Integration
|
|
258
|
+
|
|
259
|
+
**Configuration Files:**
|
|
260
|
+
- `massgen/configs/tools/code-execution/docker_simple.yaml` - Basic single-agent Docker execution
|
|
261
|
+
- `massgen/configs/tools/code-execution/docker_multi_agent.yaml` - Multi-agent Docker deployment with isolated containers
|
|
262
|
+
- `massgen/configs/tools/code-execution/docker_with_resource_limits.yaml` - Resource-constrained Docker setup with CPU/memory limits
|
|
263
|
+
- `massgen/configs/tools/code-execution/docker_claude_code.yaml` - Claude Code with Docker execution and automatic tool management
|
|
264
|
+
- `massgen/configs/debug/code_execution/docker_verification.yaml` - Docker setup verification configuration
|
|
265
|
+
|
|
266
|
+
**Key Features:**
|
|
267
|
+
- Docker-based command execution with container isolation preventing host filesystem access
|
|
268
|
+
- Persistent state across conversation turns (packages stay installed)
|
|
269
|
+
- Multi-agent support with dedicated containers per agent
|
|
270
|
+
- Resource limits (CPU, memory) and network isolation modes (none/bridge/host)
|
|
271
|
+
- Simplified MCP architecture with MCPClient (renamed from MultiMCPClient)
|
|
272
|
+
- Claude Code automatic Bash tool disablement in Docker mode
|
|
273
|
+
|
|
274
|
+
**Try it:**
|
|
275
|
+
```bash
|
|
276
|
+
# Docker isolated execution - secure command execution in containers
|
|
277
|
+
massgen --config @examples/tools/code-execution/docker_simple \
|
|
278
|
+
"Write a factorial function and test it"
|
|
171
279
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
280
|
+
# Multi-agent Docker deployment - each agent in isolated container
|
|
281
|
+
massgen --config @examples/tools/code-execution/docker_multi_agent \
|
|
282
|
+
"Build a Flask website about Bob Dylan"
|
|
283
|
+
|
|
284
|
+
# Claude Code with Docker - automatic tool management
|
|
285
|
+
massgen --config @examples/tools/code-execution/docker_claude_code \
|
|
286
|
+
"Build a Flask website about Bob Dylan"
|
|
287
|
+
|
|
288
|
+
# Resource-limited Docker execution - production-ready setup
|
|
289
|
+
massgen --config @examples/tools/code-execution/docker_with_resource_limits \
|
|
290
|
+
"Fetch data from an API and analyze it"
|
|
183
291
|
```
|
|
184
292
|
|
|
185
|
-
|
|
293
|
+
### v0.0.31
|
|
294
|
+
**New Features:** Universal Code Execution, AG2 Group Chat Integration, Audio & Video Generation Tools
|
|
295
|
+
|
|
296
|
+
**Configuration Files:**
|
|
297
|
+
- `massgen/configs/tools/code-execution/basic_command_execution.yaml` - Universal command execution across all backends
|
|
298
|
+
- `massgen/configs/debug/code_execution/command_filtering_whitelist.yaml` - Command execution with whitelist filtering
|
|
299
|
+
- `massgen/configs/debug/code_execution/command_filtering_blacklist.yaml` - Command execution with blacklist filtering
|
|
300
|
+
- `massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml` - Multi-agent web automation with code execution
|
|
301
|
+
- `massgen/configs/ag2/ag2_groupchat.yaml` - Native AG2 group chat with multi-agent conversations
|
|
302
|
+
- `massgen/configs/ag2/ag2_groupchat_gpt.yaml` - Mixed MassGen and AG2 agents (GPT-5-nano + AG2 team)
|
|
303
|
+
- `massgen/configs/basic/single/single_gpt4o_audio_generation.yaml` - Single agent audio generation with GPT-4o
|
|
304
|
+
- `massgen/configs/basic/multi/gpt4o_audio_generation.yaml` - Multi-agent audio generation with GPT-4o
|
|
305
|
+
- `massgen/configs/basic/single/single_gpt4o_video_generation.yaml` - Video generation with OpenAI Sora-2
|
|
306
|
+
|
|
307
|
+
**Key Features:**
|
|
308
|
+
- Universal `execute_command` tool works across Claude, Gemini, OpenAI (Response API), and Chat Completions providers (Grok, ZAI, etc.)
|
|
309
|
+
- AG2 group chat integration with speaker selection modes (auto, round-robin, manual)
|
|
310
|
+
- Audio tools: text-to-speech, audio transcription, audio generation
|
|
311
|
+
- Video tools: text-to-video generation via Sora-2 API
|
|
312
|
+
- Code execution in planning mode for safer coordination
|
|
313
|
+
- Enhanced file operation tracking and path permission management
|
|
314
|
+
|
|
315
|
+
**Try it:**
|
|
316
|
+
```bash
|
|
317
|
+
# Universal code execution - works with any backend
|
|
318
|
+
massgen --config @examples/tools/code-execution/basic_command_execution \
|
|
319
|
+
"Write a Python function to calculate factorial and test it"
|
|
320
|
+
|
|
321
|
+
# AG2 group chat - multi-agent conversations
|
|
322
|
+
massgen --config @examples/ag2/ag2_groupchat \
|
|
323
|
+
"Write a Python function to calculate factorial."
|
|
186
324
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
325
|
+
# Mixed MassGen + AG2 agents - GPT-5-nano collaborating with AG2 team
|
|
326
|
+
massgen --config @examples/ag2/ag2_groupchat_gpt \
|
|
327
|
+
"Write a Python function to calculate factorial."
|
|
328
|
+
|
|
329
|
+
# Audio generation
|
|
330
|
+
massgen --config @examples/basic/single/single_gpt4o_audio_generation \
|
|
331
|
+
"I want to you tell me a very short introduction about Sherlock Homes in one sentence, and I want you to use emotion voice to read it out loud."
|
|
332
|
+
|
|
333
|
+
# Video generation with Sora-2
|
|
334
|
+
massgen --config @examples/basic/single/single_gpt4o_video_generation \
|
|
335
|
+
"Generate a 4 seconds video with neon-lit alley at night, light rain, slow push-in, cinematic."
|
|
196
336
|
```
|
|
197
337
|
|
|
198
|
-
|
|
338
|
+
### v0.0.30
|
|
339
|
+
**New Features:** Multimodal Audio and Video Support, Claude Agent SDK Update, Qwen API Integration
|
|
340
|
+
- `massgen/configs/basic/single/single_openrouter_audio_understanding.yaml` - Audio understanding with OpenRouter
|
|
341
|
+
- `massgen/configs/basic/single/single_qwen_video_understanding.yaml` - Video understanding with Qwen API
|
|
342
|
+
- `massgen/configs/basic/single/single_gemini2.5pro.yaml` - Gemini 2.5 Pro single agent setup
|
|
343
|
+
- `massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml` - Claude Code, GPT-5, and Gemini filesystem collaboration
|
|
344
|
+
- `massgen/configs/ag2/ag2_case_study.yaml` - AG2 framework integration case study
|
|
345
|
+
- `massgen/configs/debug/test_sdk_migration.yaml` - Claude Code SDK migration testing
|
|
346
|
+
- Updated from `claude-code-sdk>=0.0.19` to `claude-agent-sdk>=0.0.22`
|
|
347
|
+
- Audio/video multimodal support for Chat Completions and Claude backends
|
|
348
|
+
- Qwen API provider integration with video understanding capabilities
|
|
349
|
+
|
|
350
|
+
**Try it:**
|
|
351
|
+
```bash
|
|
352
|
+
# Audio understanding with OpenRouter
|
|
353
|
+
massgen --config @examples/basic/single/single_openrouter_audio_understanding \
|
|
354
|
+
"What is in this recording?"
|
|
199
355
|
|
|
200
|
-
|
|
356
|
+
# Video understanding with Qwen API
|
|
357
|
+
massgen --config @examples/basic/single/single_qwen_video_understanding \
|
|
358
|
+
"Describe what happens in this video"
|
|
201
359
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
logging_enabled: true | false # Enable/disable real-time logging
|
|
360
|
+
# Multi-agent filesystem collaboration
|
|
361
|
+
massgen --config @examples/tools/filesystem/cc_gpt5_gemini_filesystem \
|
|
362
|
+
"Create a comprehensive project with documentation"
|
|
206
363
|
```
|
|
207
364
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
- `
|
|
365
|
+
### v0.0.29
|
|
366
|
+
**New Features:** MCP Planning Mode, File Operation Safety, Enhanced MCP Tool Filtering
|
|
367
|
+
- `massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml` - Five agents with Discord MCP in planning mode
|
|
368
|
+
- `massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml` - Five agents with filesystem MCP in planning mode
|
|
369
|
+
- `massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml` - Five agents with Notion MCP in planning mode
|
|
370
|
+
- `massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml` - Five agents with Twitter MCP in planning mode
|
|
371
|
+
- `massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml` - Planning mode case study configuration
|
|
372
|
+
- `massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml` - Five agents testing travel-related MCP tools
|
|
373
|
+
- `massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml` - Five agents testing weather MCP tools
|
|
374
|
+
- `massgen/configs/debug/skip_coordination_test.yaml` - Debug configuration for testing coordination skipping
|
|
375
|
+
- New `CoordinationConfig` class with `enable_planning_mode` flag for safer MCP coordination
|
|
376
|
+
- New `FileOperationTracker` class for read-before-delete enforcement
|
|
377
|
+
- Enhanced PathPermissionManager with operation tracking methods
|
|
378
|
+
|
|
379
|
+
**Case Study:** [MCP Planning Mode](../../docs/case_studies/mcp-planning-mode.md)
|
|
380
|
+
|
|
381
|
+
**Try it:**
|
|
382
|
+
```bash
|
|
383
|
+
# Planning mode with filesystem operations
|
|
384
|
+
massgen --config @examples/tools/planning/five_agents_filesystem_mcp_planning_mode \
|
|
385
|
+
"Create a comprehensive project structure with documentation"
|
|
213
386
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
enable_code_interpreter: true # OpenAI only
|
|
222
|
-
enable_code_execution: true # Gemini/Claude only
|
|
387
|
+
# Multi-agent weather MCP testing
|
|
388
|
+
massgen --config @examples/tools/mcp/five_agents_weather_mcp_test \
|
|
389
|
+
"Compare weather forecasts for New York, London, and Tokyo"
|
|
390
|
+
|
|
391
|
+
# Planning mode with Twitter integration
|
|
392
|
+
massgen --config @examples/tools/planning/five_agents_twitter_mcp_planning_mode \
|
|
393
|
+
"Draft and plan tweet series about AI advancements"
|
|
223
394
|
```
|
|
224
395
|
|
|
225
|
-
|
|
396
|
+
### v0.0.28
|
|
397
|
+
**New Features:** AG2 Framework Integration, External Agent Backend, Code Execution Support
|
|
398
|
+
- `massgen/configs/ag2/ag2_single_agent.yaml` - Basic single AG2 agent setup
|
|
399
|
+
- `massgen/configs/ag2/ag2_coder.yaml` - AG2 agent with code execution capabilities
|
|
400
|
+
- `massgen/configs/ag2/ag2_coder_case_study.yaml` - Multi-agent setup with AG2 and Gemini
|
|
401
|
+
- `massgen/configs/ag2/ag2_gemini.yaml` - AG2-Gemini hybrid configuration
|
|
402
|
+
- New `massgen/adapters/` module for external framework integration
|
|
403
|
+
- New `ExternalAgentBackend` class bridging MassGen with external frameworks
|
|
404
|
+
- Multiple code executor types: LocalCommandLineCodeExecutor, DockerCommandLineCodeExecutor, JupyterCodeExecutor, YepCodeCodeExecutor
|
|
226
405
|
|
|
227
|
-
|
|
406
|
+
**Case Study:** [AG2 Framework Integration](../../docs/case_studies/ag2-framework-integration.md)
|
|
228
407
|
|
|
408
|
+
**Try it:**
|
|
229
409
|
```bash
|
|
230
|
-
#
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
410
|
+
# AG2 single agent with code execution
|
|
411
|
+
massgen --config @examples/ag2/ag2_coder \
|
|
412
|
+
"Create a factorial function and calculate the factorial of 8. Show the result?"
|
|
413
|
+
|
|
414
|
+
# Mixed team: AG2 agent + Gemini agent
|
|
415
|
+
massgen --config @examples/ag2/ag2_gemini \
|
|
416
|
+
"what is quantum computing?"
|
|
417
|
+
|
|
418
|
+
# AG2 case study: Compare AG2 and MassGen (requires external dependency)
|
|
419
|
+
uv pip install -e ".[external]"
|
|
420
|
+
massgen --config @examples/ag2/ag2_coder_case_study \
|
|
421
|
+
"Output a summary comparing the differences between AG2 (https://github.com/ag2ai/ag2) and MassGen (https://github.com/Leezekun/MassGen) for LLM agents."
|
|
235
422
|
```
|
|
236
423
|
|
|
237
|
-
|
|
424
|
+
### v0.0.27
|
|
425
|
+
**New Features:** Multimodal Support (Image Processing), File Upload and File Search, Claude Sonnet 4.5
|
|
426
|
+
- `massgen/configs/basic/multi/gpt4o_image_generation.yaml` - Multi-agent image generation
|
|
427
|
+
- `massgen/configs/basic/multi/gpt5nano_image_understanding.yaml` - Multi-agent image understanding
|
|
428
|
+
- `massgen/configs/basic/single/single_gpt4o_image_generation.yaml` - Single agent image generation
|
|
429
|
+
- `massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml` - Single agent image understanding
|
|
430
|
+
- `massgen/configs/basic/single/single_gpt5nano_file_search.yaml` - File search for document Q&A
|
|
431
|
+
- New `stream_chunk` module for multimodal content architecture
|
|
432
|
+
- Enhanced `read_multimodal_files` MCP tool for image processing
|
|
433
|
+
|
|
434
|
+
**Try it:**
|
|
435
|
+
```bash
|
|
436
|
+
# Image generation with single agent
|
|
437
|
+
massgen --config @examples/basic/single/single_gpt4o_image_generation \
|
|
438
|
+
"Generate an image of gray tabby cat hugging an otter with an orange scarf. Limit image size within 5kb."
|
|
238
439
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
| **OpenAI** | ✅ | ✅ |
|
|
243
|
-
| **Grok** | ✅ | ❌ |
|
|
244
|
-
| **Gemini** | ✅ | ✅ |
|
|
440
|
+
# Image understanding with multiple agents
|
|
441
|
+
massgen --config @examples/basic/multi/gpt5nano_image_understanding \
|
|
442
|
+
"Please summarize the content in this image."
|
|
245
443
|
|
|
246
|
-
|
|
444
|
+
# File search for document Q&A
|
|
445
|
+
massgen --config @examples/basic/single/single_gpt5nano_file_search \
|
|
446
|
+
"What is humanity's last exam score for OpenAI Deep Research? Also, provide details about the other models mentioned in the PDF?"
|
|
447
|
+
```
|
|
247
448
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
449
|
+
### v0.0.26
|
|
450
|
+
**New Features:** File Deletion, Protected Paths, File-Based Context Paths
|
|
451
|
+
- `massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml` - Protected paths configuration
|
|
452
|
+
- `massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml` - File-based context paths
|
|
453
|
+
- `massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml` - Multi-agent filesystem collaboration
|
|
454
|
+
- New MCP tools: `delete_file`, `delete_files_batch`, `compare_directories`, `compare_files`
|
|
252
455
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
456
|
+
**Try it:**
|
|
457
|
+
```bash
|
|
458
|
+
# Protected paths - keep reference files safe
|
|
459
|
+
massgen --config @examples/tools/filesystem/gemini_gpt5nano_protected_paths \
|
|
460
|
+
"Review the HTML and CSS files, then improve the styling"
|
|
257
461
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
462
|
+
# File-based context paths - grant access to specific files
|
|
463
|
+
massgen --config @examples/tools/filesystem/gemini_gpt5nano_file_context_path \
|
|
464
|
+
"Analyze the CSS file and make modern improvements"
|
|
465
|
+
```
|
|
262
466
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
467
|
+
### v0.0.25
|
|
468
|
+
**New Features:** Multi-Turn Filesystem Support, SGLang Backend Integration
|
|
469
|
+
- `massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml` - Multi-turn with Gemini agents
|
|
470
|
+
- `massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml` - Three-agent multi-turn
|
|
471
|
+
- `massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml` - Mixed vLLM and SGLang deployment
|
|
472
|
+
- Automatic `.massgen` directory management for persistent conversation context
|
|
473
|
+
- Enhanced path permissions with `will_be_writable` flag and smart exclusion patterns
|
|
267
474
|
|
|
268
|
-
|
|
475
|
+
**Case Study:** [Multi-Turn Filesystem Support](../../docs/case_studies/multi-turn-filesystem-support.md)
|
|
476
|
+
```bash
|
|
477
|
+
# Turn 1 - Initial creation
|
|
478
|
+
Turn 1: Make a website about Bob Dylan
|
|
479
|
+
# Creates workspace and saves state to .massgen/sessions/
|
|
480
|
+
|
|
481
|
+
# Turn 2 - Enhancement based on Turn 1
|
|
482
|
+
Turn 2: Can you (1) remove the image placeholder? we will not use image directly. (2) generally improve the appearance so it is more engaging, (3) make it longer and add an interactive element
|
|
483
|
+
# Note: Unlike pre-v0.0.25, Turn 2 automatically loads Turn 1's workspace state
|
|
484
|
+
# Agents can directly access and modify files from the previous turn
|
|
485
|
+
```
|
|
269
486
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
487
|
+
### v0.0.24
|
|
488
|
+
**New Features:** vLLM Backend Support, Backend Utility Modules
|
|
489
|
+
- `massgen/configs/basic/multi/three_agents_vllm.yaml` - vLLM with Cerebras and ZAI backends
|
|
490
|
+
- `massgen/configs/basic/multi/two_qwen_vllm.yaml` - Dual vLLM agents for testing
|
|
491
|
+
- POE provider support for accessing multiple AI models through single platform
|
|
492
|
+
- GPT-5-Codex model recognition for enhanced code generation capabilities
|
|
275
493
|
|
|
276
|
-
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
494
|
+
**Try it:**
|
|
495
|
+
```bash
|
|
496
|
+
# Try vLLM backend with local models (requires vLLM server running)
|
|
497
|
+
# First start vLLM server: python -m vllm.entrypoints.openai.api_server --model Qwen/Qwen3-0.6B --host 0.0.0.0 --port 8000
|
|
498
|
+
massgen --config @examples/basic/multi/two_qwen_vllm \
|
|
499
|
+
"What is machine learning?"
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
### v0.0.23
|
|
503
|
+
**New Features:** Backend Architecture Refactoring, Formatter Module
|
|
504
|
+
- Major code consolidation with new `base_with_mcp.py` class reducing ~1,932 lines across backends
|
|
505
|
+
- Extracted message and tool formatting logic into dedicated `massgen/formatter/` module
|
|
506
|
+
- Streamlined chat_completions.py, claude.py, and response.py for better maintainability
|
|
507
|
+
|
|
508
|
+
### v0.0.22
|
|
509
|
+
**New Features:** Workspace Copy Tools via MCP, Configuration Organization
|
|
510
|
+
- All configs now organized by provider & use case (basic/, providers/, tools/, teams/)
|
|
511
|
+
- Use same configs as v0.0.21 for compatibility, but now with improved performance
|
|
512
|
+
|
|
513
|
+
**Case Study:** [Advanced Filesystem with User Context Path Support](../../docs/case_studies/v0.0.21-v0.0.22-filesystem-permissions.md)
|
|
514
|
+
```bash
|
|
515
|
+
# Multi-agent collaboration with granular filesystem permissions
|
|
516
|
+
massgen --config @examples/tools/filesystem/gpt5mini_cc_fs_context_path "Enhance the website in massgen/configs/resources with: 1) A dark/light theme toggle with smooth transitions, 2) An interactive feature that helps users engage with the blog content (your choice - could be search, filtering by topic, reading time estimates, social sharing, reactions, etc.), and 3) Visual polish with CSS animations or transitions that make the site feel more modern and responsive. Use vanilla JavaScript and be creative with the implementation details."
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
### v0.0.21
|
|
520
|
+
**New Features:** Advanced Filesystem Permissions, Grok MCP Integration
|
|
521
|
+
- `massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml` - Grok with MCP tools
|
|
522
|
+
- `massgen/configs/tools/filesystem/fs_permissions_test.yaml` - Permission-controlled file sharing
|
|
523
|
+
- `massgen/configs/tools/filesystem/claude_code_context_sharing.yaml` - Agent workspace sharing
|
|
524
|
+
|
|
525
|
+
**Try it:**
|
|
526
|
+
```bash
|
|
527
|
+
# Grok with MCP tools
|
|
528
|
+
massgen --config @examples/tools/mcp/grok3_mini_mcp_example \
|
|
529
|
+
"What's the weather in Tokyo?"
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
### v0.0.20
|
|
533
|
+
**New Features:** Claude MCP Support with Recursive Execution
|
|
534
|
+
- `massgen/configs/tools/mcp/claude_mcp_example.yaml` - Claude with MCP tools
|
|
535
|
+
- `massgen/configs/tools/mcp/claude_mcp_test.yaml` - Testing Claude MCP capabilities
|
|
536
|
+
|
|
537
|
+
**Try it:**
|
|
538
|
+
```bash
|
|
539
|
+
# Claude with MCP tools
|
|
540
|
+
massgen --config @examples/tools/mcp/claude_mcp_example \
|
|
541
|
+
"What's the current weather?"
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
### v0.0.17
|
|
545
|
+
**New Features:** OpenAI MCP Integration
|
|
546
|
+
- `massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml` - GPT-5 with MCP tools
|
|
547
|
+
- `massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml` - Multi-agent MCP
|
|
548
|
+
|
|
549
|
+
**Try it:**
|
|
550
|
+
```bash
|
|
551
|
+
# Claude with MCP tools
|
|
552
|
+
massgen --config @examples/tools/mcp/gpt5_nano_mcp_example \
|
|
553
|
+
"whats the weather of Tokyo?"
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
### v0.0.16
|
|
558
|
+
**New Features:** Unified Filesystem Support with MCP Integration
|
|
559
|
+
**Case Study:** [Cross-Backend Collaboration with Gemini MCP Filesystem](../../docs/case_studies/unified-filesystem-mcp-integration.md)
|
|
560
|
+
```bash
|
|
561
|
+
# Gemini and Claude Code agents with unified filesystem via MCP
|
|
562
|
+
massgen --config @examples/tools/mcp/gemini_mcp_filesystem_test_with_claude_code "Create a presentation that teaches a reinforcement learning algorithm and output it in LaTeX Beamer format. No figures should be added."
|
|
563
|
+
```
|
|
564
|
+
|
|
565
|
+
### v0.0.15
|
|
566
|
+
**New Features:** Gemini MCP Integration
|
|
567
|
+
- `massgen/configs/tools/mcp/gemini_mcp_example.yaml` - Gemini with weather MCP
|
|
568
|
+
- `massgen/configs/tools/mcp/multimcp_gemini.yaml` - Multiple MCP servers
|
|
569
|
+
|
|
570
|
+
### v0.0.12 - v0.0.14
|
|
571
|
+
**New Features:** Enhanced Logging and Workspace Management
|
|
572
|
+
**Case Study:** [Claude Code Workspace Management with Comprehensive Logging](../../docs/case_studies/claude-code-workspace-management.md)
|
|
573
|
+
```bash
|
|
574
|
+
# Multi-agent Claude Code collaboration with enhanced workspace isolation
|
|
575
|
+
massgen --config @examples/tools/filesystem/claude_code_context_sharing "Create a website about a diverse set of fun facts about LLMs, placing the output in one index.html file"
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
### v0.0.10
|
|
579
|
+
**New Features:** Azure OpenAI Support
|
|
580
|
+
- `massgen/configs/providers/azure/azure_openai_single.yaml` - Azure single agent
|
|
581
|
+
- `massgen/configs/providers/azure/azure_openai_multi.yaml` - Azure multi-agent
|
|
582
|
+
|
|
583
|
+
### v0.0.7
|
|
584
|
+
**New Features:** Local Model Support with LM Studio
|
|
585
|
+
- `massgen/configs/providers/local/lmstudio.yaml` - Local model inference
|
|
586
|
+
|
|
587
|
+
### v0.0.5
|
|
588
|
+
**New Features:** Claude Code Integration
|
|
589
|
+
- `massgen/configs/tools/filesystem/claude_code_single.yaml` - Claude Code with dev tools
|
|
590
|
+
- `massgen/configs/tools/filesystem/claude_code_flash2.5.yaml` - Multi-agent with Claude Code
|
|
591
|
+
|
|
592
|
+
## Naming Convention
|
|
593
|
+
|
|
594
|
+
To improve clarity and discoverability, we follow this naming pattern:
|
|
595
|
+
|
|
596
|
+
**Format: `{agents}_{features}_{description}.yaml`**
|
|
597
|
+
|
|
598
|
+
### 1. Agents (who's participating)
|
|
599
|
+
- `single-{provider}` - Single agent (e.g., `single-claude`, `single-gemini`)
|
|
600
|
+
- `{provider1}-{provider2}` - Two agents (e.g., `claude-gemini`, `gemini-gpt5`)
|
|
601
|
+
- `three-mixed` - Three agents from different providers
|
|
602
|
+
- `team-{type}` - Specialized teams (e.g., `team-creative`, `team-research`)
|
|
603
|
+
|
|
604
|
+
### 2. Features (what tools/capabilities)
|
|
605
|
+
- `basic` - No special tools, just conversation
|
|
606
|
+
- `mcp` - MCP server integration
|
|
607
|
+
- `mcp-{service}` - Specific MCP service (e.g., `mcp-discord`, `mcp-weather`)
|
|
608
|
+
- `mcp-multi` - Multiple MCP servers
|
|
609
|
+
- `websearch` - Web search enabled
|
|
610
|
+
- `codeexec` - Code execution/interpreter
|
|
611
|
+
- `filesystem` - File operations and workspace management
|
|
612
|
+
|
|
613
|
+
### 3. Description (purpose/context - optional)
|
|
614
|
+
- `showcase` - Demonstration/getting started example
|
|
615
|
+
- `test` - Testing configuration
|
|
616
|
+
- `research` - Research and analysis tasks
|
|
617
|
+
- `dev` - Development and coding tasks
|
|
618
|
+
- `collab` - Collaboration example
|
|
619
|
+
|
|
620
|
+
### Examples
|
|
621
|
+
```
|
|
622
|
+
# Current → Suggested
|
|
623
|
+
three_agents_default.yaml → three-mixed_basic_showcase.yaml
|
|
624
|
+
grok3_mini_mcp_example.yaml → single-grok_mcp-weather_test.yaml
|
|
625
|
+
claude_code_discord_mcp_example.yaml → single-claude_mcp-discord_demo.yaml
|
|
626
|
+
gpt5mini_claude_code_discord_mcp_example.yaml → claude-gpt5_mcp-discord_collab.yaml
|
|
627
|
+
```
|
|
628
|
+
|
|
629
|
+
**Note:** Existing configs maintain their current names for compatibility. New configs should follow this convention.
|
|
630
|
+
|
|
631
|
+
## Additional Documentation
|
|
632
|
+
|
|
633
|
+
For detailed setup guides:
|
|
634
|
+
- Discord MCP: `docs/DISCORD_MCP_SETUP.md`
|
|
635
|
+
- Twitter MCP: `docs/TWITTER_MCP_ENESCINAR_SETUP.md`
|
|
636
|
+
- Main README: See repository root for comprehensive documentation
|