Skip to content

DSH request: let a plugin hide the shell's Sessions rows in a room's @ menu (replace FlyBot's filter) #422

Open

Description

@Birfy

What

Owner decision on #305 / #384 (2026-10-19): in a Face-to-face room the composer's @ menu must not show DeepSeek Harness's own Sessions rows (they list another Bot's chat Sessions, which mean nothing in a room and cannot be addressed there). FlyBot filters them out on its side for now. This issue tracks asking DSH for a supported way to do it, so the FlyBot filter can be removed.

Why FlyBot needs DSH for this

FlyBot adds its own @ sources (core/src/client/at-menu.js, BOTS_SOURCE / CHATS_SOURCE). The shell's built-in file and session sources stay beside them: a plugin source cannot hide or replace another source for one Session (see the comment at the top of at-menu.js). AGENTS.md rule 1: build on DSH, never patch it.

Request to DSH (draft for deepseek-ai/deepseek-harness)

Plugin API: let a trigger-menu source hide built-in sources for a given session
A plugin that registers an @ source for some sessions (for example a group chat) needs the shell's own Sessions (and optionally Files) rows hidden in those sessions only. Proposal: a source may return { exclusive: true } or hideSources: ['sessions'] from candidates(session, …), or the plugin API gets menu.excludeSources(sessionId, ['sessions']). Default unchanged.

Done when

  • DSH ships such an API (or answers that it will not), and
  • FlyBot's local filter is replaced by it.

Not filed upstream yet: posting in the DeepSeek Harness repo needs the owner's ok.

Related: #305, #384.

Activity

  1. added
    enhancementNew feature or request
    area:uiWeb/desktop UI and copy
    needs-humanThe agent loop stopped; a person must decide (reason in the last comment)
    on Oct 19, 2026
  2. Birfy commented on Oct 19, 2026

    @Birfy
    CollaboratorAuthor

    Owner decision (2026-10-19 16:18 Asia/Shanghai): do not file this request in deepseek-ai/deepseek-harness for now. FlyBot keeps its local filter that hides the DSH Sessions rows in a Face-to-face room's @ menu (shipped in #431, c5d9c3f). This issue stays open as a parked tracker: file upstream only when the owner says so, or revisit if a DSH upgrade breaks the filter. Nothing to develop here.

    Recorded 2026-10-19 18:03 Asia/Shanghai.

  3. added
    needs-humanThe agent loop stopped; a person must decide (reason in the last comment)
    and removed
    needs-humanThe agent loop stopped; a person must decide (reason in the last comment)
    on Oct 23, 2026
  4. Birfy commented on Oct 23, 2026

    @Birfy
    CollaboratorAuthor

    Triaged on be48393b. Nothing here can be built in this repository: the ask is a DeepSeek Harness API, and AGENTS.md rule 1 is "build on DSH, never patch it". FlyBot's local showFaceAtFilter (core/src/client/face-at-filter.js) already does what the issue wants for the face-room @ menu, and the issue's own note says filing in deepseek-ai/deepseek-harness needs the owner's ok.

    So the next action is a person's, not an agent's: say file it and someone posts the drafted request upstream verbatim (then this issue waits on DSH's answer), or say drop it and the local filter stays as the permanent answer with a one-line comment in at-menu.js saying why.

    Keeping it needs-human until then. If DSH ships the API later, the follow-up (use it and delete FlyBot's filter) is a small agent-ready change; it cannot be written before the API exists.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:uiWeb/desktop UI and copyenhancementNew feature or requestneeds-humanThe agent loop stopped; a person must decide (reason in the last comment)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions