You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Allow a plugin to select a tool call and open the right-side details panel, so a custom view can render reliably in conversation.details.tool.
Why we need this
I'm building a client UI plugin that gives my own tool outputs rich rendering (e.g. an "evidence report / bestseller snapshot" canvas).
Inline rendering via tool.call.toolview already works; but I want a persistent right-side split: when a tool call is inspected, the details column shows the matching canvas, and unrecognized tools fall back to the default inspector.
Current state: a plugin can register a component into the single-occupant conversation.details.tool slot, but there is no supported way for a plugin to actually open that details panel and select a tool into it — so the registered
component never gets a chance to render.
Observation (behavior only, no implementation details): the details panel only renders when store.selection is set; the action that sets it lives inside the conversation and is neither forwarded to tool/node owners nor exposed as an
injectable service. A tool owner today can only trigger the trajectory inspector (which switches to the trajectory view), and the trajectory result body is rendered internally with no overridable slot. Injecting only layout and calling
openDetails just opens an empty panel (selection is still unset). Expected result / visible change
A plugin can open the details panel from its own UI (e.g. a button on a tool card), and have the conversation.details.tool slot render the plugin component with "the currently selected tool call" as context.
Tools the plugin doesn't own keep their default behavior.
Opening details stays in the conversation view (does not force a switch to the trajectory view). Suggested direction (for discussion, either one)
Option A: expose a lightweight details-control service (open/close) that plugins can inject and call.
Option B: forward the existing "select + open details" action to tool/node owners, the same way inspect is already forwarded. Environment
@deepseek-ai/dsh* client packages 0.1.0-rc.7, web profile; the component is correctly registered into conversation.details.tool (no slot conflict) and confirmed to never render due to the selection gap above. Question
Is there an existing, supported path for a plugin to open the details panel that I've missed? If not, would a PR for this be welcome?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Allow a plugin to select a tool call and open the right-side details panel, so a custom view can render reliably in conversation.details.tool.
Why we need this
tool.call.toolviewalready works; but I want a persistent right-side split: when a tool call is inspected, the details column shows the matching canvas, and unrecognized tools fall back to the default inspector.conversation.details.toolslot, but there is no supported way for a plugin to actually open that details panel and select a tool into it — so the registeredcomponent never gets a chance to render.
store.selectionis set; the action that sets it lives inside the conversation and is neither forwarded to tool/node owners nor exposed as aninjectable service. A tool owner today can only trigger the trajectory inspector (which switches to the trajectory view), and the trajectory result body is rendered internally with no overridable slot. Injecting only
layoutand callingopenDetails just opens an empty panel (selection is still unset).
Expected result / visible change
conversation.details.toolslot render the plugin component with "the currently selected tool call" as context.Suggested direction (for discussion, either one)
inspectis already forwarded.Environment
@deepseek-ai/dsh*client packages0.1.0-rc.7, web profile; the component is correctly registered intoconversation.details.tool(no slot conflict) and confirmed to never render due to the selection gap above.Question
All reactions