{% extends "base.html" %} {% block title %}履歴 - llm-devproxy{% endblock %} {% block content %}
{% if q or provider or model or session_id or date_from or date_to %} クリア {% endif %}
{% 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 %}
{% for item in records %} {% endfor %}
{{ 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 %}
{{ "%.0f"|format(pct) }}%
{% 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 %}
{% if total_pages > 1 %} {% set page_params = "q=" ~ q ~ "&provider=" ~ provider ~ "&model=" ~ model ~ "&session_id=" ~ session_id ~ "&date_from=" ~ date_from ~ "&date_to=" ~ date_to ~ "&sort_by=" ~ sort_by ~ "&sort_order=" ~ sort_order ~ "&per_page=" ~ per_page %} {% endif %} {% else %}

リクエスト履歴がありません

{% if q or provider or session_id %}

検索条件を変更してみてください。

{% else %}

llm-devproxy 経由でAPIを呼ぶと、ここに記録されます。

{% endif %}
{% endif %} {% endblock %}