Skip to content

ui: plugin-injected system reminders are rendered repeatedly in TUI #33

Description

@li-xiu-qi

Problem

The subagent-plugin injects a Delegation reminder system message via its beforeModelRequest hook on every user turn. The TUI renders every system message, so the reminder appears repeatedly in the conversation transcript.

Screenshot

The transcript shows SYSTEM Delegation reminder: before every assistant response:

YOU  你好呀
SYSTEM  Delegation reminder:
  - If the current request can be decomposed into independent branches...
STEP 你好!👋 有什么我可以帮你的吗?

YOU  你是谁?
SYSTEM  Delegation reminder:
  - If the current request can be decomposed into independent branches...
STEP 我是 step-cli...

Expected behavior

Injected prompt-engineering messages should be visible to the model but not rendered as part of the user-visible conversation.

Actual behavior

They are rendered as SYSTEM transcript entries on every turn, creating visual clutter.

Root cause

buildTranscriptItems in src/tui/app.tsx maps every transcript entry to a renderable item, including system messages. There is no mechanism to mark a system message as internal/hidden.

Related code

  • skills/builtin/src/subagent-plugin.ts (MAIN_ORCHESTRATION_REMINDER)
  • src/tui/app.tsx (buildTranscriptItems)
  • packages/core/src/plugins/manager.ts (runBeforeModelRequest)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions