@volcengine/tls-observer-cursor
v0.0.6
Published
Export Cursor hook telemetry and agent transcripts to Volcengine TLS with OTLP traces.
Downloads
438
Maintainers
Readme
TLS Observer for Cursor
采集 Cursor 本地 hooks 和 agent-transcripts/*.jsonl,转换为 GenAI Trace,并通过 Volcengine TLS Producer 写入 Trace Topic。
数据源
- Cursor 原生 hooks:
beforeSubmitPrompt、preToolUse、postToolUse、postToolUseFailure、stop、sessionEnd、subagentStart、subagentStop、preCompact。主tool.call链路只使用 Cursor generic tool hooks。 - Cursor transcript:
~/.cursor/projects/<workspace>/agent-transcripts/<conversation-id>/<conversation-id>.jsonl。
Span
agent.turn:一个用户 turn 的根 span。llm.request:从 assistant transcript entry 还原的模型请求。tool.call:从tool_useblock 与 tool hook observation 还原的工具调用,挂在产出该tool_use的llm.request下。agent.subagent/agent.compact:Cursor subagent 和 compact hook 事件。
所有 span 都包含 tls.app.type=cursor。Cursor 专属字段使用 cursor.* attribute,例如 cursor.version、cursor.workspace.roots、cursor.transcript_path。
本地接入
构建:
pnpm --dir packages/cursor build准备 env:
cat > ~/.cursor/tls-observer-cursor.env <<'EOF'
CURSOR_TLS_ENDPOINT=https://tls-cn-beijing.volces.com
CURSOR_TLS_REGION=cn-beijing
CURSOR_TLS_TRACE_TOPIC_ID=<trace-topic-id>
CURSOR_TLS_API_KEY=<api-key>
CURSOR_TLS_CAPTURE_CONTENT=1
EOF在 Cursor hooks 中引用构建产物。用户级示例:
{
"version": 1,
"hooks": {
"beforeSubmitPrompt": [
{
"command": "node \"/Users/bytedance/TLSProjects/storage-tls-observer/packages/cursor/dist/index.js\""
}
],
"stop": [
{
"command": "node \"/Users/bytedance/TLSProjects/storage-tls-observer/packages/cursor/dist/index.js\"",
"timeout": 120
}
]
}
}完整 hook 模板见 hooks/hooks.json。
配置
| 环境变量 | 说明 |
| --- | --- |
| CURSOR_TLS_EXPORT | 设为 0 可关闭上报 |
| CURSOR_TLS_CAPTURE_CONTENT | 设为 0 时不写 prompt/response/tool body |
| CURSOR_TLS_DEBUG_ARTIFACTS | 设为 1 输出本地 trace/OTLP 调试文件 |
| CURSOR_TLS_DATA_ROOT | 默认 ~/.cursor/plugins/data/tls-observer-cursor |
| CURSOR_TLS_ENDPOINT / CURSOR_TLS_OTEL_ENDPOINT | TLS endpoint |
| CURSOR_TLS_REGION | TLS region |
| CURSOR_TLS_TRACE_TOPIC_ID | Trace Topic ID |
| CURSOR_TLS_API_KEY | TLS API key |
| CURSOR_TLS_AK / CURSOR_TLS_SK | AK/SK 鉴权 |
最近一次发送结果:
cat ~/.cursor/plugins/data/tls-observer-cursor/logs/send/latest.send-log.json