English | 中文
Where: your own message while it waits: just after you press Send, or while it waits in the queue for a Bot that is busy.
What you see: DeepSeek Harness draws the "@" part of that message as a file reference, with a file icon. In these cases it also cuts the name:
| You type | Shown while waiting |
|---|---|
@New Bot please check (a name with a space) |
a file "New", then "Bot please check" |
@Anvil你看下 (no space after the name) |
a file "Anvil你看下" |
@Anvil,帮我查 (punctuation after the name) |
a file "Anvil,帮我查" |
What is not affected: who answers. FlyBot reads "@Name" by its own rule, so the Bot you named is called. When the message is sent, it shows the Bot's mark and name as usual.
Tip: put a space after the name (@Anvil 你看下). Then a name without a space shows as the Bot while it waits, too.
Why: DeepSeek Harness draws these waiting rows itself and reads "@" up to the next space. A plugin cannot change how they are drawn yet.
Where: DSH Web (or Desktop) starts, but FlyBot is not there. The log has this line:
dsh: disabling profile plugin row "bot": its declared peer dependencies cannot be validated: Cannot read properties of undefined (reading 'startsWith')
Installing another version of FlyBot does not help.
Why: before it loads a plugin, DeepSeek Harness checks each plugin row of the profile. This message means a row has the id bot but no package name. FlyBot adds its own row with the name ds-bot, so the row without a name most likely comes from a file in the profile folder, such as an override - id: bot in cordis.patch.yml that no longer matches FlyBot's row. We could not reproduce this, so we do not know yet how such a row is left behind.
What to do: the profile folder is ~/.dsh/profiles/web/ (Windows: C:\Users\<user>\.dsh\profiles\web\), or profiles/web/ in DSH_HOME when it is set. For Desktop, use profiles/desktop/ instead.
- Quit DSH.
- Open
cordis.patch.ymlin the profile folder. Look for a row withid: botthat has noname: ds-botline, and remove that row. Keep a copy of the file first. - Check that
package.jsonin the same folder listsds-botunderdependencies. If it does not, add FlyBot again:npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add ds-bot. - Start DSH again.
To see where the row comes from, run npx @deepseek-ai/dsh@0.2.0-rc.2 --profile web --dump-config. It prints every plugin row with the file that supplied it. If you report the problem, copy only the rows with id: bot and the file names; leave out keys and paths you do not want to share.
Deleting the whole profile folder also fixes it, but it removes the profile's other plugins and its settings, such as models. The Bot team is in ~/.dsh/bot/ and is not affected either way.