Summary
When OpenAB streams agent responses to Discord, every tool call is displayed with its full title (e.g. ✅ Running: curl -s "https://ghcr.io/v2/openabdev/charts/openab/tags/list" | python3 ...). For shell commands, this often results in very long, noisy lines that clutter the Discord conversation.
Proposal
Add a tool_display configuration option under [reactions] (or per-agent config in 0.6.x) to control how tool calls are rendered in Discord messages.
Three modes
| Mode |
Behavior |
Example |
full |
Show complete tool title (current behavior) |
✅ Running: curl -s "https://ghcr.io/..." | python3 -c "import sys..." |
compact |
Show only the tool name/type, omit args |
✅ Running shell command |
none |
Do not display tool lines at all |
(tool lines hidden, only final response shown) |
Config example (0.6.x)
[agents.kiro.reactions]
enabled = true
tool_display = "compact" # full | compact | none
Default
compact — clean output for most users, with full available for debugging.
Implementation notes
- Affects the
compose_display() function in src/discord.rs
tool_lines vector is already built from AcpEvent::ToolStart / AcpEvent::ToolDone
- For
compact: extract just the tool name (first word or a category like shell, read, write) instead of the full title
- For
none: skip pushing to tool_lines entirely
- Config parsing in
src/config.rs needs a new field with serde default
Motivation
In public Discord channels, long tool call lines:
- Make conversations hard to read
- Can accidentally expose sensitive information (URLs, paths, tokens in args)
- Add visual noise that distracts from the actual agent response
The compact default would keep users informed that tools are running without overwhelming the chat.
Summary
When OpenAB streams agent responses to Discord, every tool call is displayed with its full title (e.g.
✅ Running: curl -s "https://ghcr.io/v2/openabdev/charts/openab/tags/list" | python3 ...). For shell commands, this often results in very long, noisy lines that clutter the Discord conversation.Proposal
Add a
tool_displayconfiguration option under[reactions](or per-agent config in 0.6.x) to control how tool calls are rendered in Discord messages.Three modes
full✅ Running: curl -s "https://ghcr.io/..." | python3 -c "import sys..."compact✅ Running shell commandnoneConfig example (0.6.x)
Default
compact— clean output for most users, withfullavailable for debugging.Implementation notes
compose_display()function insrc/discord.rstool_linesvector is already built fromAcpEvent::ToolStart/AcpEvent::ToolDonecompact: extract just the tool name (first word or a category likeshell,read,write) instead of the full titlenone: skip pushing totool_linesentirelysrc/config.rsneeds a new field with serde defaultMotivation
In public Discord channels, long tool call lines:
The
compactdefault would keep users informed that tools are running without overwhelming the chat.