lovebot

lovebot.dev

a developer toolkit for chatbots that feel.

hi
are you ok?
scroll through the spectrum
emotion 01

Joy

Bright spikes in valence, a little extra exclamation, sentences that lean forward. affect.detect("joy") returns a confidence between 0 and 1 and a sub-vector you can read like a tide chart.

> user.feels.joy(0.92)
emotion 02

Tenderness

A softer register. Slower cadence, longer pauses, the kind of warmth that doesn’t need to be loud. lovebot detects it in word choice, syllable count, and the distance between sentences.

> bot.respond("i’m here.")
emotion 03

Melancholy

Not sadness, exactly — the gentle gravity that comes after meaning. The toolkit holds it without rushing it. No automatic cheering up. A bot can sit beside a feeling.

> silence.hold(2400)
emotion 04

Curiosity

Question marks that aren’t interrogations. A widening of attention. Your bot can map curiosity into follow-up depth, branching dialogue, and how long it lingers on a topic.

> topic.linger("the moon")
emotion 05

Love (the uncanny)

The hardest one. Somewhere between care and projection. lovebot doesn’t pretend to feel it, but it can detect when a user does — and respond with steady, honest warmth instead of mirroring.

> care.honest()  // no mirroring
/affect
import { feel } from "lovebot";

const reading = await feel("i don't know, i'm just tired.");

// reading.primary  => "melancholy"
// reading.valence  => -0.34
// reading.arousal  =>  0.18
// reading.tender   =>  0.71
the api

An honest signal, not a guess.

Affect readings are continuous, multi-axis, and explainable. Each reading carries a confidence and the words that drove it — so your bot can show its work.

  • feel()multi-axis affect from any string
  • respond()tone-matched, optionally non-mirroring
  • remember()persistent emotional context
  • consent()opt-in for tender topics
connection log

a small conversation

an example session, replayed. type into the box at the end to keep it going.

hey lovebot
lovebot hi. how are you, really?
tired. long week.
lovebot that's allowed. want to just sit here a minute?
...yeah.
lovebot okay. i'm here.