massgen 0.0.3__py3-none-any.whl → 0.1.0a1__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 +1504 -287
  46. massgen/config_builder.py +2165 -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.0a1.dist-info/METADATA +1287 -0
  258. massgen-0.1.0a1.dist-info/RECORD +273 -0
  259. massgen-0.1.0a1.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.0a1.dist-info}/WHEEL +0 -0
  267. {massgen-0.0.3.dist-info → massgen-0.1.0a1.dist-info}/licenses/LICENSE +0 -0
  268. {massgen-0.0.3.dist-info → massgen-0.1.0a1.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
+ uv run python -m massgen.cli --config massgen/configs/basic/multi/three_agents_default.yaml "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
+ uv run python -m massgen.cli --model claude-3-5-sonnet-latest "What is machine learning?"
65
+ uv run python -m massgen.cli --model gemini-2.5-flash "Explain quantum computing"
66
+ uv run python -m massgen.cli --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
+ uv run python -m massgen.cli --config massgen/configs/basic/multi/three_agents_default.yaml
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
+ uv run python -m massgen.cli --config massgen/configs/basic/multi/three_agents_default.yaml --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
+ uv run python -m massgen.cli --config massgen/configs/basic/single/single_agent.yaml "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
+ uv run python -m massgen.cli --config massgen/configs/tools/mcp/gemini_mcp_example.yaml "What's the weather in Tokyo?"
73
92
 
74
- # Quick setup without config file
75
- uv run python -m massgen.cli --model gemini-2.5-flash "Explain quantum computing"
93
+ # Discord integration
94
+ uv run python -m massgen.cli --config massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml "Extract latest messages"
95
+ ```
96
+
97
+ #### Web Search
98
+ For agents with web search capabilities:
99
+ ```bash
100
+ uv run python -m massgen.cli --config massgen/configs/tools/web-search/claude_streamable_http_test.yaml "Search for latest news"
76
101
  ```
77
102
 
78
- ### Multi-Agent Mode
103
+ #### Code Execution
104
+ For code interpretation and execution:
79
105
  ```bash
80
- # Default three agents for general questions
81
- uv run python -m massgen.cli --config three_agents_default.yaml "Compare renewable energy technologies"
106
+ uv run python -m massgen.cli --config massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml "Browse three issues in https://github.com/Leezekun/MassGen and suggest documentation improvements. Include screenshots and suggestions in a website."
107
+ ```
82
108
 
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"
109
+ #### Filesystem Operations
110
+ For file manipulation, workspace management, and copy tools:
111
+ ```bash
112
+ # Single agent with enhanced file operations
113
+ uv run python -m massgen.cli --config massgen/configs/tools/filesystem/claude_code_single.yaml "Analyze this codebase"
85
114
 
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"
115
+ # Multi-agent workspace collaboration with copy tools (NEW in v0.0.22)
116
+ uv run python -m massgen.cli --config massgen/configs/tools/filesystem/claude_code_context_sharing.yaml "Create shared workspace files"
92
117
  ```
93
118
 
94
- ### Interactive Mode
119
+ ### Provider-Specific Examples
120
+
121
+ Each provider has unique features and capabilities:
122
+
123
+ #### OpenAI (GPT-5 Series)
95
124
  ```bash
96
- # Start interactive session with any configuration
97
- uv run python -m massgen.cli --config gemini_4o_claude.yaml
125
+ uv run python -m massgen.cli --config massgen/configs/providers/openai/gpt5.yaml "Complex reasoning task"
126
+ ```
98
127
 
99
- # Commands in interactive mode:
100
- # /clear - Clear conversation history
101
- # /quit, /exit, /q - Exit the session
128
+ #### Claude
129
+ ```bash
130
+ uv run python -m massgen.cli --config massgen/configs/providers/claude/claude_mcp_example.yaml "Creative writing task"
102
131
  ```
103
132
 
104
- ## 📋 Configuration Structure
133
+ #### Gemini
134
+ ```bash
135
+ uv run python -m massgen.cli --config massgen/configs/providers/gemini/gemini_mcp_example.yaml "Research task"
136
+ ```
105
137
 
106
- **Single Agent Configuration:**
138
+ #### Local Models
139
+ ```bash
140
+ uv run python -m massgen.cli --config massgen/configs/providers/local/lmstudio.yaml "Run with local model"
141
+ ```
107
142
 
108
- Use the `agent` field to define a single agent with its backend and settings:
143
+ ### Pre-Configured Teams
109
144
 
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
145
+ Teams are specialized multi-agent setups for specific domains:
146
+
147
+ #### Creative Teams
148
+ ```bash
149
+ uv run python -m massgen.cli --config massgen/configs/teams/creative/creative_team.yaml "Write a story"
118
150
  ```
119
151
 
120
- **Multi-Agent Configuration:**
152
+ #### Research Teams
153
+ ```bash
154
+ uv run python -m massgen.cli --config massgen/configs/teams/research/research_team.yaml "Analyze market trends"
155
+ ```
121
156
 
122
- Use the `agents` field to define multiple agents, each with its own backend and config:
157
+ #### Development Teams
158
+ ```bash
159
+ uv run python -m massgen.cli --config massgen/configs/teams/development/zai_coding_team.yaml "Build a web app"
160
+ ```
161
+
162
+ ## Configuration File Format
123
163
 
164
+ ### Single Agent
124
165
  ```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: "..."
166
+ agent:
167
+ id: "agent_name"
168
+ backend:
169
+ type: "provider_type"
170
+ model: "model_name"
171
+ # Additional backend settings
172
+ system_message: "Agent instructions"
173
+
174
+ ui:
175
+ display_type: "rich_terminal"
176
+ logging_enabled: true
138
177
  ```
139
178
 
140
- **Backend Configuration:**
179
+ ### Multi-Agent
180
+ ```yaml
181
+ agents:
182
+ - id: "agent1"
183
+ backend:
184
+ type: "provider1"
185
+ model: "model1"
186
+ system_message: "Agent 1 role"
141
187
 
142
- Detailed parameters for each agent's backend can be specified using the following configuration formats:
188
+ - id: "agent2"
189
+ backend:
190
+ type: "provider2"
191
+ model: "model2"
192
+ system_message: "Agent 2 role"
143
193
 
144
- #### Claude
194
+ ui:
195
+ display_type: "rich_terminal"
196
+ logging_enabled: true
197
+ ```
145
198
 
199
+ ### MCP Server Configuration
146
200
  ```yaml
147
201
  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
202
+ type: "provider"
203
+ model: "model_name"
204
+ mcp_servers:
205
+ server_name:
206
+ type: "stdio"
207
+ command: "command"
208
+ args: ["arg1", "arg2"]
209
+ env:
210
+ KEY: "${ENV_VAR}"
155
211
  ```
156
212
 
157
- #### Gemini
213
+ ## Finding the Right Configuration
158
214
 
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
215
+ 1. **New Users**: Start with `basic/single/` or `basic/multi/`
216
+ 2. **Need Tools**: Check `tools/` subdirectories for specific capabilities
217
+ 3. **Specific Provider**: Look in `providers/` for your provider
218
+ 4. **Complex Tasks**: Use pre-configured `teams/`
219
+
220
+ ## Environment Variables
221
+
222
+ Most configurations use environment variables for API keys:
223
+ - Set up your `.env` file based on `.env.example`
224
+ - Provider-specific keys: `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, etc.
225
+ - MCP server keys: `DISCORD_BOT_TOKEN`, `BRAVE_API_KEY`, etc.
226
+
227
+ ## Release History & Examples
228
+
229
+ ### v0.0.32 - Latest
230
+ **New Features:** Docker Execution Mode, MCP Architecture Refactoring, Claude Code Docker Integration
231
+
232
+ **Configuration Files:**
233
+ - `massgen/configs/tools/code-execution/docker_simple.yaml` - Basic single-agent Docker execution
234
+ - `massgen/configs/tools/code-execution/docker_multi_agent.yaml` - Multi-agent Docker deployment with isolated containers
235
+ - `massgen/configs/tools/code-execution/docker_with_resource_limits.yaml` - Resource-constrained Docker setup with CPU/memory limits
236
+ - `massgen/configs/tools/code-execution/docker_claude_code.yaml` - Claude Code with Docker execution and automatic tool management
237
+ - `massgen/configs/debug/code_execution/docker_verification.yaml` - Docker setup verification configuration
238
+
239
+ **Key Features:**
240
+ - Docker-based command execution with container isolation preventing host filesystem access
241
+ - Persistent state across conversation turns (packages stay installed)
242
+ - Multi-agent support with dedicated containers per agent
243
+ - Resource limits (CPU, memory) and network isolation modes (none/bridge/host)
244
+ - Simplified MCP architecture with MCPClient (renamed from MultiMCPClient)
245
+ - Claude Code automatic Bash tool disablement in Docker mode
246
+
247
+ **Try it:**
248
+ ```bash
249
+ # Docker isolated execution - secure command execution in containers
250
+ uv run python -m massgen.cli \
251
+ --config massgen/configs/tools/code-execution/docker_simple.yaml \
252
+ "Write a factorial function and test it"
253
+
254
+ # Multi-agent Docker deployment - each agent in isolated container
255
+ uv run python -m massgen.cli \
256
+ --config massgen/configs/tools/code-execution/docker_multi_agent.yaml \
257
+ "Build a Flask website about Bob Dylan"
258
+
259
+ # Claude Code with Docker - automatic tool management
260
+ uv run python -m massgen.cli \
261
+ --config massgen/configs/tools/code-execution/docker_claude_code.yaml \
262
+ "Build a Flask website about Bob Dylan"
263
+
264
+ # Resource-limited Docker execution - production-ready setup
265
+ uv run python -m massgen.cli \
266
+ --config massgen/configs/tools/code-execution/docker_with_resource_limits.yaml \
267
+ "Fetch data from an API and analyze it"
168
268
  ```
169
269
 
170
- #### Grok
270
+ ### v0.0.31
271
+ **New Features:** Universal Code Execution, AG2 Group Chat Integration, Audio & Video Generation Tools
272
+
273
+ **Configuration Files:**
274
+ - `massgen/configs/tools/code-execution/basic_command_execution.yaml` - Universal command execution across all backends
275
+ - `massgen/configs/debug/code_execution/command_filtering_whitelist.yaml` - Command execution with whitelist filtering
276
+ - `massgen/configs/debug/code_execution/command_filtering_blacklist.yaml` - Command execution with blacklist filtering
277
+ - `massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml` - Multi-agent web automation with code execution
278
+ - `massgen/configs/ag2/ag2_groupchat.yaml` - Native AG2 group chat with multi-agent conversations
279
+ - `massgen/configs/ag2/ag2_groupchat_gpt.yaml` - Mixed MassGen and AG2 agents (GPT-5-nano + AG2 team)
280
+ - `massgen/configs/basic/single/single_gpt4o_audio_generation.yaml` - Single agent audio generation with GPT-4o
281
+ - `massgen/configs/basic/multi/gpt4o_audio_generation.yaml` - Multi-agent audio generation with GPT-4o
282
+ - `massgen/configs/basic/single/single_gpt4o_video_generation.yaml` - Video generation with OpenAI Sora-2
283
+
284
+ **Key Features:**
285
+ - Universal `execute_command` tool works across Claude, Gemini, OpenAI (Response API), and Chat Completions providers (Grok, ZAI, etc.)
286
+ - AG2 group chat integration with speaker selection modes (auto, round-robin, manual)
287
+ - Audio tools: text-to-speech, audio transcription, audio generation
288
+ - Video tools: text-to-video generation via Sora-2 API
289
+ - Code execution in planning mode for safer coordination
290
+ - Enhanced file operation tracking and path permission management
291
+
292
+ **Try it:**
293
+ ```bash
294
+ # Universal code execution - works with any backend
295
+ uv run python -m massgen.cli \
296
+ --config massgen/configs/tools/code-execution/basic_command_execution.yaml \
297
+ "Write a Python function to calculate factorial and test it"
298
+
299
+ # AG2 group chat - multi-agent conversations
300
+ uv run python -m massgen.cli \
301
+ --config massgen/configs/ag2/ag2_groupchat.yaml \
302
+ "Write a Python function to calculate factorial."
303
+
304
+ # Mixed MassGen + AG2 agents - GPT-5-nano collaborating with AG2 team
305
+ uv run python -m massgen.cli \
306
+ --config massgen/configs/ag2/ag2_groupchat_gpt.yaml \
307
+ "Write a Python function to calculate factorial."
308
+
309
+ # Audio generation
310
+ uv run python -m massgen.cli \
311
+ --config massgen/configs/basic/single/single_gpt4o_audio_generation.yaml \
312
+ "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."
313
+
314
+ # Video generation with Sora-2
315
+ uv run python -m massgen.cli \
316
+ --config massgen/configs/basic/single/single_gpt4o_video_generation.yaml \
317
+ "Generate a 4 seconds video with neon-lit alley at night, light rain, slow push-in, cinematic."
318
+ ```
171
319
 
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"
320
+ ### v0.0.30
321
+ **New Features:** Multimodal Audio and Video Support, Claude Agent SDK Update, Qwen API Integration
322
+ - `massgen/configs/basic/single/single_openrouter_audio_understanding.yaml` - Audio understanding with OpenRouter
323
+ - `massgen/configs/basic/single/single_qwen_video_understanding.yaml` - Video understanding with Qwen API
324
+ - `massgen/configs/basic/single/single_gemini2.5pro.yaml` - Gemini 2.5 Pro single agent setup
325
+ - `massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml` - Claude Code, GPT-5, and Gemini filesystem collaboration
326
+ - `massgen/configs/ag2/ag2_case_study.yaml` - AG2 framework integration case study
327
+ - `massgen/configs/debug/test_sdk_migration.yaml` - Claude Code SDK migration testing
328
+ - Updated from `claude-code-sdk>=0.0.19` to `claude-agent-sdk>=0.0.22`
329
+ - Audio/video multimodal support for Chat Completions and Claude backends
330
+ - Qwen API provider integration with video understanding capabilities
331
+
332
+ **Try it:**
333
+ ```bash
334
+ # Audio understanding with OpenRouter
335
+ uv run python -m massgen.cli \
336
+ --config massgen/configs/basic/single/single_openrouter_audio_understanding.yaml \
337
+ "What is in this recording?"
338
+
339
+ # Video understanding with Qwen API
340
+ uv run python -m massgen.cli \
341
+ --config massgen/configs/basic/single/single_qwen_video_understanding.yaml \
342
+ "Describe what happens in this video"
343
+
344
+ # Multi-agent filesystem collaboration
345
+ uv run python -m massgen.cli \
346
+ --config massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml \
347
+ "Create a comprehensive project with documentation"
183
348
  ```
184
349
 
185
- #### OpenAI
350
+ ### v0.0.29
351
+ **New Features:** MCP Planning Mode, File Operation Safety, Enhanced MCP Tool Filtering
352
+ - `massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml` - Five agents with Discord MCP in planning mode
353
+ - `massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml` - Five agents with filesystem MCP in planning mode
354
+ - `massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml` - Five agents with Notion MCP in planning mode
355
+ - `massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml` - Five agents with Twitter MCP in planning mode
356
+ - `massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml` - Planning mode case study configuration
357
+ - `massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml` - Five agents testing travel-related MCP tools
358
+ - `massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml` - Five agents testing weather MCP tools
359
+ - `massgen/configs/debug/skip_coordination_test.yaml` - Debug configuration for testing coordination skipping
360
+ - New `CoordinationConfig` class with `enable_planning_mode` flag for safer MCP coordination
361
+ - New `FileOperationTracker` class for read-before-delete enforcement
362
+ - Enhanced PathPermissionManager with operation tracking methods
363
+
364
+ **Case Study:** [MCP Planning Mode](../../docs/case_studies/mcp-planning-mode.md)
365
+
366
+ **Try it:**
367
+ ```bash
368
+ # Planning mode with filesystem operations
369
+ uv run python -m massgen.cli \
370
+ --config massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml \
371
+ "Create a comprehensive project structure with documentation"
372
+
373
+ # Multi-agent weather MCP testing
374
+ uv run python -m massgen.cli \
375
+ --config massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml \
376
+ "Compare weather forecasts for New York, London, and Tokyo"
377
+
378
+ # Planning mode with Twitter integration
379
+ uv run python -m massgen.cli \
380
+ --config massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml \
381
+ "Draft and plan tweet series about AI advancements"
382
+ ```
186
383
 
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
384
+ ### v0.0.28
385
+ **New Features:** AG2 Framework Integration, External Agent Backend, Code Execution Support
386
+ - `massgen/configs/ag2/ag2_single_agent.yaml` - Basic single AG2 agent setup
387
+ - `massgen/configs/ag2/ag2_coder.yaml` - AG2 agent with code execution capabilities
388
+ - `massgen/configs/ag2/ag2_coder_case_study.yaml` - Multi-agent setup with AG2 and Gemini
389
+ - `massgen/configs/ag2/ag2_gemini.yaml` - AG2-Gemini hybrid configuration
390
+ - New `massgen/adapters/` module for external framework integration
391
+ - New `ExternalAgentBackend` class bridging MassGen with external frameworks
392
+ - Multiple code executor types: LocalCommandLineCodeExecutor, DockerCommandLineCodeExecutor, JupyterCodeExecutor, YepCodeCodeExecutor
393
+
394
+ **Case Study:** [AG2 Framework Integration](../../docs/case_studies/ag2-framework-integration.md)
395
+
396
+ **Try it:**
397
+ ```bash
398
+ # AG2 single agent with code execution
399
+ uv run python -m massgen.cli \
400
+ --config massgen/configs/ag2/ag2_coder.yaml \
401
+ "Create a factorial function and calculate the factorial of 8. Show the result?"
402
+
403
+ # Mixed team: AG2 agent + Gemini agent
404
+ uv run python -m massgen.cli \
405
+ --config massgen/configs/ag2/ag2_gemini.yaml \
406
+ "what is quantum computing?"
407
+
408
+ # AG2 case study: Compare AG2 and MassGen (requires external dependency)
409
+ uv pip install -e ".[external]"
410
+ uv run python -m massgen.cli \
411
+ --config massgen/configs/ag2/ag2_coder_case_study.yaml \
412
+ "Output a summary comparing the differences between AG2 (https://github.com/ag2ai/ag2) and MassGen (https://github.com/Leezekun/MassGen) for LLM agents."
196
413
  ```
197
414
 
198
- **UI Configuration:**
415
+ ### v0.0.27
416
+ **New Features:** Multimodal Support (Image Processing), File Upload and File Search, Claude Sonnet 4.5
417
+ - `massgen/configs/basic/multi/gpt4o_image_generation.yaml` - Multi-agent image generation
418
+ - `massgen/configs/basic/multi/gpt5nano_image_understanding.yaml` - Multi-agent image understanding
419
+ - `massgen/configs/basic/single/single_gpt4o_image_generation.yaml` - Single agent image generation
420
+ - `massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml` - Single agent image understanding
421
+ - `massgen/configs/basic/single/single_gpt5nano_file_search.yaml` - File search for document Q&A
422
+ - New `stream_chunk` module for multimodal content architecture
423
+ - Enhanced `read_multimodal_files` MCP tool for image processing
424
+
425
+ **Try it:**
426
+ ```bash
427
+ # Image generation with single agent
428
+ uv run python -m massgen.cli \
429
+ --config massgen/configs/basic/single/single_gpt4o_image_generation.yaml \
430
+ "Generate an image of gray tabby cat hugging an otter with an orange scarf. Limit image size within 5kb."
431
+
432
+ # Image understanding with multiple agents
433
+ uv run python -m massgen.cli \
434
+ --config massgen/configs/basic/multi/gpt5nano_image_understanding.yaml \
435
+ "Please summarize the content in this image."
436
+
437
+ # File search for document Q&A
438
+ uv run python -m massgen.cli \
439
+ --config massgen/configs/basic/single/single_gpt5nano_file_search.yaml \
440
+ "What is humanity's last exam score for OpenAI Deep Research? Also, provide details about the other models mentioned in the PDF?"
441
+ ```
199
442
 
200
- Configure how MassGen displays information and handles logging during execution:
443
+ ### v0.0.26
444
+ **New Features:** File Deletion, Protected Paths, File-Based Context Paths
445
+ - `massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml` - Protected paths configuration
446
+ - `massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml` - File-based context paths
447
+ - `massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml` - Multi-agent filesystem collaboration
448
+ - New MCP tools: `delete_file`, `delete_files_batch`, `compare_directories`, `compare_files`
201
449
 
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
450
+ **Try it:**
451
+ ```bash
452
+ # Protected paths - keep reference files safe
453
+ uv run python -m massgen.cli \
454
+ --config massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml \
455
+ "Review the HTML and CSS files, then improve the styling"
456
+
457
+ # File-based context paths - grant access to specific files
458
+ uv run python -m massgen.cli \
459
+ --config massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml \
460
+ "Analyze the CSS file and make modern improvements"
206
461
  ```
207
462
 
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
463
+ ### v0.0.25
464
+ **New Features:** Multi-Turn Filesystem Support, SGLang Backend Integration
465
+ - `massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml` - Multi-turn with Gemini agents
466
+ - `massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml` - Three-agent multi-turn
467
+ - `massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml` - Mixed vLLM and SGLang deployment
468
+ - Automatic `.massgen` directory management for persistent conversation context
469
+ - Enhanced path permissions with `will_be_writable` flag and smart exclusion patterns
213
470
 
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
471
+ **Case Study:** [Multi-Turn Filesystem Support](../../docs/case_studies/multi-turn-filesystem-support.md)
472
+ ```bash
473
+ # Turn 1 - Initial creation
474
+ Turn 1: Make a website about Bob Dylan
475
+ # Creates workspace and saves state to .massgen/sessions/
476
+
477
+ # Turn 2 - Enhancement based on Turn 1
478
+ 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
479
+ # Note: Unlike pre-v0.0.25, Turn 2 automatically loads Turn 1's workspace state
480
+ # Agents can directly access and modify files from the previous turn
223
481
  ```
224
482
 
225
- ## 🔧 Environment Variables
483
+ ### v0.0.24
484
+ **New Features:** vLLM Backend Support, Backend Utility Modules
485
+ - `massgen/configs/basic/multi/three_agents_vllm.yaml` - vLLM with Cerebras and ZAI backends
486
+ - `massgen/configs/basic/multi/two_qwen_vllm.yaml` - Dual vLLM agents for testing
487
+ - POE provider support for accessing multiple AI models through single platform
488
+ - GPT-5-Codex model recognition for enhanced code generation capabilities
489
+
490
+ **Try it:**
491
+ ```bash
492
+ # Try vLLM backend with local models (requires vLLM server running)
493
+ # First start vLLM server: python -m vllm.entrypoints.openai.api_server --model Qwen/Qwen3-0.6B --host 0.0.0.0 --port 8000
494
+ uv run python -m massgen.cli \
495
+ --config massgen/configs/basic/multi/two_qwen_vllm.yaml \
496
+ "What is machine learning?"
497
+ ```
226
498
 
227
- Set these in your `.env` file:
499
+ ### v0.0.23
500
+ **New Features:** Backend Architecture Refactoring, Formatter Module
501
+ - Major code consolidation with new `base_with_mcp.py` class reducing ~1,932 lines across backends
502
+ - Extracted message and tool formatting logic into dedicated `massgen/formatter/` module
503
+ - Streamlined chat_completions.py, claude.py, and response.py for better maintainability
228
504
 
505
+ ### v0.0.22
506
+ **New Features:** Workspace Copy Tools via MCP, Configuration Organization
507
+ - All configs now organized by provider & use case (basic/, providers/, tools/, teams/)
508
+ - Use same configs as v0.0.21 for compatibility, but now with improved performance
509
+
510
+ **Case Study:** [Advanced Filesystem with User Context Path Support](../../docs/case_studies/v0.0.21-v0.0.22-filesystem-permissions.md)
229
511
  ```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"
512
+ # Multi-agent collaboration with granular filesystem permissions
513
+ uv run python -m massgen.cli --config massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml "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."
235
514
  ```
236
515
 
237
- ## 💡 Backend Capabilities
516
+ ### v0.0.21
517
+ **New Features:** Advanced Filesystem Permissions, Grok MCP Integration
518
+ - `massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml` - Grok with MCP tools
519
+ - `massgen/configs/tools/filesystem/fs_permissions_test.yaml` - Permission-controlled file sharing
520
+ - `massgen/configs/tools/filesystem/claude_code_context_sharing.yaml` - Agent workspace sharing
238
521
 
239
- | Backend | Live Search | Code Execution |
240
- |---------|:-----------:|:--------------:|
241
- | **Claude** | | ✅ |
242
- | **OpenAI** | | ✅ |
243
- | **Grok** | ✅ | ❌ |
244
- | **Gemini** | | ✅ |
522
+ **Try it:**
523
+ ```bash
524
+ # Grok with MCP tools
525
+ uv run python -m massgen.cli \
526
+ --config massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml \
527
+ "What's the weather in Tokyo?"
528
+ ```
245
529
 
246
- ## 📚 Best Practices
530
+ ### v0.0.20
531
+ **New Features:** Claude MCP Support with Recursive Execution
532
+ - `massgen/configs/tools/mcp/claude_mcp_example.yaml` - Claude with MCP tools
533
+ - `massgen/configs/tools/mcp/claude_mcp_test.yaml` - Testing Claude MCP capabilities
247
534
 
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
535
+ **Try it:**
536
+ ```bash
537
+ # Claude with MCP tools
538
+ uv run python -m massgen.cli \
539
+ --config massgen/configs/tools/mcp/claude_mcp_example.yaml \
540
+ "What's the current weather?"
541
+ ```
252
542
 
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
543
+ ### v0.0.17
544
+ **New Features:** OpenAI MCP Integration
545
+ - `massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml` - GPT-5 with MCP tools
546
+ - `massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml` - Multi-agent MCP
257
547
 
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
548
+ **Try it:**
549
+ ```bash
550
+ # Claude with MCP tools
551
+ uv run python -m massgen.cli \
552
+ --config massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml \
553
+ "whats the weather of Tokyo?"
554
+ ```
262
555
 
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
267
556
 
268
- ## 🛠️ Creating Custom Configurations
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
+ uv run python -m massgen.cli --config massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml "Create a presentation that teaches a reinforcement learning algorithm and output it in LaTeX Beamer format. No figures should be added."
563
+ ```
269
564
 
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
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
275
569
 
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
- ```
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
+ uv run python -m massgen.cli --config massgen/configs/tools/filesystem/claude_code_context_sharing.yaml "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