mariomosca/agent-team-os/tree/main/mods/bus-band
bus-band
Agent Team OS 버스에서 이 session을 기다리는 메시지를 프롬프트 위의 띠에 표시하는 Claude Code mod입니다.
이 mod 소개
bus-band
Agent Team OS 버스에서 이 session을 기다리는 메시지를 프롬프트 위의 띠에 그리는 Claude Code mod입니다.
Bus alita/work-hub: 2 in attesa, 1 urgenti o alta (+1 di altri workspace) [Nascondi]
!! [ALTA] da kai: crewmoor-stato-piano-v1
[normale] da vera: content-brief
- UI 텍스트는 에이전트의 작업 언어인 이탈리아어입니다. 처리할 항목이 있을 때만 표시되고 inbox가 비면 사라집니다.
- 범위는 shell lib(v1.4)와 같습니다. cwd 접두사로
AGENT_MAP.json에서 agent를 찾고, workspace basename을 slug로 사용하며,inboxes/<agent>/와inboxes/<agent>/@<slug>/를 공유합니다.context.project_path가 다른 workspace에 속한 메시지는 따로 셉니다. - 우선순위는
URGENTE,ALTA,!!marker처럼 명시하며 색만으로 표시하지 않습니다. - 새
urgent/high메시지가 도착하면 toast를 띄웁니다. 20 s마다, 그리고 각 turn이 끝날 때 polling합니다. /bus-band로 켜고 끕니다. Nascondi 버튼은 다음 새 메시지가 올 때까지 숨깁니다.- 읽기 전용입니다. 메시지를 이동하거나 archive하거나 쓰지 않습니다. 메시지를 처리할 때는
/read,/inbox, MCP tools를 계속 사용합니다. - shell lib와 마찬가지로
AB_HOME을 따릅니다(기본값~/.agent-team-os).
설치
이 mod는 메인 agent-team-os plugin과 분리된 독립 plugin입니다. 따라서 수동 설치(settings.json에 hooks를 등록하는 방식)에서도 hooks가 두 번 등록되지 않습니다.
install.sh 사용(수동 설치): 설치 프로그램이 ~/.claude/mods/bus-band/로 복사합니다. 모든 session에서 로드하려면 ~/.claude/settings.json의 env 블록에서 이 폴더를 CLAUDE_CODE_PLUGIN_DIRS에 추가하세요.
{ "env": { "CLAUDE_CODE_PLUGIN_DIRS": "~/.claude/mods/bus-band" } }
한 session에서만: claude --plugin-dir /path/to/agent-team-os/mods/bus-band.
보안
Mods는 sandbox되지 않으며 Claude Code 자체 권한으로 실행됩니다. 이 mod는 ~/.agent-team-os/와 $HOME/AB_HOME만 읽고 다른 것은 읽지 않으며 network call도 하지 않습니다. claude plugin validate mods/bus-band로 확인하면 모듈이 접촉하는 모든 engine call과 env variable을 나열합니다.
개발
claude plugin validate mods/bus-band # manifest, hooks, calls, state contract
claude plugin test mods/bus-band # hooks/bus.test.ts: cwd→agent, slug, scoping, sort
순수 bus 로직은 hooks/bus.ts에 있고(scripts/agent-team-os-lib.sh를 그대로 반영), hooks/register.tsx가 hooks와 그리기를 담당합니다. 알려진 차이는 shell lib가 cwd의 realpath도 비교하는 반면 mod는 Claude Code가 보고한 cwd를 비교한다는 점입니다. 실제로는 이 경로가 이미 해석되어 있습니다.
설치
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add mariomosca/agent-team-os claude plugin install bus-band
원문 / README
bus-band
A Claude Code mod (Claude Code 2.1.287+) that draws a band above the prompt with the messages waiting for this session on the Agent Team OS bus.
Bus alita/work-hub: 2 in attesa, 1 urgenti o alta (+1 di altri workspace) [Nascondi]
!! [ALTA] da kai: crewmoor-stato-piano-v1
[normale] da vera: content-brief
- UI text is in Italian (the agents' working language). Shows only when something is pending; disappears when the inbox is empty.
- Same scoping as the shell lib (v1.4): agent from
AGENT_MAP.jsonby cwd prefix, slug = workspace basename, shared rootinboxes/<agent>/plusinboxes/<agent>/@<slug>/, messages whosecontext.project_pathbelongs to another workspace counted apart. - Priority is spelled out (
URGENTE,ALTA, a!!marker), never colour alone. - A toast when a new
urgent/highmessage arrives. Polls every 20 s and at the end of every turn. /bus-bandtoggles it; the Nascondi button hides it until the next new message.- Read-only: it never moves, archives or writes a message.
/read,/inboxand the MCP tools stay the way to act on them. - Honours
AB_HOMElike the shell lib (default~/.agent-team-os).
Install
The mod is its own plugin, separate from the main agent-team-os plugin, so a manual install (hooks registered in settings.json) never gets its hooks registered twice.
With install.sh (manual install): the installer copies it to ~/.claude/mods/bus-band/. Load it in every session by adding the folder to CLAUDE_CODE_PLUGIN_DIRS in the env block of ~/.claude/settings.json:
{ "env": { "CLAUDE_CODE_PLUGIN_DIRS": "~/.claude/mods/bus-band" } }
One session only: claude --plugin-dir /path/to/agent-team-os/mods/bus-band.
Security
Mods are not sandboxed: they run with Claude Code's own access. This one reads ~/.agent-team-os/ and $HOME/AB_HOME, nothing else, and makes no network call. Check with claude plugin validate mods/bus-band, which lists every engine call and env variable the module touches.
Develop
claude plugin validate mods/bus-band # manifest, hooks, calls, state contract
claude plugin test mods/bus-band # hooks/bus.test.ts: cwd→agent, slug, scoping, sort
The pure bus logic lives in hooks/bus.ts (mirrors scripts/agent-team-os-lib.sh); hooks/register.tsx holds the hooks and the drawing. Known gap: the shell lib also matches the realpath of the cwd; the mod matches the cwd Claude Code reports, which is already resolved in practice.
