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
-
Declare true resolution
Call
resolveTaskwhen 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. -
Correlate to your trace
The rating is bound to the same
sessionIdyou set on your Langfuse traces. Your server pushes auservane.satisfactionsession score back into Langfuse. UserVane never holds or needs your Langfuse key. -
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.