mcpField
B
browser-history

browser-history

github.com/samhvw8生产力1548 次安装今天更新
代码仓库

关于 browser-history

用于搜索和分析 Firefox 或 Chromium 浏览历史的技能。它通过 SQLite 查询查找页面、访问日期、常访网站及可用的浏览时长数据。

主要功能

  1. 01检测近期使用的浏览器
  2. 02按关键词或日期搜索历史
  3. 03分析访问次数与浏览时长
  4. 04汇总常访网站

适用场景

  1. 01找回之前访问过的页面
  2. 02查看指定日期范围的浏览记录
  3. 03查询在某网站花费的时间
  4. 04找出经常访问的域名

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/samhvw8/dotfiles --skill browser-history

安装后在 Claude Code 中输入/browser-history确认已加载。

附带文件executable_find-browser.sh

详细介绍

浏览器历史记录搜索

搜索用户的浏览器历史记录,查找访问过的页面、分析浏览模式,并找回遗忘的信息。

适用场景

  • 用户询问访问过的页面(“我上周看过哪些 GitHub 仓库?”)
  • 用户想找回忘记的页面(“找找我读过的那篇关于 LLM 的文章”)
  • 用户询问浏览习惯(“我在 Twitter 上花了多少时间?”)
  • 用户想查看浏览统计信息(“显示我访问次数最多的网站”)

要求

  • sqlite3 CLI

设置

首先,运行以下命令检测可用的浏览器:

./find-browser.sh
  • 输出:PATH、TYPE、BROWSER、LAST_MODIFIED
  • TYPE:firefox 或 chromium(决定 SQL 语法)
  • 默认使用第一个结果(最近使用的浏览器)
  • 如果最近使用过多个浏览器(最近 24 小时内),请询问用户要搜索哪个浏览器

查询数据库

在 SQLite URI 中使用 ?immutable=1,即使浏览器处于打开状态,也能读取数据库:

sqlite3 "file:///path/to/history.db?immutable=1" "SELECT ..."
Firefox 数据库(places.sqlite)

按关键词搜索:

SELECT
    title,
    url,
    datetime(last_visit_date/1000000, 'unixepoch', 'localtime') as visit_date
FROM moz_places
WHERE url LIKE '%keyword%' OR title LIKE '%keyword%'
ORDER BY last_visit_date DESC
LIMIT 50;

按日期范围搜索:

SELECT url, title, datetime(last_visit_date/1000000, 'unixepoch', 'localtime') as visit_date
FROM moz_places
WHERE last_visit_date > strftime('%s', '2025-01-01') * 1000000
  AND last_visit_date < strftime('%s', '2025-01-31') * 1000000
ORDER BY last_visit_date DESC;

使用时长分析(使用 moz_places_metadata):

SELECT
    SUM(m.total_view_time) / 1000 / 60 as minutes,
    COUNT(*) as sessions
FROM moz_places_metadata m
JOIN moz_places p ON m.place_id = p.id
WHERE p.url LIKE '%example.com%'
  AND m.created_at > strftime('%s', '2025-01-01') * 1000;

注意:created_at 的单位是毫秒,last_visit_date 的单位是微秒。

访问次数最多的网站:

SELECT
    SUBSTR(url, INSTR(url, '://') + 3,
           INSTR(SUBSTR(url, INSTR(url, '://') + 3), '/') - 1) as domain,
    SUM(visit_count) as visits
FROM moz_places
WHERE url LIKE 'http%'
GROUP BY domain
ORDER BY visits DESC
LIMIT 20;
Chromium 数据库(History)

**重要提示:**Chromium 时间戳是自 1601 年 1 月 1 日起的微秒数(Windows 纪元)。

转换公式:(timestamp/1000000) - 11644473600 得到 Unix 纪元时间。

按关键词搜索:

SELECT
    title,
    url,
    datetime((last_visit_time/1000000)-11644473600, 'unixepoch', 'localtime') as visit_date
FROM urls
WHERE url LIKE '%keyword%' OR title LIKE '%keyword%'
ORDER BY last_visit_time DESC
LIMIT 50;

按日期范围搜索:

SELECT url, title, datetime((last_visit_time/1000000)-11644473600, 'unixepoch', 'localtime') as visit_date
FROM urls
WHERE last_visit_time > (strftime('%s', '2025-01-01') + 11644473600) * 1000000
  AND last_visit_time < (strftime('%s', '2025-01-31') + 11644473600) * 1000000
ORDER BY last_visit_time DESC;

数据库架构

Firefox(moz_places)
列描述
url完整 URL
title页面标题
last_visit_date自 Unix 纪元起的微秒数
visit_count访问次数
frecency频率与最近访问情况的评分
Firefox(moz_places_metadata)
列描述
place_id指向 moz_places 的外键
total_view_time页面停留时间(毫秒)
created_at自 Unix 纪元起的毫秒数
scrolling_time滚动所用时间
key_presses按键次数
Chromium(urls)
列描述
url完整 URL
title页面标题
last_visit_time自 1601-01-01 起的微秒数
visit_count访问次数

输出指南

  • 以易读的格式呈现结果,并在适用时按域名分组
  • 分析时长时,显示小时和分钟,不要显示原始毫秒数
  • 显示历史记录时,包含日期和可点击链接
  • 如果结果较多,请按域名或时间段进行汇总
  • 如果有帮助,可以加入小型 ASCII/Unicode 图表(每日细分、直方图)

输出示例请参阅 @README.md。

评论

支持 Markdown