Skip to content

feat: add tool_display config to control tool call visibility in Discord #216

@masami-agent

Description

@masami-agent

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:

  1. Make conversations hard to read
  2. Can accidentally expose sensitive information (URLs, paths, tokens in args)
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions