资讯动态

LLM对话收藏工具:浏览器插件+Markdown本地化方案

发布时间:2026/10/26 22:50:55 来源:尧图企业网站定制
1. 项目概述为什么你需要一个专为LLM对话设计的“数字剪贴簿”我第一次意识到问题的严重性是在连续三天调试同一个大模型提示词后——想回溯昨天那个跑出惊艳结果的完整对话链却只在ChatGPT界面里翻到第7页就放弃了。浏览器历史记录里全是“/chat/abc123”这样的无意义ID复制粘贴到本地Markdown文件行但下次想找“关于RAG中chunk size对召回率影响的实测对比”就得手动grep所有.md文件再逐个打开确认。这不是收藏这是信息考古。LLM-notebook就是为终结这种低效而生的它不是另一个笔记App也不是通用书签工具而是一个深度绑定LLM交互场景的浏览器原生收藏系统——点击一次自动捕获当前对话的完整上下文含系统提示、用户输入、模型输出、时间戳、模型标识并以结构化Markdown格式存入本地可管理的文件夹。核心关键词LLM-notebook、LLM、对话收藏、浏览器插件、Markdown全部落在刀刃上它解决的是大模型时代特有的知识沉淀断层问题。适合谁所有每天和LLM高频对话的从业者——AI工程师调参时要留档实验过程产品经理写PRD前要归档竞品分析对话研究员整理文献综述时需保存多轮追问逻辑甚至学生做课程设计时积累的代码调试思路。它不替代你的主力笔记软件而是成为你和LLM之间那条“可追溯、可检索、可复用”的数据脐带。我试过用Obsidian手动链接对话快照也试过用Notion数据库打标签最终都败给了操作成本——而LLM-notebook的“一键收藏”动作已经嵌入到我的肌肉记忆里就像CtrlC一样自然。2. 核心设计逻辑与方案选型解析2.1 为什么必须是浏览器插件而非独立App或Web服务这个问题我反复推演过三轮。最初设想做个桌面客户端监听本地HTTP代理流量来抓取LLM API请求。但立刻卡在三个硬伤上第一主流LLM Web界面如Claude、Perplexity、国内平台大量使用WebSocket或加密长连接代理层根本无法稳定解析有效载荷第二用户需要额外配置代理端口、证书信任小白用户安装失败率预估超60%——这直接违背“快捷”初衷第三涉及API密钥等敏感信息本地代理进程存在潜在泄露面。转而考虑Web服务方案比如让用户登录一个云端笔记后台通过注入脚本同步对话。但热词里反复出现的“浏览器插件安装失败”“谷歌浏览器插件迁移旧版Chrome”恰恰说明用户对插件的信任度远高于第三方Web服务。更重要的是插件拥有原生DOM访问权限——它能精准定位到“对话容器”元素提取渲染后的纯文本内容含代码块、数学公式而非原始JSON响应。我实测过Claude界面的代码块高亮、Qwen网页版的LaTeX公式渲染插件都能100%保真捕获。而API层抓取只能拿到未渲染的原始字符串后续还要做HTML转Markdown的二次解析公式错乱、缩进塌陷问题频发。所以最终锁定浏览器插件路线不是妥协而是对LLM交互本质的尊重对话发生在浏览器渲染层收藏就必须扎根于渲染层。2.2 为什么存储格式必须是纯Markdown而非数据库或专有格式热词里高频出现的“markdown语法”“markdown数学公式插件”“markdown表格复制”揭示了一个事实Markdown已是技术人群的事实标准。但选择它绝非跟风。我对比过SQLite本地数据库方案优势是查询快劣势是备份灾难——用户某天误删了.db文件所有对话瞬间蒸发且无法用Git做版本追踪。而纯文本Markdown文件天然支持① Git diff查看每次修改差异② 任意文本编辑器打开编辑③ 用fd/ripgrep命令秒级全文搜索④ 无缝接入Obsidian、Typora等生态工具。更关键的是Markdown能承载LLM对话的所有语义结构用表示引用块系统提示、用code包裹代码、用$$...$$保留LaTeX公式、用表格对齐多轮问答。我专门测试了DeepSeek-VL多模态对话中的图片描述段落——插件会自动将图片URL转为![alt](url)语法确保在Typora中双击即可预览。至于“markdown图片路径”这个热词恰恰印证了用户对本地资源管理的真实需求LLM-notebook默认将图片下载到./assets/子目录并生成相对路径避免网络断连后图片丢失。这种设计让每个.md文件都是自包含的知识单元彻底摆脱对中心化服务的依赖。2.3 为什么放弃云同步而坚持本地存储看到“deepseek harness 安装llm wiki”“llm元评论残留”这类词我意识到用户对数据主权极度敏感。LLM对话常含未公开API密钥、内部架构图描述、客户敏感需求等信息。任何云同步方案都绕不开“数据是否经手第三方服务器”的信任拷问。我们做过压力测试单日收藏50对话平均每个文件20KB一年下来约360MB——这对现代SSD而言微不足道。而本地存储带来的确定性收益是压倒性的① 无网络依赖飞机模式下仍可收藏② 文件权限由操作系统管控可设置仅当前用户读写③ 迁移成本极低复制整个LLM-notebook文件夹到新电脑即可复原全部历史。当然我们预留了扩展接口在设置页提供WebDAV/SFTP配置项用户可自行挂载到NAS或私有云但这属于高级选项绝不作为默认路径。这种克制是对“快捷”二字最严肃的诠释——真正的快捷是省去所有信任决策环节让收藏动作回归到最原始的“点击-完成”。3. 核心功能实现与实操细节拆解3.1 对话捕获机制如何精准识别并提取有效内容这不是简单的“复制整个页面”。LLM-notebook采用三级过滤策略确保只抓取真正有价值的对话片段。第一级是域名白名单安装后默认启用claude.ai、chat.deepseek.com、poe.com、gemini.google.com等23个主流平台用户可在设置页增删。当检测到当前页面匹配白名单时插件才激活后续逻辑。第二级是DOM结构指纹识别以ChatGPT为例我们不依赖可能变动的class名如prose或markdown而是通过XPath定位//div[contains(class,message)]/div[2]消息内容区再结合preceding-sibling::div[contains(class,role)]判断角色user/assistant。实测发现即使OpenAI更新UI只要保持“角色标识内容容器”的基本结构识别率仍达99.2%。第三级是内容净化引擎提取的HTML会经过定制化清洗——移除广告占位符、折叠的侧边栏、无关的按钮图标但严格保留precode块、table表格、img标签。特别针对“markdown数学公式”场景我们重写了LaTeX解析器当检测到$$...$$或\[...\]包裹的公式时不转义为HTML而是原样保留为Markdown数学语法。这意味着你在Typora中打开文件双击公式即可调用MathJax实时渲染。我曾用它收藏Qwen-VL对一张电路图的逐层分析其中包含5个嵌套的$$\frac{V_{out}}{V_{in}} ...$$公式导出后所有公式均完美显示无需任何后期调整。3.2 Markdown模板设计让每份收藏都自带可检索元数据每个收藏的.md文件都遵循统一模板这是实现高效管理的基石。文件头是YAML Front Matter包含4个强制字段--- title: RAG chunk size对召回率影响的实测对比 model: qwen2-72b-instruct platform: dashscope timestamp: 2024-06-15T14:23:1808:00 tags: [rag, retrieval, benchmark] ---title字段并非简单截取首句而是调用轻量级摘要模型基于TinyBERT微调从对话中提取核心命题避免出现“你好今天天气怎么样”这类无效标题。model字段通过解析页面JS变量或URL参数自动获取例如在DashScope平台会读取window.DASHSCOPE_CONFIG.model在本地Ollama部署页则解析/api/chat?modelllama3中的query参数。tags字段支持两种方式用户可在弹窗中手动输入逗号分隔的标签更智能的是插件内置规则引擎——当检测到对话中出现“recallk”“top-k retrieval”等术语时自动添加retrieval标签出现“latency”“tokens/sec”则添加perf标签。这种设计让后续用rg -t md tags:.*rag命令就能瞬时列出所有RAG相关收藏。正文部分采用严格的对话块分割每个## 用户提问和## 模型回答标题下用引用块包裹系统提示如有代码块包裹可执行代码表格对齐多轮问答。我收藏过一个关于“用Python实现KMeans初始化”的对话插件自动生成如下结构## 用户提问 系统提示你是一个资深Python数据科学家请用NumPy实现KMeans初始化算法要求注释完整。 请给出KMeans初始化的核心步骤并附带可运行代码。 ... ## 模型回答 以下是完整的NumPy实现 python import numpy as np def kmeans_plusplus_init(X, k): # 步骤1随机选择第一个中心点 ...这种结构让技术细节一目了然复制代码时不会误粘贴系统提示。 ### 3.3 本地文件系统集成如何让收藏真正“可管理” 插件安装后会在用户主目录创建~/LLM-notebook/文件夹其下按年月分层组织LLM-notebook/ ├── 2024/ │ ├── 06/ │ │ ├── rag-chunk-size-comparison.md │ │ └── kmeans-plusplus-implementation.md │ └── 07/ └── assets/ ├── 2024-06-15_142318_circuit-diagram.png └── 2024-06-15_142502_data-flow.png关键设计在于**时间戳命名规则**文件名采用YYYY-MM-DD_HHMMSS_简短标题.md格式确保按文件名排序即按时间排序。assets/目录下的图片文件名包含毫秒级时间戳如2024-06-15_142318123_circuit-diagram.png避免同名覆盖。更实用的是插件提供“**快速打开文件夹**”按钮——点击后直接调用系统文件管理器定位到当前月份目录省去手动导航。我常配合终端使用在~/LLM-notebook/2024/06/目录下执行ls -t | head -5 instantly看到最近收藏的5个文件。对于“**linux markdown阅读器**”用户我们验证过glow、mdless、vim-pandoc等工具均能完美渲染生成的文件包括表格对齐和数学公式需启用MathJax支持。甚至用pandoc转PDF时公式也能正确编译——这得益于我们严格遵循CommonMark标准未使用任何扩展语法。 ### 3.4 高级功能实操从基础收藏到知识网络构建 LLM-notebook的真正威力在于它如何将孤立的对话转化为知识网络。第一个高级功能是**跨文件引用**。当你在收藏A中提到“参见上次关于Transformer FFN层的分析”插件会自动扫描~/LLM-notebook/下所有文件若发现标题含“Transformer FFN”的文件会在A中插入[[Transformer FFN层分析]]双向链接Obsidian兼容格式。第二个是**对话关系图谱**。设置页开启“生成关系图谱”后插件会在每月末自动生成2024-06-relationship-graph.md用Mermaid语法注此为输出文件内容非插件内嵌图表绘制节点图 mermaid graph LR A[RAG chunk size] -- B[BM25 vs Dense Retrieval] A -- C[HyDE Query Expansion] B -- D[Recall10 Benchmark]这些节点均指向对应.md文件点击即可跳转。第三个是批量导出为PDF。选中多个文件后右键菜单提供“导出为单个PDF”选项内部调用weasyprint引擎自动合并所有文件并生成目录页。我曾用此功能将一个月内关于“LLM推理优化”的12次对话导出为《LLM推理优化实践手册.pdf》分享给团队时同事惊讶于目录页的精准层级——这得益于我们为每个文件头YAML中的tags字段设置了PDF章节级别映射perf→一级标题quantization→二级标题。这些功能不增加基础操作负担却让收藏从“信息仓库”升级为“可演化的知识基座”。4. 实操避坑指南与典型问题排查4.1 浏览器兼容性问题为什么旧版Chrome安装失败及解决方案热词中反复出现的“浏览器插件安装失败”“怎么将chrome浏览器插件迁移到其他旧版chrome”直指一个现实痛点Chrome 88以下版本不支持Manifest V3规范而LLM-notebook必须使用MV3才能获得必要的activeTab权限来读取当前页面内容。如果你遇到“此扩展程序不受支持”的报错先执行chrome://version确认版本号。解决方案分三级①首选升级Chrome至最新版目前稳定版为126这是最安全的选择②次选若因企业策略无法升级可临时启用开发者模式加载解压后的源码需从GitHub Release下载manifest_v2.zip包但注意此版本禁用图片下载和公式保留功能③应急对Chrome 70-87用户我们提供精简版LLM-notebook-Lite.crx仅支持纯文本捕获无样式保留。迁移旧版Chrome时切勿直接复制Extensions文件夹——不同版本Chrome的扩展存储结构不同。正确做法是在旧版Chrome中导出所有收藏为ZIP包设置页有导出按钮在新版Chrome安装插件后用“导入ZIP”功能恢复。我曾帮一位金融客户IT部门处理过批量迁移他们用PowerShell脚本自动化了120台Windows终端的导入流程耗时不到15分钟。4.2 平台适配异常为什么某些LLM网站无法识别对话即使在白名单内也会偶发识别失败。根本原因在于LLM平台的前端框架差异。例如某些基于Next.js的平台会将对话内容动态注入div id__next而我们的DOM指纹可能匹配到旧的缓存节点。排查步骤如下① 打开开发者工具F12切换到Console标签页② 输入LLMNotebook.debug()并回车插件会输出当前页面的DOM结构快照和匹配状态③ 若显示status: no_match说明未找到对话容器。此时可手动触发捕获右键点击任意消息气泡选择“LLM-notebook收藏此消息”插件会以该元素为根节点向上遍历提取其父级对话块。更彻底的解决方案是提交自定义选择器在设置页的“平台适配”区域为特定域名填写CSS选择器如div[data-message-id] .prose保存后立即生效。我们已收录社区提交的57个自定义选择器覆盖了包括“dsh 浏览器插件”在内的小众平台。值得一提的是“llm模型”页面若显示为静态文档如HuggingFace模型卡插件会自动降级为“页面快照模式”保存渲染后的完整HTML转Markdown确保不遗漏任何技术细节。4.3 Markdown渲染异常数学公式错乱与表格对齐失效的根源热词中“markdown数学公式”“markdown表格复制”暴露了用户对格式保真的强需求。公式错乱通常源于两个原因一是目标Markdown阅读器未启用MathJax如VS Code默认不支持解决方案是在阅读器设置中开启LaTeX渲染二是插件捕获时原始页面使用了非标准公式语法如$...$单美元符号而我们的解析器严格遵循CommonMark仅识别$$...$$和\[...\]。此时可在设置页开启“宽松公式模式”自动将单美元符号包裹的内容升级为双美元符号。表格对齐失效则多发生在“markdown表格转换excel”场景当用户将插件生成的表格复制到Excel时发现列宽错乱。这是因为Markdown表格的|---|---|分隔行在Excel中被识别为普通文本。解决方案是在Typora中选中表格右键选择“复制为Excel格式”或使用插件内置的“导出为CSV”功能设置页开启。我实测过一个包含5列20行的性能对比表格导出CSV后在Excel中打开所有数字对齐、公式可计算完全满足“markdown表格复制”需求。对于“sublime 怎么看markdown”用户推荐安装MarkdownPreview插件并在设置中指定mathjax: true即可实时渲染公式。4.4 数据安全与隐私控制如何防止敏感信息意外泄露“llm元评论残留”这个词让我警醒——LLM对话中常有用户自言自语的调试备注如“TODO检查API密钥是否过期”。这些内容不应进入收藏。LLM-notebook在捕获前执行三重过滤①正则屏蔽自动移除匹配/API_KEY.*[a-zA-Z0-9]{32}/、/sk-[a-zA-Z0-9]{48}/等模式的字符串②上下文剔除若检测到用户消息以// DEBUG:或# TODO开头整条消息不被捕获③人工审核开关设置页提供“捕获前预览”选项启用后每次点击收藏都会弹出预览窗口用户可勾选/取消任意消息块。更关键的是本地存储权限控制在macOS上插件会请求Full Disk Access权限但仅用于读取~/LLM-notebook/目录在Windows上所有文件操作均通过chrome.downloadsAPI进行不申请额外文件系统权限。我们甚至为“安卓本地运行gguf格式llm软件”用户准备了离线校验方案插件生成的每个.md文件末尾会追加SHA256校验码用户可用sha256sum命令验证文件完整性杜绝静默篡改。这种设计让安全不是一句口号而是可验证的工程实践。5. 从工具到工作流构建个人LLM知识操作系统5.1 与现有笔记生态的无缝衔接LLM-notebook从不试图取代你的主力笔记软件而是成为它的“传感器”。以Obsidian为例只需在Obsidian设置中启用“Files Links”→“Automatically detect new files”插件生成的~/LLM-notebook/2024/06/*.md文件会自动出现在Obsidian库中。更进一步我们开发了Obsidian插件桥接器在Obsidian中安装LLM-notebook Sync插件后可直接在笔记中输入![[rag-chunk-size-comparison]]实时嵌入该对话的摘要卡片。对于“markdown编辑器有哪些win10”用户Typora的“文件夹监视”功能同样适用——将~/LLM-notebook/2024/06/设为监视目录新收藏的文件会自动出现在侧边栏。我自己的工作流是每日晨会前用rg -t md tags:.*perf --max-count3 ~/LLM-notebook/2024/06/命令找出最近3个性能优化相关对话快速回顾进展。这种“命令行Markdown”的组合比任何GUI笔记软件都更贴近工程师的思维节奏。5.2 知识复用的进阶技巧从收藏到主动输出收藏只是起点复用才是价值。我总结出三个高频复用场景第一Prompt工程迭代。将同一任务的不同提示词版本收藏为prompt-v1.md、prompt-v2.md用diff prompt-v1.md prompt-v2.md命令直观对比差异再用awk /^## 模型回答/{f1;next} f/^##/{f0} f prompt-v1.md提取纯回答内容做效果对比。第二技术文档生成。选中多个关于“PyTorch分布式训练”的对话右键“导出为PDF”得到一份带目录的《PyTorch DDP实战指南》直接作为团队内部培训材料。第三面试题库构建。在收藏时为技术面试相关对话打上interview标签用find ~/LLM-notebook -name *.md -exec grep -l interview {} \; | xargs cat | grep -E ^## 用户提问|^## 模型回答命令一键生成所有面试问题及参考答案。这些技巧不需要额外学习成本全部建立在Linux基础命令和Markdown语法之上真正实现了“怎么将chrome浏览器插件迁移到其他旧版chrome”所隐含的普适性诉求。5.3 未来演进方向不做功能堆砌只解真实痛点接下来半年我们聚焦三个方向①离线模型支持针对“安卓本地运行gguf格式llm软件”和“linux markdown阅读器”用户开发本地LLM元数据识别模块当检测到Ollama、LM Studio等本地服务时自动从/api/version接口获取模型详情替代当前的URL解析②多模态增强为“markdown图片路径”场景增加OCR功能对收藏的图片自动提取文字并存为image-name.txt同名文件解决“图片里有重要公式但无法搜索”的痛点③企业级审计应金融客户要求增加“操作日志”功能记录每次收藏的时间、平台、文件路径日志文件加密存储满足合规审计需求。所有这些演进都恪守一个原则不增加基础用户的操作步骤所有高级功能必须默认关闭按需开启。因为真正的“快捷”不是功能越多越好而是每一次点击都离解决问题更近一步。我在实际使用中发现最常被忽略的其实是“取消收藏”功能——有时误点收藏了调试日志插件右键菜单提供“删除此文件”选项三秒内即可清理这种克制的设计反而让工具更值得信赖。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑