Feature request: additive top-level sidebar navigation for plugins #2873
Replies: 2 comments
|
The gap analysis matches current I would avoid exposing two unrelated registrations ( 'shell.page': {
kind: 'list'
scope: 'root'
// registration options: id, order, label, icon
}The shell can project each page registration into both the sidebar rail and the page body, so a plugin cannot leave an orphan nav item or unreachable page. Important semantics to define up front:
A first increment could register a page and let the shell create its nav item automatically. That is enough to validate the API with the Calendar plugin before adding user reordering or more complex routing. |
|
你的现状分析是准的,我能给一份独立佐证——我把 DSH 客户端包里 一、frame 级只有 4 个座位,其中 3 个是 single
也就是说:frame 这一层唯一可加性的座位是 对你的日历插件, 二、
|
Uh oh!
There was an error while loading. Please reload this page.
Summary
Please expose an additive, root-scoped primary navigation extension for Web client plugins. This would let plugins contribute discoverable top-level entries such as Calendar, Files, Data, or Browser without replacing the entire sidebar or patching the DOM.
Downstream use case
I am building a calendar plugin. The existing
conversation.viewextension works for a session-scoped tab, but a calendar is a global tool. It should remain reachable from primary navigation independently of whichever session is active.Similar needs are already visible in community work:
This request is separate: a generic extension point for plugin-owned first-level application destinations.
Current gap
In the public contracts shipped with
@deepseek-ai/dsh@0.1.0-rc.6:sidebarandsidebar.workspacesare single-owner surfaces.sidebar.footer.actionis additive, but semantically limited to footer actions.conversation.viewis additive, but scoped to an active conversation.A plugin therefore has to choose between replacing core UI, using a semantically incorrect location, or relying on fragile DOM/CSS injection.
Possible contract
The exact naming is only illustrative. One option would be:
A higher-level registry could also work:
Expected behavior
The smallest useful step would be an additive primary-navigation item that can activate an existing view. For genuinely global tools, a root-scoped page surface would be the better long-term target.
This is not a request for a Calendar-specific special case. If an equivalent contract is already planned, please point me to it. I would be happy to test the API with a minimal downstream plugin example.
All reactions