Agent-native feedback

Did the agent actually help? Now you can prove it.

Your traces show what the agent did. UserVane shows how the user felt about it. Capture real end-user satisfaction the moment your agent resolves a task, bound to the same session you already trace in Langfuse. You get a number you can put in front of leadership, not a model-graded guess.

Traces and evals cannot tell you if the user was helped

You trace every agent run, and you may score outputs with a model or a rubric. Neither answers the question your team actually has: did this person get what they came for? A model grading its own kind is a proxy. Real satisfaction comes from the user, at the moment the task is done, and it belongs on the same session you already watch.

How it works

  1. Declare true resolution

    Call resolveTask when the user's task is actually done. UserVane shows one respectful inline ask, right in the conversation, and never re-prompts after an answer. Caps and quiet periods are decided server-side when the token is issued.

  2. Correlate to your trace

    The rating is bound to the same sessionId you set on your Langfuse traces. Your server pushes a uservane.satisfaction session score back into Langfuse. UserVane never holds or needs your Langfuse key.

  3. Read a number you can defend

    The agent headline counts linked, non-model-requested responses only. Every number ships with its margin, its sample size, and its source, and thin samples are held back instead of dressed up.

Drop it into the stack you already ship

Vercel AI SDK

Capture at true resolution and thread the show-token to your client UI.

npm i @uservane/vercel-ai

OpenAI Agents

Fire-once run wrapper, client UI, and a scoped bridge so the Langfuse session exists.

npm i @uservane/openai-agents

CopilotKit

Capture at turn resolution with deterministic, never-re-prompt rules.

npm i @uservane/copilotkit

All three build on the shared @uservane/agent-core (headless controller plus the server-only mint) and @uservane/agent-react (inline UI). Full setup, per framework, is in the agent quickstart.

What this is, and what it is not

A capture layer, not a tracer

UserVane does not record your agent's inputs, outputs, latency, or tool tree. Your observability tool does that. UserVane adds the honest user-satisfaction signal on top and lands it on the same session.

Session-level, on purpose

Scores attach to the session. Observation-level auto-capture of trace ids is not a shipped client API, so we do not market it.

You decide when to ask

Your resolveTask owns the sample. The optional model-requested tool is off by default, and its captures are excluded from the headline so the model can never inflate your number.

Attested, not trusted

A rating is bound to its session and respondent at issue time and cannot be re-pointed at another session. See correlation and attestation.

Ship honest agent feedback this week.