{% extends "base.html" %} {% block title %}履歴 - llm-devproxy{% endblock %} {% block content %}
{% if records %} {% set base_params = "q=" ~ q ~ "&provider=" ~ provider ~ "&model=" ~ model ~ "&session_id=" ~ session_id ~ "&date_from=" ~ date_from ~ "&date_to=" ~ date_to ~ "&per_page=" ~ per_page %} {% macro sort_link(col, label) %} {% if sort_by == col %} {% set next_order = "asc" if sort_order == "desc" else "desc" %} {% set arrow = "▼" if sort_order == "desc" else "▲" %} {{ label }} {{ arrow }} {% else %} {{ label }} {% endif %} {% endmacro %}| {{ sort_link("timestamp", "Time") }} | {{ sort_link("provider", "Provider") }} | {{ sort_link("model", "Model") }} | Prompt | {{ sort_link("input_tokens", "Input") }} | {{ sort_link("output_tokens", "Output") }} | {{ sort_link("reasoning_tokens", "🧠 Reasoning") }} | {{ sort_link("cost_usd", "Cost") }} | Status |
|---|---|---|---|---|---|---|---|---|
| {{ item.record.timestamp|format_time }} | {{ item.record.provider }} | {{ item.record.model }} | {{ item.prompt_preview }} | {{ item.record.input_tokens|format_tokens }} | {{ item.record.output_tokens|format_tokens }} | {% if item.record.reasoning_tokens > 0 %} {{ item.record.reasoning_tokens|format_tokens }} {% set total_out = item.record.output_tokens + item.record.reasoning_tokens %} {% set pct = (item.record.reasoning_tokens / total_out * 100) if total_out > 0 else 0 %} {% else %} — {% endif %} | {{ item.record.cost_usd|format_cost }} | {% if item.record.is_cached %} cached {% elif "cost_limited" in item.record.tags %} mock {% elif item.record.reasoning_tokens > 0 %} 🧠 reasoning {% endif %} |
検索条件を変更してみてください。
{% else %}llm-devproxy 経由でAPIを呼ぶと、ここに記録されます。
{% endif %}