mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-08-05 04:18:47 +00:00
* feat(frontend): reopen the skill list after a skill is selected Selecting a skill closed the composer's skill list for good: `/` no longer reopened it, so a skill could not be looked up or swapped without deleting the chip first. The list now reopens from the editable text beside the chip, and picking an entry swaps the chip rather than stacking a second activation, since the wire format carries exactly one leading /skill. Builtin commands are withheld in that state because they own the whole composer line, and Enter navigates the list before submitting except while an IME is composing. The trigger is unchanged: a slash still opens the list only at the start of the input. * fix(frontend): keep builtin names reserved in the reopened skill list Withholding the builtin list from getMatchingSkillSuggestions in chip mode also disabled the reserved-name filter it drives, so a custom skill named after a builtin command became selectable there. Nothing rejects such a name at install time, and submitting the resulting chip runs the command instead of the skill. Pass the builtin list as before and drop the builtin entries from the result instead. The new regression covers both sides of the reservation, and the reopen test now waits for the list before pressing Enter. * fix(frontend): hide skills the slash parsers refuse from the picker The composer picker reserved only the two builtin command names, while both slash parsers refuse the seven names in the shared contract. A skill named bootstrap, help, memory, models, new or status was therefore offered, could be selected into a chip, and submitted — and then activated nothing, because parse_slash_skill_reference drops the name on the way in. The turn reached the model as literal text with no skill loaded and no error anywhere. Reserve the contract names alongside the builtin ones, so the picker cannot offer what the parsers will not honour.