get_history_summary
Get an hourly summary of Edge browsing history by domain for a given day and profile. Aggregates visit counts per domain with sample page titles, without exposing full URLs.
Instructions
Summarize Edge browsing history for a profile on a day, by domain only.
Prefer this tool over ``get_history`` for questions like "what did I browse
today, hour by hour?": it returns far less data and never exposes full URLs,
which can embed auth tokens, session ids or other secrets. It does include a
small sample of page titles per domain for context. Only use ``get_history``
when specific URLs are genuinely required.
Only ``http``/``https`` visits are aggregated; ``file:``, ``edge:``,
``chrome:``, extension and other non-web URLs are skipped (and counted).
Args:
profile: Profile friendly name (from ``list_profiles``) or directory id.
date: Day to summarize, formatted ``YYYY-MM-DD``. Day boundaries are
interpreted in the local machine timezone.
start_time: Optional lower bound within the day, ``HH:MM`` (24-hour,
local time). Defaults to the start of the day (``00:00``).
end_time: Optional upper bound within the day, ``HH:MM`` (exclusive,
local time). Defaults to the end of the day. Must be later than
``start_time``.
group_by: Bucket granularity. Currently only ``"hour"`` is supported.
limit: Maximum number of underlying visit rows to aggregate per page
(default 10000, capped at 50000). Non-positive values fall back to
the default.
offset: Number of visit rows to skip from the start of the window, for
paging through large days (default 0).
include_titles: Include a small sample of page titles per domain
(default true). Set false to get domains and counts only.
max_titles_per_site: Maximum sample titles per domain per bucket
(default 3, capped at 10). Values <= 0 return no titles.
Returns:
A dict with:
* ``profile``/``date``/``group_by``/``timezone``: the query context.
* ``entries_considered``: visit rows examined in this page.
* ``web_entries``: rows counted in the buckets.
* ``non_web_entries_skipped``: rows skipped as non-web URLs.
* ``buckets``: hour buckets ordered ascending, each with the local ISO
``hour``, a friendly ``label`` (e.g. ``8 AM``), ``total_web_visits``
and ``sites`` (``domain`` + ``visits`` + ``sample_titles``, sorted by
visits descending then domain ascending). Domains are normalized
(``www.`` stripped); no full URLs, query strings or fragments are
returned. ``sample_titles`` holds up to ``max_titles_per_site``
deduplicated, truncated page titles in first-seen order.
* ``offset``/``limit``/``has_more``/``next_offset``: paging metadata,
with the same semantics as ``get_history``.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| limit | No | ||
| offset | No | ||
| profile | Yes | ||
| end_time | No | ||
| group_by | No | hour | |
| start_time | No | ||
| include_titles | No | ||
| max_titles_per_site | No |