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
{{ message }}
Repository navigation
DSH request: let a plugin hide the shell's Sessions rows in a room's @ menu (replace FlyBot's filter) #422
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.
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.
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.
Activity
Face-to-face room @ menu: no DSH Sessions rows, Everyone counts its B…
Birfy commentedon Oct 19, 2026
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.
Birfy commentedon Oct 23, 2026
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 localshowFaceAtFilter(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 indeepseek-ai/deepseek-harnessneeds 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.jssaying why.Keeping it
needs-humanuntil then. If DSH ships the API later, the follow-up (use it and delete FlyBot's filter) is a smallagent-readychange; it cannot be written before the API exists.