Freie Hand (A3): Medien-/Lautstärke-Steuerung für den PC

- executor.py: /media (play_pause/next/prev/stop) + /volume (up/down/mute,
  steps 1-25) via pyautogui Media-Keys — wirkt wie Multimedia-Tastatur
- mcp_pc.py: Tools pc_media + pc_volume für Hermes

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-07-03 14:29:21 +02:00
parent 2b124d5b0a
commit fa8f776910
2 changed files with 60 additions and 0 deletions
+24
View File
@@ -92,6 +92,30 @@ def pc_key(keys: str) -> str:
return f"Tastenkombination '{keys}' gedrückt." if result.get("ok") else str(result)
@mcp.tool()
def pc_media(action: str) -> str:
"""Steuert die Medien-Wiedergabe auf dem Windows-PC — wirkt auf den gerade aktiven Player
(Spotify, YouTube, VLC …), wie die Tasten einer Multimedia-Tastatur.
action: play_pause (Wiedergabe/Pause umschalten) | next (nächster Titel) |
prev (voriger Titel) | stop."""
result = _pc("/media", {"action": action})
if "error" in result:
return f"FEHLER: {result['error']}"
return f"Medien-Aktion '{action}' ausgeführt." if result.get("ok") else str(result)
@mcp.tool()
def pc_volume(action: str, steps: int = 5) -> str:
"""Ändert die System-Lautstärke des Windows-PCs.
action: up (lauter) | down (leiser) | mute (Stumm umschalten).
steps = Stärke 125 (je Schritt ≈ 2 %); 5 ≈ 10 % — für „etwas lauter/leiser" passt der Default,
für „viel" nimm 1015."""
result = _pc("/volume", {"action": action, "steps": steps})
if "error" in result:
return f"FEHLER: {result['error']}"
return f"Lautstärke: {action} (x{result.get('steps', steps)})." if result.get("ok") else str(result)
@mcp.tool()
def pc_open(target: str) -> str:
"""Öffnet eine URL im Browser oder eine Datei/Programm auf dem Windows-PC.