mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-30 19:09:28 +00:00
On hosted relays `buzz dms list` reliably returns [] even when DM conversations exist, so DMs leaked in via `channels list` (as entries named "DM" with an empty description) and were seeded chat_type="group". That put them behind the channel mention gate: "@Chip /whoami" worked but an un-mentioned DM was silently dropped. Classify from the Nostr tags of real traffic instead: a message another user sends in a DM carries a structural ["p", <own pubkey>] tag even when the text never mentions the agent, while in a real channel a p-tag-to-self only ever accompanies a visible @mention (typed mention or reply). A group conversation therefore latches to chat_type="dm" on the first kind-9 event that is p-tagged to self WITHOUT a visible mention in the content — guarded by channels-list metadata so a real community channel (real name / non-empty description) is never reclassified by a reply or mention that p-tags the agent. - latch during history seeding too, so a leaked DM bypasses the mention gate from the very first poll after connect - keep `dms list` as a best-effort source, and scan `channels list` as a fallback so DM conversations opened mid-run still get watched - strip a leading @mention in DMs as well, so "@Chip /whoami" keeps firing as a slash command after the conversation reclassifies Refs #68871 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| buzz | ||
| dingtalk | ||
| discord | ||
| feishu | ||
| google_chat | ||
| homeassistant | ||
| irc | ||
| line | ||
| matrix | ||
| mattermost | ||
| ntfy | ||
| photon | ||
| raft | ||
| simplex | ||
| slack | ||
| sms | ||
| teams | ||
| telegram | ||
| wecom | ||