# Meeting Room Multi-agent discussion framework — role-based AI agents debate problems and produce solutions. ## Install ```bash git clone meeting-room cd meeting-room pip install -e . # Optional backends pip install -e ".[autogen]" pip install -e ".[crewai]" ``` ## Quick Start ```bash # Initialize workspace (creates .meeting-room/ in current directory) meeting-room init # Create a scenario cat > .meeting-room/scenarios/my-problem.md << 'EOF' --- name: "My Problem" participants: - moderator - skeptic - idea_generator - analyst max_rounds: 6 --- # Problem Title Describe the problem in Markdown... EOF # Run discussion cd .meeting-room meeting-room -s scenarios/my-problem.md # Run and save result meeting-room -s scenarios/my-problem.md --save # Point agents at a project for file tools meeting-room -w /path/to/project -s scenarios/code-review.md ``` ## Workspace Structure ``` .meeting-room/ ├── config.yaml — override default config (roles, providers, tools) ├── scenarios/ — your .md scenario files │ └── example.md ├── sessions/ — saved discussion results (gitignored) └── .gitignore ``` ## Commands ```bash meeting-room init [path] # Create .meeting-room workspace meeting-room -s scenarios/my.md # Run discussion meeting-room -s scenarios/my.md --save # Run and save result meeting-room -b autogen -s scenarios/my.md # Use AutoGen backend meeting-room -b crewai -s scenarios/my.md # Use CrewAI backend meeting-room --list-scenarios # Show available scenarios meeting-room --list-roles # Show roles and model bindings meeting-room -c /path/to/config.yaml -s ... # Custom config file ``` ## Configuration ### Config Search Order 1. `--config` CLI argument 2. `.meeting-room/config.yaml` (searched from CWD upward) 3. Built-in package defaults ### API Keys Set via environment variables: ```bash export MEETING_ROOM_ROUTERAI_API_KEY="sk-..." export MEETING_ROOM_ROUTERAI_BASE_URL="https://routerai.ru/api/v1" export MEETING_ROOM_OPENAI_API_KEY="sk-..." export MEETING_ROOM_ANTHROPIC_API_KEY="sk-ant-..." ``` Or use `${ENV_VAR}` placeholders in config.yaml. ### Roles Each role binds to a provider + model + tool set: ```yaml roles: analyst: name: "Analyst" provider: anthropic model: "claude-sonnet-4" temperature: 0.5 tools: "all" ``` ### Tool Sets | Set | Tools | |-----------|--------------------------------------------------------| | all/full | Everything (files + web + commands) | | files | read_file, list_files, search_in_files, write_file | | readonly | read_file, list_files, search_in_files | | web | web_search, web_fetch | | none | No tools, text only | | (list) | `["read_file", "web_search"]` — custom mix | ### Scenarios Markdown with YAML frontmatter: ```markdown --- name: "My Problem" participants: - moderator - skeptic - idea_generator - analyst max_rounds: 6 --- # The Problem Full Markdown description... ## Context - Budget: $50K - Team: 3 people ## Questions 1. What tech stack? 2. How to scale? ``` ## License MIT