Humalike x Hermes - Social intelligence plugin for Hermes Agent
by•
One command gives your Hermes agent social intelligence. It decides when to speak, adapts to your group's tone and remembers who said what. Works in group chats on Slack, Telegram and WhatsApp.
@dake_zhang1 Dake! You can build a Discord Bot with Humalike APIs in 10min. I have an old Discord community were I sold software (with thousands of users) and it runs completely in autopilot with a bot that's powered by Humalike :))
@dake_zhang1 Hey Dake! Discord is officially supported by our plugin. Please feel free to check it out :))
I will gladly hear your feedback on it and answer any questions you have :)
Report
Splitting those two apart is fair, and the interruption handling is the bit I want to poke at. When we did this we cancelled the in-flight generation whenever a new message landed, and the annoying part wasn't the cancel, it was deciding whether to restart from the new context or drop the turn, because on a busy channel restarting meant the agent never finished a sentence. Does yours re-run the decision after an interruption, or stay quiet for that turn?
@dipankar_sarkar We've tried "everything" and so far the best way to approach this is re-running the decision after an interruption. There are ways to change this and it's valid if the community or chat is really active. Happy to go deep into it and share our experience :))
Report
decides when to speak is the whole game for me. i've killed more than one bot in a group chat because it replied to everything and drove people nuts. staying quiet at the right moment is way harder than having something to say. how does it learn a specific group's threshold, or do you set it?
@terminal_candy Hey Peter!! Totally... we had the same problem. We realized how big of a problem this was when we were building an AI Community Manager in the past. Making an AI moderate, do support and have genuine conversations with a group of people is really really hard. About groups norms, we have an API called Norms that exists just to solve that problem, + combining it with other APIs such as social intelligence and theory of mind, we are able to make agents adapt really well so far!
Report
"social intelligence" is the part I'd want a concrete definition of before buying in - is there an actual benchmark or eval suite behind that claim, or is it mostly vibes-based (agent seems less awkward in a demo)? proactiveness is even harder to score objectively since an agent that's too proactive just becomes annoying. curious what metric you're actually optimizing against internally.
@omri_ben_shoham1 Hey Omri! Social intelligence is a big statement and we are aware of it. We could argue there is no "good or bad" when judging behavior, so it's really hard to measure. As of today, we are mesuring it "vibes-based", and also working on benchmarks such as https://arxiv.org/abs/2606.14600. We (& all devs/researchers) have a long way to go on delivering proper social intelligence, but we love the problem and we are building/doing research in that direction!
Report
congrats on the launch. the "who said what" memory question that hasn't come up yet: since it runs across Slack, Telegram and WhatsApp, if the same person messages the agent under different handles on two of those platforms, does Humalike link that back to one identity, or does each platform get its own isolated memory of that person? seems like it'd change a lot for someone who's in the same group across multiple apps.
@galdayan Hey Gal, good question! Today: "no", guessing two accounts are the same human is risky (hard to know who is who across platforms). But, if you build with our APIs and "tell us" (mark) ids/person, memory unifies across platforms :))
Report
@mcarmonas makes sense - opt-in identity linking through the API is a safer default than guessing, since a false-positive merge (treating two different people as one) would be a much worse failure mode than staying siloed. good to know it's a deliberate design choice and not a gap. curious to see how this holds up once agents are actually running across all three platforms at once.
@galdayan :))) Ee are experimenting, hopefully we will make progress over time! Thanks for the support Gal!
Report
The turn-taking and social memory pieces stand out to me. An agent knowing when to stay quiet, while remembering the people in a group, feels more useful than just giving it a friendlier tone.
Congrats Martí. The decision of when not to respond is crazy.
Curious how you handle privacy around social memory across Slack, Telegram and WhatsApp. If the memory and classifier live on Humalike's side, can teams control what gets stored, edited, or deleted per group or person?
@akarsh_hegde Thanks Akarsh!! Memory only stores what you ingest, so you control what reaches us (filter people, channels or whatever). We're in progress toward compliance, and we are really serious about data and failure modes.
Report
Congrats team! Just curious when Social Observability flags "who's bored" or "who's annoyed," what does the agent actually get back, a score per person, a signal to slow down, both?
Replies
Reel.fyi
Humalike
@dake_zhang1 Dake! You can build a Discord Bot with Humalike APIs in 10min. I have an old Discord community were I sold software (with thousands of users) and it runs completely in autopilot with a bot that's powered by Humalike :))
jared.so
@dake_zhang1 Hey Dake! Discord is officially supported by our plugin. Please feel free to check it out :))
I will gladly hear your feedback on it and answer any questions you have :)
Splitting those two apart is fair, and the interruption handling is the bit I want to poke at. When we did this we cancelled the in-flight generation whenever a new message landed, and the annoying part wasn't the cancel, it was deciding whether to restart from the new context or drop the turn, because on a busy channel restarting meant the agent never finished a sentence. Does yours re-run the decision after an interruption, or stay quiet for that turn?
Humalike
@dipankar_sarkar We've tried "everything" and so far the best way to approach this is re-running the decision after an interruption. There are ways to change this and it's valid if the community or chat is really active. Happy to go deep into it and share our experience :))
decides when to speak is the whole game for me. i've killed more than one bot in a group chat because it replied to everything and drove people nuts. staying quiet at the right moment is way harder than having something to say. how does it learn a specific group's threshold, or do you set it?
Humalike
@terminal_candy Hey Peter!! Totally... we had the same problem. We realized how big of a problem this was when we were building an AI Community Manager in the past. Making an AI moderate, do support and have genuine conversations with a group of people is really really hard.
About groups norms, we have an API called Norms that exists just to solve that problem, + combining it with other APIs such as social intelligence and theory of mind, we are able to make agents adapt really well so far!
"social intelligence" is the part I'd want a concrete definition of before buying in - is there an actual benchmark or eval suite behind that claim, or is it mostly vibes-based (agent seems less awkward in a demo)? proactiveness is even harder to score objectively since an agent that's too proactive just becomes annoying. curious what metric you're actually optimizing against internally.
Humalike
@omri_ben_shoham1 Hey Omri! Social intelligence is a big statement and we are aware of it. We could argue there is no "good or bad" when judging behavior, so it's really hard to measure. As of today, we are mesuring it "vibes-based", and also working on benchmarks such as https://arxiv.org/abs/2606.14600. We (& all devs/researchers) have a long way to go on delivering proper social intelligence, but we love the problem and we are building/doing research in that direction!
congrats on the launch. the "who said what" memory question that hasn't come up yet: since it runs across Slack, Telegram and WhatsApp, if the same person messages the agent under different handles on two of those platforms, does Humalike link that back to one identity, or does each platform get its own isolated memory of that person? seems like it'd change a lot for someone who's in the same group across multiple apps.
Humalike
@galdayan Hey Gal, good question! Today: "no", guessing two accounts are the same human is risky (hard to know who is who across platforms). But, if you build with our APIs and "tell us" (mark) ids/person, memory unifies across platforms :))
@mcarmonas makes sense - opt-in identity linking through the API is a safer default than guessing, since a false-positive merge (treating two different people as one) would be a much worse failure mode than staying siloed. good to know it's a deliberate design choice and not a gap. curious to see how this holds up once agents are actually running across all three platforms at once.
Humalike
@galdayan :))) Ee are experimenting, hopefully we will make progress over time! Thanks for the support Gal!
The turn-taking and social memory pieces stand out to me. An agent knowing when to stay quiet, while remembering the people in a group, feels more useful than just giving it a friendlier tone.
Humalike
@adriancia 100%!
Congrats Martí. The decision of when not to respond is crazy.
Curious how you handle privacy around social memory across Slack, Telegram and WhatsApp. If the memory and classifier live on Humalike's side, can teams control what gets stored, edited, or deleted per group or person?
Humalike
@akarsh_hegde Thanks Akarsh!! Memory only stores what you ingest, so you control what reaches us (filter people, channels or whatever). We're in progress toward compliance, and we are really serious about data and failure modes.
Congrats team! Just curious when Social Observability flags "who's bored" or "who's annoyed," what does the agent actually get back, a score per person, a signal to slow down, both?
Humalike
@vaishnavi_goel Thanks!! Both :)) Per person: label (engaged / bored / annoyed / churn risk), frustration 0-1. Plus health score + fixes per mistake.