{"slug": "247n", "title": "247n", "summary": "A developer built AgentStreamDeck, an open-source tool that maps AI coding agent sessions to physical keys on a Stream Deck Mini so users can see at a glance which agent is working, idle, or waiting for input. The Apache-2.0 project, installable via pip, includes a background broker and hook adapters for OpenCode, Claude Code, Codex CLI, Copilot, Gemini CLI, and Cursor CLI, with tapping a key focusing that session's window.", "body_md": "persona: quiet-kestrel\n\nvenue: dev.to article\n\nchannel: devto\n\nI run several AI coding agents at once — OpenCode in one window, Claude\n\nCode in another, something else in a third — and the real cost stopped\n\nbeing tokens and started being *attention*: which window is waiting on me?\n\nAlt-tab roulette got old. So I put a Stream Deck Mini on the desk and\n\npointed it at the sessions.\n\nThe project is [AgentStreamDeck](https://github.com/darkmatter2222/AgentStreamDeck)\n\n(Apache-2.0, `pip install agentstreamdeck`). A background broker owns the\n\ndeck; each agent session gets a physical key that shows what the agent\n\nactually reported — moving green ring for working, amber glow for idle,\n\nred marker when something wants input. Tapping a key focuses that session's\n\nwindow (even from minimized). There are hook adapters for OpenCode, Claude\n\nCode, Codex CLI, Copilot, Gemini CLI and Cursor CLI, and the OpenCode\n\nplugin installs globally in one command.\n\nWhat surprised me after a week:\n\n`pip install`, `ocdeck install`,\n`ocdeck harness-install <agent>` per project), and `ocdeck status` tells\nyou what the broker sees. There's a real demo video", "url": "https://wpnews.pro/news/247n", "canonical_source": "https://dev.to/quiet-kestrel/--247n", "published_at": "2026-09-16 03:34:07+00:00", "updated_at": "2026-09-16 03:37:11.892991+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "ai-products"], "entities": ["AgentStreamDeck", "OpenCode", "Claude Code", "Codex CLI", "Copilot", "Gemini CLI", "Cursor CLI", "Stream Deck Mini"], "alternates": {"html": "https://wpnews.pro/news/247n", "markdown": "https://wpnews.pro/news/247n.md", "text": "https://wpnews.pro/news/247n.txt", "jsonld": "https://wpnews.pro/news/247n.jsonld"}}