﻿---
title: "通过 Logfire 导出会话遥测"
summary: "安装 logfire-exporter@pydantic-skills，通过 Stop 钩子导出遥测。LOGFIRE_TOKEN 写入 config.env，正文采集模式默认 full。"
category: hooks
level: starter
surfaces: [cli, app]
tags: ["plugins", "Logfire", "hooks", "observability"]
canonical: /tips/logfire-exporter-codex-plugin/
---

# 通过 Logfire 导出会话遥测

安装 logfire-exporter@pydantic-skills，通过 Stop 钩子导出遥测。LOGFIRE_TOKEN 写入 config.env，正文采集模式默认 full。

Logfire 官方 Codex 追踪：marketplace add pydantic/skills，再 plugin add logfire-exporter@pydantic-skills。这是把 Codex 会话追踪发送到 Logfire，不是去查应用遥测，也不是 Codex 内置那套 OTEL 日志。官方导出器页和技能页都写了 marketplace；清单 `.agents/plugins/marketplace.json` 的 name 是 `pydantic-skills`，展示名 Pydantic，插件 name 是 `logfire-exporter`，所以是 `logfire-exporter@pydantic-skills`。源是 `./plugins/logfire-exporter`。导出器只在 Codex 上有，Claude 那份 marketplace 没有该服务。

官方 Codex 主路径（技能页带 `--ref main`）：

```bash
codex plugin marketplace add pydantic/skills --ref main
codex plugin add logfire-exporter@pydantic-skills
codex plugin list
```

`codex plugin list` 应看到 `logfire-exporter@pydantic-skills` 为 installed, enabled。加完先看**当前会话**；当前会话 `/plugins` 没有再新开。也可以在插件浏览器的 **Pydantic** 栏开 Logfire Exporter。IDE 扩展没有 `/plugins`，用 CLI 加。网页 Cloud 不读本机 marketplace。

钩子要单独打开并信任。现行键是 `hooks`，**不要**手写 `plugin_hooks`：

```toml
[features]
hooks = true

[plugins."logfire-exporter@pydantic-skills"]
enabled = true
```

新开会话后若出现 Hooks need review，打开 `/hooks`，审过 **SessionStart / UserPromptSubmit / PostToolUse / Stop** 再信任。只开插件不够。Codex 按钩子哈希记信任；插件升级改了命令要再审一次。导出发生在 **Stop**：回合没跑完、被打断没到 Stop，就不会出 span。没有长生命周期的 session 根 span。

写令牌不要进 `config.toml` 的 `env` 表。放到启动 Codex 的进程环境，或：

```text
${XDG_CONFIG_HOME:-~/.config}/logfire-exporter/config.env
```

```dotenv
LOGFIRE_TOKEN=pylf_...
LOGFIRE_BASE_URL=https://logfire-us.pydantic.dev
```

仓库 README 默认 API 主机是 `https://logfire-api.pydantic.dev`；官方导出器示例写 `logfire-us.pydantic.dev`。欧盟换成 `https://logfire-eu.pydantic.dev`。旧名 `LOGFIRE_URL` 还能用，但 `LOGFIRE_BASE_URL` 优先。本机实例才 `http://localhost:3000`。默认请求头是 `Authorization` 加令牌本身，要 `Bearer` 才设 `CODEX_LOGFIRE_AUTH_SCHEME=Bearer`。该服务不是 MCP，**不要** `codex mcp login`。

默认 `CODEX_LOGFIRE_CONTENT_CAPTURE_MODE=full`，会带脱敏后的 prompt、助手回复、工具入参/出参和工具错误。团队策略收紧时改 `no_tool_content` 或 `metadata_only`。含密钥或客户数据的会话不要开 `full`。POSIX 钩子要能找到 `python3`；pyenv 卡住才钉 `CODEX_LOGFIRE_PYTHON`。排错看 `~/.local/state/logfire-exporter/logs/`，TUI 日志搜 `logfire-exporter`。

查应用遥测、打开 Logfire UI 是另一台插件：

```bash
codex plugin add logfire@pydantic-skills
```

它会登记托管 MCP，默认美区。欧盟要先卸再换主机：

```bash
codex mcp remove logfire
codex mcp add logfire --url https://logfire-eu.pydantic.dev/mcp
codex mcp login logfire
```

不要把导出器和查询插件混用。也不要把 `npx skills add pydantic/skills` 当该导出器的安装器——那只拷 SKILL.md，不装 Stop 钩子。

配置说明：

- 不要 `codex mcp add logfire-exporter`，也不要对导出器 `mcp login`。
- 不要把写令牌写进 `config.toml` 的 `env` 表，也不要拼进 URL。
- 不要一上来 `--yolo`。

升级用清单名，再重新 `plugin add`：

```bash
codex plugin marketplace upgrade pydantic-skills
codex plugin add logfire-exporter@pydantic-skills
```

网页 Cloud 不读这份插件。改完彻底重启，跑完一轮短任务，到 Logfire 看 Stop 之后的 turn span。

## 来源

- [Logfire · Export Codex Activity to Logfire](https://pydantic.dev/docs/logfire/guides/codex-logfire-exporter/)
- [pydantic/skills](https://github.com/pydantic/skills)
- [Logfire · Coding Agent Skills](https://pydantic.dev/docs/logfire/guides/skills/)
