langchain-ai/langsmith-cursor-plugins。
先决条件
在设置追踪之前,请确保您已具备:- 已安装 Cursor。
- Node.js 22.13 或更高版本。钩子使用内置的
node:sqlite模块从 Cursor 的本地数据库中恢复附件。 - 一个 LangSmith API 密钥。
安装并启用插件
直接在 Cursor 的设置中从 GitHub 仓库安装插件:- 打开 Cursor → 设置 → 插件。
- 将
https://github.com/langchain-ai/langsmith-cursor-plugins粘贴到插件链接字段。 - 确认添加 LangSmith Tracing for Cursor。
备选方案:从本地克隆安装
从langsmith-cursor-plugins 的本地克隆安装钩子。这会为所有 Cursor 项目写入 ~/.cursor/hooks.json:
hooks.json 合并。仓库中提交的 bundle/ 意味着这些命令无需运行 pnpm install 或 pnpm build —— 仅在向 TypeScript 源代码贡献更改时才需要这些步骤。
安装后请重启 Cursor,以便它重新加载 hooks.json。
配置追踪
在设置enabled (或 TRACE_TO_LANGSMITH=true) 和 API 密钥之前,追踪处于禁用状态。使用环境变量、JSON 配置文件或两者同时来配置凭据。
环境变量
每个LANGSMITH_CURSOR_* 变量也接受较短的 LANGSMITH_* 形式。当两者都设置时,LANGSMITH_CURSOR_* 优先。
将变量添加到您的 shell 配置文件(
~/.zshrc、~/.bashrc 或 ~/.bash_profile)中:
配置文件
使用~/.cursor/langsmith.json 进行全局默认设置,或使用 ./.cursor/langsmith.json 进行项目级设置。设置按以下顺序解析,后面的源覆盖前面的源:默认值、全局配置、项目配置、环境变量。
请将包含 API 密钥的配置文件排除在版本控制之外。
追踪内容
该插件监听 Cursor 钩子,并为每个代理轮次组装一个追踪:- 轮次:每个轮次都成为其自己的追踪,使用
thread_id= Cursor 的conversation_id归类到一个线程中。该追踪将模型运行以及任何工具或子代理运行嵌套在轮次之下。 - 令牌用量:模型运行上的每个轮次
usage_metadata。 - 模型和提供商:
ls_model_name和ls_provider,从 Cursor 的模型标签规范化为规范的提供商 ID(例如,claude-4.6-sonnet变为claude-sonnet-4-6)。自动模式报告default,提供商为cursor。 - 工具调用:包括成功调用和失败的工具运行,附带输入和输出。
- 附件:从 Cursor 的本地数据库恢复的图像和文件附件,并在用户消息中内联渲染。将
attachments设置为false可跳过此步骤。 - 子代理:每个子代理显示为一个嵌套的链运行,下面有自己的工具调用,并链接到父轮次。
该插件不在本地计算成本。因为
ls_model_name 被规范化为规范 ID 且 usage_metadata 携带了令牌细分,LangSmith 的服务器端模型价格表会在 UI 中渲染成本。自动模式报告 default,LangSmith 无法为其定价。追踪元数据
每个运行在run.extra.metadata 上都携带共享的 coding-agent-v1 元数据契约,这使得来自任何编码代理(Claude Code、Codex、Cursor)的追踪可以被识别并使用相同的稳定键进行分组。
Cursor 的钩子不暴露用于
user_id、sandbox_type 或 approval_policy 的稳定来源,因此省略了这些键。
在 LangSmith 中查看追踪
打开配置的 LangSmith 项目(默认为cursor)并完成一个 Cursor 轮次。该插件上传每个轮次的一个追踪,结构如下:
thread_id 进行过滤。
已知限制
- 子代理令牌用量:Cursor 不通过钩子或其本地数据库公开每个子代理的用量细分,因此子代理的
Task运行包含其工具调用,但不包含令牌计数。
故障排除
如果追踪未出现在 LangSmith 中:- 确认在 Cursor 进程可见的配置文件中设置了
TRACE_TO_LANGSMITH=true或"enabled": true。 - 确认
LANGSMITH_CURSOR_API_KEY或LANGSMITH_API_KEY已设置且有效。 - 确认在安装钩子后已完全重启 Cursor。
- 查看钩子日志中的错误:
tail -f ~/.cursor/langsmith-hook.log。 - 使用
LANGSMITH_CURSOR_DEBUG=true启用详细日志记录并重新检查日志。 - 如果运行结果出现在错误的项目中,请设置
LANGSMITH_CURSOR_PROJECT或project配置键。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

