For agents
Satisfaction, on your traces.
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.
The gap
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.
The loop
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.
Install
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.
Read results
Analyze results in the AI tools you already use
UserVane ships an org-scoped MCP server
(mcp.uservane.com). Connect it in Claude, Cursor, or any MCP-capable client you
already pay for. Pull honest scores and verbatims with tools like get_results and
list_responses, then ask your AI to summarize themes, find detractor
patterns, or draft follow-ups.
Bring your own AI
We do not sell a locked-in analysis agent or a per-token insight meter on top of your survey bill. Analysis happens in the assistant you already use, over a paid UserVane org after OAuth.
Honest numbers first
get_results still suppresses
thin samples, returns Wilson margins in the stabilizing band, and labels measured vs imported
sources. Your AI gets the same discipline as the dashboard, not a naked vanity score.
MCP is UI-equivalent access for paid orgs, not a free anonymous API. Capture stays on UserVane; interpretation stays in your tools.
Scope
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.