Source Tracker 是一个小型持久化引用管理器,用于跨会话的研究工作流。它用便携的 SQLite 数据库保存每个被引用的 URL,避免来源散落在浏览器标签、笔记和临时文件中。
用途:在研究过程中随时登记来源,按主题归类,去重 URL 变体,复查失效链接,并导出参考文献。
主要能力:添加来源(add,支持 --url、--topic、--title、--notes、--type、--session-id);搜索(search,可按主题、日期、类型、验证状态过滤,输出 JSON);去重(dedup,合并 http/https、www 前缀、片段、末尾斜杠等变体);导出(export,支持 markdown、bibtex、csv、json);健康检查(url_health.py,用 HEAD 请求,200-399 标记存活,失效置 verified=0);统计与主题清单(stats、list-topics)。
使用方式:命令为 python scripts/source_db.py add --url URL --topic TOPIC 等形式。数据库路径可用 --db-path 或环境变量 SOURCE_TRACKER_DB 配置;未设置时使用当前目录下的 ./sources.db。添加时可指定 --type(web、pdf、api、dataset、book、news、report)。若省略 --title,脚本尝试 GET 请求解析页面标题,失败则标题留空。健康检查示例:python scripts/url_health.py --stale-days 30 --timeout 10 --batch-size 50。可通过 cron 定期运行健康检查。
适用场景:跨会话深度研究、笔记本式来源库、实体调研,以及需要在最终报告前生成参考文献的场景。
限制与注意:--topic 为必填;不要添加臆测的 URL,须来自真实来源渠道;verified=1 仅表示上次检查存活;导出前建议先运行 dedup;默认相对数据库路径依赖当前工作目录,长期项目应显式指定路径。具体收费、价格与平台信息暂未提供。