Files
meeting-room/README.md
Hermes 99cb5a499b Initial commit: Meeting Room v0.1.0
Multi-agent discussion framework:
- Custom/AutoGen/CrewAI backends
- Multi-provider API (role→model binding)
- Tools system (files, web, commands)
- Markdown scenarios with YAML frontmatter
- Workspace init (meeting-room init)
- Session save (--save)
2026-05-03 08:07:35 +00:00

151 lines
3.3 KiB
Markdown

# Meeting Room
Multi-agent discussion framework — role-based AI agents debate problems and produce solutions.
## Install
```bash
git clone <repo-url> 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