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.

Files changed (268) hide show
  1. massgen/__init__.py +142 -8
  2. massgen/adapters/__init__.py +29 -0
  3. massgen/adapters/ag2_adapter.py +483 -0
  4. massgen/adapters/base.py +183 -0
  5. massgen/adapters/tests/__init__.py +0 -0
  6. massgen/adapters/tests/test_ag2_adapter.py +439 -0
  7. massgen/adapters/tests/test_agent_adapter.py +128 -0
  8. massgen/adapters/utils/__init__.py +2 -0
  9. massgen/adapters/utils/ag2_utils.py +236 -0
  10. massgen/adapters/utils/tests/__init__.py +0 -0
  11. massgen/adapters/utils/tests/test_ag2_utils.py +138 -0
  12. massgen/agent_config.py +329 -55
  13. massgen/api_params_handler/__init__.py +10 -0
  14. massgen/api_params_handler/_api_params_handler_base.py +99 -0
  15. massgen/api_params_handler/_chat_completions_api_params_handler.py +176 -0
  16. massgen/api_params_handler/_claude_api_params_handler.py +113 -0
  17. massgen/api_params_handler/_response_api_params_handler.py +130 -0
  18. massgen/backend/__init__.py +39 -4
  19. massgen/backend/azure_openai.py +385 -0
  20. massgen/backend/base.py +341 -69
  21. massgen/backend/base_with_mcp.py +1102 -0
  22. massgen/backend/capabilities.py +386 -0
  23. massgen/backend/chat_completions.py +577 -130
  24. massgen/backend/claude.py +1033 -537
  25. massgen/backend/claude_code.py +1203 -0
  26. massgen/backend/cli_base.py +209 -0
  27. massgen/backend/docs/BACKEND_ARCHITECTURE.md +126 -0
  28. massgen/backend/{CLAUDE_API_RESEARCH.md → docs/CLAUDE_API_RESEARCH.md} +18 -18
  29. massgen/backend/{GEMINI_API_DOCUMENTATION.md → docs/GEMINI_API_DOCUMENTATION.md} +9 -9
  30. massgen/backend/docs/Gemini MCP Integration Analysis.md +1050 -0
  31. massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md +177 -0
  32. massgen/backend/docs/MCP_INTEGRATION_RESPONSE_BACKEND.md +352 -0
  33. massgen/backend/docs/OPENAI_GPT5_MODELS.md +211 -0
  34. massgen/backend/{OPENAI_RESPONSES_API_FORMAT.md → docs/OPENAI_RESPONSE_API_TOOL_CALLS.md} +3 -3
  35. massgen/backend/docs/OPENAI_response_streaming.md +20654 -0
  36. massgen/backend/docs/inference_backend.md +257 -0
  37. massgen/backend/docs/permissions_and_context_files.md +1085 -0
  38. massgen/backend/external.py +126 -0
  39. massgen/backend/gemini.py +1850 -241
  40. massgen/backend/grok.py +40 -156
  41. massgen/backend/inference.py +156 -0
  42. massgen/backend/lmstudio.py +171 -0
  43. massgen/backend/response.py +1095 -322
  44. massgen/chat_agent.py +131 -113
  45. massgen/cli.py +1560 -275
  46. massgen/config_builder.py +2396 -0
  47. massgen/configs/BACKEND_CONFIGURATION.md +458 -0
  48. massgen/configs/README.md +559 -216
  49. massgen/configs/ag2/ag2_case_study.yaml +27 -0
  50. massgen/configs/ag2/ag2_coder.yaml +34 -0
  51. massgen/configs/ag2/ag2_coder_case_study.yaml +36 -0
  52. massgen/configs/ag2/ag2_gemini.yaml +27 -0
  53. massgen/configs/ag2/ag2_groupchat.yaml +108 -0
  54. massgen/configs/ag2/ag2_groupchat_gpt.yaml +118 -0
  55. massgen/configs/ag2/ag2_single_agent.yaml +21 -0
  56. massgen/configs/basic/multi/fast_timeout_example.yaml +37 -0
  57. massgen/configs/basic/multi/gemini_4o_claude.yaml +31 -0
  58. massgen/configs/basic/multi/gemini_gpt5nano_claude.yaml +36 -0
  59. massgen/configs/{gemini_4o_claude.yaml → basic/multi/geminicode_4o_claude.yaml} +3 -3
  60. massgen/configs/basic/multi/geminicode_gpt5nano_claude.yaml +36 -0
  61. massgen/configs/basic/multi/glm_gemini_claude.yaml +25 -0
  62. massgen/configs/basic/multi/gpt4o_audio_generation.yaml +30 -0
  63. massgen/configs/basic/multi/gpt4o_image_generation.yaml +31 -0
  64. massgen/configs/basic/multi/gpt5nano_glm_qwen.yaml +26 -0
  65. massgen/configs/basic/multi/gpt5nano_image_understanding.yaml +26 -0
  66. massgen/configs/{three_agents_default.yaml → basic/multi/three_agents_default.yaml} +8 -4
  67. massgen/configs/basic/multi/three_agents_opensource.yaml +27 -0
  68. massgen/configs/basic/multi/three_agents_vllm.yaml +20 -0
  69. massgen/configs/basic/multi/two_agents_gemini.yaml +19 -0
  70. massgen/configs/{two_agents.yaml → basic/multi/two_agents_gpt5.yaml} +14 -6
  71. massgen/configs/basic/multi/two_agents_opensource_lmstudio.yaml +31 -0
  72. massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml +28 -0
  73. massgen/configs/{single_agent.yaml → basic/single/single_agent.yaml} +1 -1
  74. massgen/configs/{single_flash2.5.yaml → basic/single/single_flash2.5.yaml} +1 -2
  75. massgen/configs/basic/single/single_gemini2.5pro.yaml +16 -0
  76. massgen/configs/basic/single/single_gpt4o_audio_generation.yaml +22 -0
  77. massgen/configs/basic/single/single_gpt4o_image_generation.yaml +22 -0
  78. massgen/configs/basic/single/single_gpt4o_video_generation.yaml +24 -0
  79. massgen/configs/basic/single/single_gpt5nano.yaml +20 -0
  80. massgen/configs/basic/single/single_gpt5nano_file_search.yaml +18 -0
  81. massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml +17 -0
  82. massgen/configs/basic/single/single_gptoss120b.yaml +15 -0
  83. massgen/configs/basic/single/single_openrouter_audio_understanding.yaml +15 -0
  84. massgen/configs/basic/single/single_qwen_video_understanding.yaml +15 -0
  85. massgen/configs/debug/code_execution/command_filtering_blacklist.yaml +29 -0
  86. massgen/configs/debug/code_execution/command_filtering_whitelist.yaml +28 -0
  87. massgen/configs/debug/code_execution/docker_verification.yaml +29 -0
  88. massgen/configs/debug/skip_coordination_test.yaml +27 -0
  89. massgen/configs/debug/test_sdk_migration.yaml +17 -0
  90. massgen/configs/docs/DISCORD_MCP_SETUP.md +208 -0
  91. massgen/configs/docs/TWITTER_MCP_ENESCINAR_SETUP.md +82 -0
  92. massgen/configs/providers/azure/azure_openai_multi.yaml +21 -0
  93. massgen/configs/providers/azure/azure_openai_single.yaml +19 -0
  94. massgen/configs/providers/claude/claude.yaml +14 -0
  95. massgen/configs/providers/gemini/gemini_gpt5nano.yaml +28 -0
  96. massgen/configs/providers/local/lmstudio.yaml +11 -0
  97. massgen/configs/providers/openai/gpt5.yaml +46 -0
  98. massgen/configs/providers/openai/gpt5_nano.yaml +46 -0
  99. massgen/configs/providers/others/grok_single_agent.yaml +19 -0
  100. massgen/configs/providers/others/zai_coding_team.yaml +108 -0
  101. massgen/configs/providers/others/zai_glm45.yaml +12 -0
  102. massgen/configs/{creative_team.yaml → teams/creative/creative_team.yaml} +16 -6
  103. massgen/configs/{travel_planning.yaml → teams/creative/travel_planning.yaml} +16 -6
  104. massgen/configs/{news_analysis.yaml → teams/research/news_analysis.yaml} +16 -6
  105. massgen/configs/{research_team.yaml → teams/research/research_team.yaml} +15 -7
  106. massgen/configs/{technical_analysis.yaml → teams/research/technical_analysis.yaml} +16 -6
  107. massgen/configs/tools/code-execution/basic_command_execution.yaml +25 -0
  108. massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml +41 -0
  109. massgen/configs/tools/code-execution/docker_claude_code.yaml +32 -0
  110. massgen/configs/tools/code-execution/docker_multi_agent.yaml +32 -0
  111. massgen/configs/tools/code-execution/docker_simple.yaml +29 -0
  112. massgen/configs/tools/code-execution/docker_with_resource_limits.yaml +32 -0
  113. massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml +57 -0
  114. massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml +34 -0
  115. massgen/configs/tools/filesystem/claude_code_context_sharing.yaml +68 -0
  116. massgen/configs/tools/filesystem/claude_code_flash2.5.yaml +43 -0
  117. massgen/configs/tools/filesystem/claude_code_flash2.5_gptoss.yaml +49 -0
  118. massgen/configs/tools/filesystem/claude_code_gpt5nano.yaml +31 -0
  119. massgen/configs/tools/filesystem/claude_code_single.yaml +40 -0
  120. massgen/configs/tools/filesystem/fs_permissions_test.yaml +87 -0
  121. massgen/configs/tools/filesystem/gemini_gemini_workspace_cleanup.yaml +54 -0
  122. massgen/configs/tools/filesystem/gemini_gpt5_filesystem_casestudy.yaml +30 -0
  123. massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml +43 -0
  124. massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml +45 -0
  125. massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml +31 -0
  126. massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml +32 -0
  127. massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml +58 -0
  128. massgen/configs/tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml +58 -0
  129. massgen/configs/tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml +47 -0
  130. massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml +48 -0
  131. massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml +27 -0
  132. massgen/configs/tools/mcp/claude_code_simple_mcp.yaml +35 -0
  133. massgen/configs/tools/mcp/claude_code_twitter_mcp_example.yaml +32 -0
  134. massgen/configs/tools/mcp/claude_mcp_example.yaml +24 -0
  135. massgen/configs/tools/mcp/claude_mcp_test.yaml +27 -0
  136. massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml +157 -0
  137. massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml +103 -0
  138. massgen/configs/tools/mcp/gemini_mcp_example.yaml +24 -0
  139. massgen/configs/tools/mcp/gemini_mcp_filesystem_test.yaml +23 -0
  140. massgen/configs/tools/mcp/gemini_mcp_filesystem_test_sharing.yaml +23 -0
  141. massgen/configs/tools/mcp/gemini_mcp_filesystem_test_single_agent.yaml +17 -0
  142. massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml +24 -0
  143. massgen/configs/tools/mcp/gemini_mcp_test.yaml +27 -0
  144. massgen/configs/tools/mcp/gemini_notion_mcp.yaml +52 -0
  145. massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml +24 -0
  146. massgen/configs/tools/mcp/gpt5_nano_mcp_test.yaml +27 -0
  147. massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml +38 -0
  148. massgen/configs/tools/mcp/gpt_oss_mcp_example.yaml +25 -0
  149. massgen/configs/tools/mcp/gpt_oss_mcp_test.yaml +28 -0
  150. massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml +24 -0
  151. massgen/configs/tools/mcp/grok3_mini_mcp_test.yaml +27 -0
  152. massgen/configs/tools/mcp/multimcp_gemini.yaml +111 -0
  153. massgen/configs/tools/mcp/qwen_api_mcp_example.yaml +25 -0
  154. massgen/configs/tools/mcp/qwen_api_mcp_test.yaml +28 -0
  155. massgen/configs/tools/mcp/qwen_local_mcp_example.yaml +24 -0
  156. massgen/configs/tools/mcp/qwen_local_mcp_test.yaml +27 -0
  157. massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml +140 -0
  158. massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml +151 -0
  159. massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml +151 -0
  160. massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml +155 -0
  161. massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml +73 -0
  162. massgen/configs/tools/web-search/claude_streamable_http_test.yaml +43 -0
  163. massgen/configs/tools/web-search/gemini_streamable_http_test.yaml +43 -0
  164. massgen/configs/tools/web-search/gpt5_mini_streamable_http_test.yaml +43 -0
  165. massgen/configs/tools/web-search/gpt_oss_streamable_http_test.yaml +44 -0
  166. massgen/configs/tools/web-search/grok3_mini_streamable_http_test.yaml +43 -0
  167. massgen/configs/tools/web-search/qwen_api_streamable_http_test.yaml +44 -0
  168. massgen/configs/tools/web-search/qwen_local_streamable_http_test.yaml +43 -0
  169. massgen/coordination_tracker.py +708 -0
  170. massgen/docker/README.md +462 -0
  171. massgen/filesystem_manager/__init__.py +21 -0
  172. massgen/filesystem_manager/_base.py +9 -0
  173. massgen/filesystem_manager/_code_execution_server.py +545 -0
  174. massgen/filesystem_manager/_docker_manager.py +477 -0
  175. massgen/filesystem_manager/_file_operation_tracker.py +248 -0
  176. massgen/filesystem_manager/_filesystem_manager.py +813 -0
  177. massgen/filesystem_manager/_path_permission_manager.py +1261 -0
  178. massgen/filesystem_manager/_workspace_tools_server.py +1815 -0
  179. massgen/formatter/__init__.py +10 -0
  180. massgen/formatter/_chat_completions_formatter.py +284 -0
  181. massgen/formatter/_claude_formatter.py +235 -0
  182. massgen/formatter/_formatter_base.py +156 -0
  183. massgen/formatter/_response_formatter.py +263 -0
  184. massgen/frontend/__init__.py +1 -2
  185. massgen/frontend/coordination_ui.py +471 -286
  186. massgen/frontend/displays/base_display.py +56 -11
  187. massgen/frontend/displays/create_coordination_table.py +1956 -0
  188. massgen/frontend/displays/rich_terminal_display.py +1259 -619
  189. massgen/frontend/displays/simple_display.py +9 -4
  190. massgen/frontend/displays/terminal_display.py +27 -68
  191. massgen/logger_config.py +681 -0
  192. massgen/mcp_tools/README.md +232 -0
  193. massgen/mcp_tools/__init__.py +105 -0
  194. massgen/mcp_tools/backend_utils.py +1035 -0
  195. massgen/mcp_tools/circuit_breaker.py +195 -0
  196. massgen/mcp_tools/client.py +894 -0
  197. massgen/mcp_tools/config_validator.py +138 -0
  198. massgen/mcp_tools/docs/circuit_breaker.md +646 -0
  199. massgen/mcp_tools/docs/client.md +950 -0
  200. massgen/mcp_tools/docs/config_validator.md +478 -0
  201. massgen/mcp_tools/docs/exceptions.md +1165 -0
  202. massgen/mcp_tools/docs/security.md +854 -0
  203. massgen/mcp_tools/exceptions.py +338 -0
  204. massgen/mcp_tools/hooks.py +212 -0
  205. massgen/mcp_tools/security.py +780 -0
  206. massgen/message_templates.py +342 -64
  207. massgen/orchestrator.py +1515 -241
  208. massgen/stream_chunk/__init__.py +35 -0
  209. massgen/stream_chunk/base.py +92 -0
  210. massgen/stream_chunk/multimodal.py +237 -0
  211. massgen/stream_chunk/text.py +162 -0
  212. massgen/tests/mcp_test_server.py +150 -0
  213. massgen/tests/multi_turn_conversation_design.md +0 -8
  214. massgen/tests/test_azure_openai_backend.py +156 -0
  215. massgen/tests/test_backend_capabilities.py +262 -0
  216. massgen/tests/test_backend_event_loop_all.py +179 -0
  217. massgen/tests/test_chat_completions_refactor.py +142 -0
  218. massgen/tests/test_claude_backend.py +15 -28
  219. massgen/tests/test_claude_code.py +268 -0
  220. massgen/tests/test_claude_code_context_sharing.py +233 -0
  221. massgen/tests/test_claude_code_orchestrator.py +175 -0
  222. massgen/tests/test_cli_backends.py +180 -0
  223. massgen/tests/test_code_execution.py +679 -0
  224. massgen/tests/test_external_agent_backend.py +134 -0
  225. massgen/tests/test_final_presentation_fallback.py +237 -0
  226. massgen/tests/test_gemini_planning_mode.py +351 -0
  227. massgen/tests/test_grok_backend.py +7 -10
  228. massgen/tests/test_http_mcp_server.py +42 -0
  229. massgen/tests/test_integration_simple.py +198 -0
  230. massgen/tests/test_mcp_blocking.py +125 -0
  231. massgen/tests/test_message_context_building.py +29 -47
  232. massgen/tests/test_orchestrator_final_presentation.py +48 -0
  233. massgen/tests/test_path_permission_manager.py +2087 -0
  234. massgen/tests/test_rich_terminal_display.py +14 -13
  235. massgen/tests/test_timeout.py +133 -0
  236. massgen/tests/test_v3_3agents.py +11 -12
  237. massgen/tests/test_v3_simple.py +8 -13
  238. massgen/tests/test_v3_three_agents.py +11 -18
  239. massgen/tests/test_v3_two_agents.py +8 -13
  240. massgen/token_manager/__init__.py +7 -0
  241. massgen/token_manager/token_manager.py +400 -0
  242. massgen/utils.py +52 -16
  243. massgen/v1/agent.py +45 -91
  244. massgen/v1/agents.py +18 -53
  245. massgen/v1/backends/gemini.py +50 -153
  246. massgen/v1/backends/grok.py +21 -54
  247. massgen/v1/backends/oai.py +39 -111
  248. massgen/v1/cli.py +36 -93
  249. massgen/v1/config.py +8 -12
  250. massgen/v1/logging.py +43 -127
  251. massgen/v1/main.py +18 -32
  252. massgen/v1/orchestrator.py +68 -209
  253. massgen/v1/streaming_display.py +62 -163
  254. massgen/v1/tools.py +8 -12
  255. massgen/v1/types.py +9 -23
  256. massgen/v1/utils.py +5 -23
  257. massgen-0.1.0.dist-info/METADATA +1245 -0
  258. massgen-0.1.0.dist-info/RECORD +273 -0
  259. massgen-0.1.0.dist-info/entry_points.txt +2 -0
  260. massgen/frontend/logging/__init__.py +0 -9
  261. massgen/frontend/logging/realtime_logger.py +0 -197
  262. massgen-0.0.3.dist-info/METADATA +0 -568
  263. massgen-0.0.3.dist-info/RECORD +0 -76
  264. massgen-0.0.3.dist-info/entry_points.txt +0 -2
  265. /massgen/backend/{Function calling openai responses.md → docs/Function calling openai responses.md} +0 -0
  266. {massgen-0.0.3.dist-info → massgen-0.1.0.dist-info}/WHEEL +0 -0
  267. {massgen-0.0.3.dist-info → massgen-0.1.0.dist-info}/licenses/LICENSE +0 -0
  268. {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 Examples
1
+ # MassGen Configuration Guide
2
2
 
3
- This directory contains sample configuration files for MassGen CLI usage. Each configuration is optimized for specific use cases and demonstrates different agent collaboration patterns.
3
+ This guide explains the organization and usage of MassGen configuration files.
4
4
 
5
- ## 📁 Available Configurations
5
+ ## Directory Structure
6
6
 
7
- ### 🤖 Single Agent Configurations
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
- - **`single_agent.yaml`** - Basic single agent setup with Gemini
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
- ### 👥 Multi-Agent Configurations
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
- #### General Purpose Teams
44
+ ## Quick Start Examples
17
45
 
18
- - **`three_agents_default.yaml`** - Default three-agent setup with frontier models
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
- - **`gemini_4o_claude.yaml`** - Premium three-agent configuration
25
- - **Gemini 2.5 Flash**: Web search enabled
26
- - **GPT-4o**: Full GPT-4o with web search and code interpreter
27
- - **Claude 3.5 Haiku**: Web search with citations
28
- - Higher quality responses for complex tasks
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
- - **`two_agents.yaml`** - Focused two-agent collaboration
31
- - **Primary Agent (GPT-4o)**: Comprehensive research and analysis
32
- - **Secondary Agent (GPT-4o-mini)**: Review and refinement
33
- - Efficient for tasks needing depth with validation
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
- #### Specialized Teams
59
+ ### Quick Setup Without Config Files
36
60
 
37
- - **`research_team.yaml`** - Academic/technical research configuration
38
- - **Information Gatherer (Grok)**: Web search specialist
39
- - **Domain Expert (GPT-4o)**: Deep analysis with code interpreter
40
- - **Synthesizer (GPT-4o-mini)**: Integration and summarization
41
- - Low temperature (0.3) for accuracy
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
- - **`creative_team.yaml`** - Creative writing and storytelling
44
- - **Storyteller (GPT-4o)**: Narrative creation
45
- - **Editor (GPT-4o-mini)**: Structure and flow refinement
46
- - **Critic (Grok-3-mini)**: Literary analysis
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
- - **`news_analysis.yaml`** - Current events and news synthesis
50
- - **News Gatherer (GPT-4o)**: Finding current events
51
- - **Trend Analyst (Grok-3-mini)**: Pattern identification
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
- - **`technical_analysis.yaml`** - Technical queries and cost estimation
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
- - **`travel_planning.yaml`** - Travel recommendations and planning
62
- - **Travel Researcher (GPT-4o)**: Destination information
63
- - **Local Expert (Grok-3-mini)**: Insider knowledge
64
- - **Travel Planner (GPT-4o-mini)**: Itinerary organization
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
- ## 🚀 Usage Examples
85
+ ### Tool-Enabled Configurations
68
86
 
69
- ### Single Agent Mode
87
+ #### MCP (Model Context Protocol) Servers
88
+ MCP enables agents to use external tools and services:
70
89
  ```bash
71
- # Using configuration file
72
- uv run python -m massgen.cli --config single_agent.yaml "What is machine learning?"
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
- # Quick setup without config file
75
- uv run python -m massgen.cli --model gemini-2.5-flash "Explain quantum computing"
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
- ### Multi-Agent Mode
110
+ #### Filesystem Operations
111
+ For file manipulation, workspace management, and copy tools:
79
112
  ```bash
80
- # Default three agents for general questions
81
- uv run python -m massgen.cli --config three_agents_default.yaml "Compare renewable energy technologies"
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
- # Premium agents for complex analysis
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
- # Specialized teams for specific tasks
87
- uv run python -m massgen.cli --config research_team.yaml "Latest developments in CRISPR gene editing"
88
- uv run python -m massgen.cli --config creative_team.yaml "Write a short story about AI consciousness"
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
- ### Interactive Mode
129
+ #### Claude
95
130
  ```bash
96
- # Start interactive session with any configuration
97
- uv run python -m massgen.cli --config gemini_4o_claude.yaml
131
+ massgen --config @examples/providers/claude/claude_mcp_example "Creative writing task"
132
+ ```
98
133
 
99
- # Commands in interactive mode:
100
- # /clear - Clear conversation history
101
- # /quit, /exit, /q - Exit the session
134
+ #### Gemini
135
+ ```bash
136
+ massgen --config @examples/providers/gemini/gemini_mcp_example "Research task"
102
137
  ```
103
138
 
104
- ## 📋 Configuration Structure
139
+ #### Local Models
140
+ ```bash
141
+ massgen --config @examples/providers/local/lmstudio "Run with local model"
142
+ ```
105
143
 
106
- **Single Agent Configuration:**
144
+ ### Pre-Configured Teams
107
145
 
108
- Use the `agent` field to define a single agent with its backend and settings:
146
+ Teams are specialized multi-agent setups for specific domains:
109
147
 
110
- ```yaml
111
- agent:
112
- id: "<agent_name>"
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
- **Multi-Agent Configuration:**
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
- Use the `agents` field to define multiple agents, each with its own backend and config:
163
+ ## Configuration File Format
123
164
 
165
+ ### Single Agent
124
166
  ```yaml
125
- agents: # Multiple agents (alternative to 'agent')
126
- - id: "<agent1 name>"
127
- backend:
128
- type: "claude" | "gemini" | "grok" | "openai" #Type of backend (Optional because we can infer backend type through model.)
129
- model: "<model_name>" # Model name
130
- api_key: "<optional_key>" # API key for backend. Uses env vars by default.
131
- system_message: "..." # System Message for Single Agent
132
- - id: "..."
133
- backend:
134
- type: "..."
135
- model: "..."
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
- **Backend Configuration:**
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
- Detailed parameters for each agent's backend can be specified using the following configuration formats:
189
+ - id: "agent2"
190
+ backend:
191
+ type: "provider2"
192
+ model: "model2"
193
+ system_message: "Agent 2 role"
143
194
 
144
- #### Claude
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: "claude"
149
- model: "claude-sonnet-4-20250514" # Model name
150
- api_key: "<optional_key>" # API key for backend. Uses env vars by default.
151
- temperature: 0.7 # Creativity vs consistency (0.0-1.0)
152
- max_tokens: 2500 # Maximum response length
153
- enable_web_search: true # Web search capability
154
- enable_code_execution: true # Code execution capability
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
- #### Gemini
214
+ ## Finding the Right Configuration
158
215
 
159
- ```yaml
160
- backend:
161
- type: "gemini"
162
- model: "gemini-2.5-flash" # Model name
163
- api_key: "<optional_key>" # API key for backend. Uses env vars by default.
164
- temperature: 0.7 # Creativity vs consistency (0.0-1.0)
165
- max_tokens: 2500 # Maximum response length
166
- enable_web_search: true # Web search capability
167
- enable_code_execution: true # Code execution capability
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
- #### Grok
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
- ```yaml
173
- backend:
174
- type: "grok"
175
- model: "grok-3-mini" # Model name
176
- api_key: "<optional_key>" # API key for backend. Uses env vars by default.
177
- temperature: 0.7 # Creativity vs consistency (0.0-1.0)
178
- max_tokens: 2500 # Maximum response length
179
- enable_web_search: true # Web search capability
180
- return_citations: true # Include search result citations
181
- max_search_results: 10 # Maximum search results to use
182
- search_mode: "auto" # Search strategy: "auto", "fast", "thorough"
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
- #### OpenAI
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
- ```yaml
188
- backend:
189
- type: "openai"
190
- model: "gpt-4o" # Model name
191
- api_key: "<optional_key>" # API key for backend. Uses env vars by default.
192
- temperature: 0.7 # Creativity vs consistency (0.0-1.0, o-series models don't support this)
193
- max_tokens: 2500 # Maximum response length (o-series models don't support this)
194
- enable_web_search: true # Web search capability
195
- enable_code_interpreter: true # Code interpreter capability
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
- **UI Configuration:**
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
- Configure how MassGen displays information and handles logging during execution:
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
- ```yaml
203
- ui:
204
- display_type: "rich_terminal" | "terminal" | "simple" # Display format for agent interactions
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
- - `display_type`: Controls the visual presentation of agent interactions
209
- - `"rich_terminal"`: Full-featured display with multi-region layout, live status updates, and colored output
210
- - `"terminal"`: Standard terminal display with basic formatting and sequential output
211
- - `"simple"`: Plain text output without any formatting or special display features
212
- - `logging_enabled`: When `true`, saves detailed timestamp, agent outputs and system status
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
- **Advanced Parameters:**
215
- ```yaml
216
- # Global backend parameters
217
- backend_params:
218
- temperature: 0.7
219
- max_tokens: 2000
220
- enable_web_search: true # Web search capability (all backends)
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
- ## 🔧 Environment Variables
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
- Set these in your `.env` file:
406
+ **Case Study:** [AG2 Framework Integration](../../docs/case_studies/ag2-framework-integration.md)
228
407
 
408
+ **Try it:**
229
409
  ```bash
230
- # API Keys
231
- ANTHROPIC_API_KEY="your-anthropic-key"
232
- GEMINI_API_KEY="your-gemini-key"
233
- OPENAI_API_KEY="your-openai-key"
234
- XAI_API_KEY="your-xai-key"
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
- ## 💡 Backend Capabilities
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
- | Backend | Live Search | Code Execution |
240
- |---------|:-----------:|:--------------:|
241
- | **Claude** | | |
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
- ## 📚 Best Practices
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
- 1. **Choose the Right Configuration**
249
- - Use `three_agents_default.yaml` for general questions
250
- - Use specialized teams for domain-specific tasks
251
- - Use `single_agent.yaml` for quick, simple queries
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
- 2. **Temperature Settings**
254
- - Low (0.1-0.3): Technical analysis, factual information
255
- - Medium (0.4-0.6): Balanced tasks, general questions
256
- - High (0.7-0.9): Creative writing, brainstorming
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
- 3. **Cost Optimization**
259
- - Use mini models (gpt-4o-mini, grok-3-mini) for routine tasks
260
- - Reserve premium models (gpt-4o, claude-3-5-sonnet) for complex analysis
261
- - Single agent mode is most cost-effective for simple queries
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
- 4. **Tool Usage**
264
- - Enable web search for current events and real-time information
265
- - Use code interpreter for data analysis and calculations
266
- - Combine tools for comprehensive research tasks
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
- ## 🛠️ Creating Custom Configurations
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
- 1. Copy an existing configuration as a template
271
- 2. Modify agent roles and system messages for your use case
272
- 3. Adjust temperature and max_tokens based on task requirements
273
- 4. Enable/disable tools based on agent needs
274
- 5. Test with sample queries to refine the configuration
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
- Example custom configuration for code review:
277
- ```yaml
278
- agents:
279
- - id: "code_analyzer"
280
- backend:
281
- type: "openai"
282
- model: "gpt-4o"
283
- temperature: 0.2
284
- enable_code_interpreter: true
285
- system_message: "Analyze code for bugs, security issues, and best practices"
286
-
287
- - id: "refactoring_expert"
288
- backend:
289
- type: "claude"
290
- model: "claude-3-5-sonnet-20250514"
291
- temperature: 0.3
292
- system_message: "Suggest code improvements and refactoring opportunities"
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