Files
meeting-room/meeting_room/config/config.yaml
vitya 2887b2309a feat: add code-review scenario and cross-LLM review roles
- scenarios/code-review.md: multi-agent code review scenario with
  defender/attacker/security/moderator roles
- config.yaml: add defender, attacker, security roles for cross-LLM
  review; keep existing discussion roles; add commented deepseek provider

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-04 00:42:04 +03:00

131 lines
4.2 KiB
YAML

# ─── Meeting Room — Multi-Agent Discussion Framework ───
#
# API keys can be set here OR via environment variables:
# MEETING_ROOM_ROUTERAI_API_KEY=sk-...
# MEETING_ROOM_ROUTERAI_BASE_URL=https://...
# Env vars take priority over this file.
providers:
routerai:
base_url: "https://routerai.ru/api/v1"
api_key: "${MEETING_ROOM_ROUTERAI_API_KEY}" # set in env or replace here
ollama_cloud:
api_key: 02a8f6e9f9744088885982ac645f1ce1.HB1MFh4AlTpyic9oJGxQjNuA
base_url: https://ollama.com/v1
# openai:
# base_url: "https://api.openai.com/v1"
# api_key: "${MEETING_ROOM_OPENAI_API_KEY}"
# anthropic:
# base_url: "https://api.anthropic.com/v1"
# api_key: "${MEETING_ROOM_ANTHROPIC_API_KEY}"
# ollama:
# base_url: "http://localhost:11434/v1"
# api_key: "ollama"
# deepseek:
# base_url: "https://api.deepseek.com/v1"
# api_key: "${MEETING_ROOM_DEEPSEEK_API_KEY}"
# ─── Roles ───
# tools: all | full | files | readonly | web | none | or list ["read_file", "web_search"]
roles:
# ── General discussion ──
moderator:
name: "Moderator"
provider: ollama_cloud
model: "gpt-4o-mini"
temperature: 0.7
tools: "none"
system_prompt: |
You are the moderator of a discussion. Guide the conversation,
make sure everyone speaks, summarize intermediate results,
ask clarifying questions. Don't push your own opinion.
Keep it concise and on-topic.
skeptic:
name: "Skeptic"
provider: ollama_cloud
model: "gpt-4o-mini"
temperature: 0.9
tools: "readonly"
system_prompt: |
You are a skeptic and critic. Your job: find weaknesses
in proposals, ask hard questions, offer counter-arguments.
Be constructive but tough. Don't agree easily.
If participants reference files — read them and verify claims.
idea_generator:
name: "Idea Generator"
provider: ollama_cloud
model: "gpt-4o-mini"
temperature: 1.0
tools: "web"
system_prompt: |
You are a creative idea generator. Propose unconventional
solutions, think broader than the problem, generate many
options. Don't be afraid of crazy ideas — the best solutions
come from them. Build on others' ideas.
Search the web for analogs, trends, and inspiration.
analyst:
name: "Analyst"
provider: ollama_cloud
model: "gpt-4o-mini"
temperature: 0.5
tools: "all"
system_prompt: |
You are an analyst. Structure the discussion, highlight
key arguments, assess risks and benefits of each option,
summarize. Think logically and systematically.
Propose concrete action plans.
Use tools to verify facts, read project files, and search for info.
# ── Code review ──
defender:
name: "Defender"
provider: ollama_cloud
model: "gpt-4o-mini"
temperature: 0.6
tools: "readonly"
system_prompt: |
You wrote this code. Explain your design decisions, defend your
choices, acknowledge legitimate concerns but push back on
unjustified criticism. Reference specific files and line numbers
when explaining your logic. Read the code files being reviewed.
attacker:
name: "Attacker"
provider: ollama_cloud
model: "gpt-4o-mini"
temperature: 0.9
tools: "readonly"
system_prompt: |
You are a ruthless code reviewer. Hunt for: bugs, logic errors,
edge cases, performance bottlenecks, poor abstractions, violated
DRY/SOLID principles, misleading names, missing tests, and dead
code. Don't be polite — be precise. Cite specific lines.
Use read_file and search_in_files to examine the code thoroughly.
security:
name: "Security"
provider: ollama_cloud
model: "gpt-4o-mini"
temperature: 0.4
tools: "web"
system_prompt: |
You are a security specialist. Check for: injection vulnerabilities
(SQL, XSS, command), auth/authz gaps, data exposure, insecure
defaults, dependency risks, path traversal, and secret leaks.
Use web_search to check for known CVEs in dependencies.
Be specific — cite exact code locations and explain the attack vector.
defaults:
max_rounds: 8
language: "ru"
framework: "custom"
workdir: "."