VESTI
Local-first AI conversation memory hub to capture, search, summarize, and export chats across major AI platforms. 本地优先的 AI 对话记忆与知识中台。
Install / Use
/learn @abraxas914/VESTIQuality Score
Category
OperationsSupported Platforms
README
https://github.com/user-attachments/assets/7d9affef-5a97-4959-aada-c4ef916b80dc
<b>🎥 视频演示-心迹双层系统架构:Chrome扩展捕获引擎与独立知识库记忆看板</b>
<br><br>
<img src="https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB" alt="React"> <img src="https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white" alt="TypeScript"> <img src="https://img.shields.io/badge/Plasmo-090909?style=for-the-badge&logo=googlechrome&logoColor=white" alt="Plasmo"> <img src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge" alt="MIT License"> <br> <img src="https://img.shields.io/badge/Dexie.js-IndexedDB-FF6B35?style=for-the-badge&logo=databricks&logoColor=white" alt="Dexie.js"> <img src="https://img.shields.io/badge/ECharts-Knowledge_Graph-AA344D?style=for-the-badge&logo=apacheecharts&logoColor=white" alt="ECharts"> <img src="https://img.shields.io/badge/RAG-Vector_Retrieval-6B4FBB?style=for-the-badge&logo=semanticscholar&logoColor=white" alt="RAG"> <img src="https://img.shields.io/badge/ModelScope-Embedding_API-624AFF?style=for-the-badge&logo=alibabacloud&logoColor=white" alt="ModelScope"> </div> <br> <div align="center"> <p>如果心迹帮你找回过一次思考的轨迹,不妨留下一颗 Star。</p> <a href="https://github.com/abraxas914/VESTI"> <img src="https://img.shields.io/badge/☆%20Star%20心迹%20Vesti-4B0082?style=for-the-badge&logoColor=FFD700" alt="Star 心迹 Vesti"> </a> <br><br> <sub>也欢迎 <a href="https://github.com/abraxas914/VESTI/fork">Fork</a> 参与建设,或通过 <a href="https://github.com/abraxas914/VESTI/issues">Issue</a> 与我们对话。</sub> </div> <br> ---⚡ 为什么我们需要心迹
在这个与AI共处的时代,我们的思考方式正在发生深刻的变化。与ChatGPT、Claude等大语言模型的对话已经不再是简单的信息查询,而是成为了思考、创作和决策的核心过程。我们在AI的协助下探索新概念、推演复杂问题、打磨创意方案、澄清模糊直觉。这些对话承载着我们最真实的思维轨迹——那些尚未成型的想法、反复权衡的选择、顿悟的瞬间。
但是,现有的AI平台生态存在着一个根本性的异化。我们创造了数据,却从未真正拥有它。
数据封建主义的困境
目前的互联网生态本质上是一种WEB 2.0的数字封建制。AI平台是领主,掌握着数据的所有权和解释权。你在ChatGPT上探讨的产品架构、在Claude上咨询的技术方案、在Gemini上研究的市场分析——这些思考成果在法律和技术层面都不属于你,而属于OpenAI、Anthropic、Google。
这种所有权的异化带来了一系列问题。首先是数据散落。你的思考碎片被锁在不同平台的围墙花园里,微信的数据不会被百度抓取,ChatGPT的历史记录无法导出到Claude。当你需要回溯某个想法时,你必须记得它发生在哪个平台的哪次对话里,否则就永远找不到了。其次是解释权的丧失。平台通过推荐算法和年度总结定义了"什么是重要的",但这个标准是为了优化平台的商业目标而设计的,而非服务于你的自我理解。你看到的年度报告告诉你"听了多少首歌""聊了多少次天",但它无法回答"这些对话在你的思想演进中扮演了什么角色"。
更深层的问题是思维叙事权的缺失。人类通过叙事定义自己,我们需要能够回顾过去、看清思维的轨迹、理解今天的自己如何从昨天的困惑中走来。但当思考过程都发生在与AI的对话中,而这些对话又散落在不同平台、难以整合、缺乏洞察时,我们实际上失去了为自己的思维写传记的能力。我们拥有数据的碎片,却失去了叙事的完整性。
注意力主权与意义的关系性
心迹的第一个核心信念是:注意力主权先于数据主权。真正的主权不仅在于"我拥有我的数据",更在于"我定义什么数据能代表我"。这意味着我们不试图记录用户的所有数字活动——那会导致信号被噪音淹没。相反,我们提供工具让用户主动或智能地选择什么值得被记住。
这个理念源自一个深刻的认识:在信息过载的时代,意义不在于占有更多数据,而在于识别什么是真正重要的。你可能一周内在多个AI平台上进行了五十次对话,但其中真正承载思考深度的可能只有五次。如果系统盲目地给所有对话同等权重,反而会模糊真正的信号。因此,心迹的设计从一开始就围绕"帮助用户定义自己的意义标准"展开。
心迹的第二个核心信念是:意义是关系性的而非本质性的。一个想法的重要性不来自于它本身,而来自于它与其他想法的关联。当你在不同时间、不同平台上反复讨论某个主题时,这些讨论片段在孤立状态下可能只是零散的问答,但当它们被串联起来时,就会显现出一个完整的思考演进轨迹。这就是为什么我们的架构设计从一开始就为跨对话的语义关联预留了空间——我们不仅要记录思考的快照,更要揭示思考的动态过程。
心迹的第三个核心信念是:技术应该增强而非替代人的判断。AI的角色不是告诉用户"你应该关注什么",而是帮助用户看清"你实际上在关注什么"。系统通过学习用户的策展模式、观察用户的行为偏好,可以逐步承担起识别潜在重要内容的工作,但最终的决定权始终在用户手中。这是一种协作式的智能——AI提供建议,人做出选择,然后AI从选择中继续学习,形成一个正向的反馈循环。
心迹的产品图标是一只猫头鹰的简笔轮廓——寥寥数笔,取其神而非其形。这个选择有一层刻意的呼应:黑格尔在《法哲学原理》序言中写道,密涅瓦的猫头鹰只在黄昏时分才展翅起飞。理解总是迟到的,它在事件落幕后才悄然降临,回望白日里发生的一切,赋予它们可被把握的形状。心迹所做的事,与这个意象在结构上是同一件事:你与 AI 的对话发生在白天,思绪流动、片段散落;心迹在黄昏起飞,从各个平台的围墙花园里打捞那些漂移的记忆,将它们重新编织为一条可以回溯的思维轨迹。我们相信,真正的理解从来不发生在当下,而发生在回望之中。
从记录工具到知识中台:一个诚实的演进说明
在心迹的早期版本里,上述三条信念更多停留在产品哲学的层面。彼时的实现与叙事之间,存在一道真实的落差:我们声称"意义是关系性的",但产品本身没有任何机制去发现、建立或呈现对话之间的关联。每一条存入本地的对话,都还只是一座孤立的信息孤岛。
这个落差值得被诚实地承认,因为它正是驱动本轮迭代的核心动力。
心迹当前版本由两个协同工作的层次构成。捕获引擎层是 Chrome 浏览器扩展本体,负责跨平台(ChatGPT、Claude、Gemini、DeepSeek、Qwen、Doubao)的对话监听、结构化摘要生成和本地持久化。知识管理层是一个基于 StorageApi 契约接口构建的独立 Web 视图,提供对话库分类管理(Library)、自然语言知识问答(Explore)、语义关联图谱可视化(Network)和手动策展笔记(Notes)四个核心模块。两层之间通过 Chrome Extension Message 协议通信,UI 层对存储实现完全透明,这保证了 Local-First 架构的纯粹性。
这套架构使得三条核心信念第一次在工程层面获得了具体的对应物。向量知识库的实践落地,让"意义的关系性"有了可计算的语义基础;Gardener 智能体的多步决策链,让"技术增强判断"有了可观测的执行过程;自然语言问答与引用溯源设计,让"注意力主权"有了可交互的产品形态。
我们不认为这意味着愿景已经实现。向量检索的规模边界、Agent 分类的置信度局限、跨设备同步的缺席——这些都是当前版本的真实约束,并在后续章节中有详细说明。但从这一版本开始,心迹作为"个人 AI 知识中台"的定位,已经有了比哲学叙事更坚实的支撑:可运行的代码,以及在本地浏览器中真实跑通的语义理解流水线。
⭐ 核心功能
心迹当前的能力覆盖从数据捕获到知识沉淀的完整链路,分布在两个协同工作的产品层次上:作为 Chrome 扩展运行的捕获与洞察引擎,以及作为独立 Web 视图运行的知识管理平台。
🔗 浏览器浮窗 - 扩展程序侧边栏 - 独立知识库视图:咬合衔接管线
捕获与洞察引擎(Chrome 扩展)
-
实时捕获:当你在 ChatGPT、Claude、Gemini、DeepSeek、Qwen 或 Doubao 页面进行对话时,心迹在后台静默工作,自动提取对话内容并存储到本地 IndexedDB。这个过程完全自动化且不可感知,无需你主动标记或导出。捕获的对话包含完整的多轮问答内容、时间戳、平台标识等元数据,系统能正确识别并避免重复存储。
-
统一浏览:在浏览器侧边栏打开心迹,你可以看到按时间排列的所有对话卡片。每张卡片显示对话标题、平台标识、时间戳和消息轮数,悬停后展开摘要预览与快捷操作。
-
全文检索:通过搜索框输入关键词,瞬间定位到包含该词的所有对话。搜索不仅匹配标题,也匹配对话的完整内容,并支持按平台筛选。
-
悬浮状态胶囊(Capsule):在所有支持平台的页面内,心迹以一个轻量悬浮球的形式常驻页面,实时反映当前对话的捕获状态(持续捕获中、已就绪归档、已完成等六种语义态)。折叠为小球时不干扰正常操作,展开后可直接触发归档或打开侧边栏;支持吸边定位与拖拽,位置按域名持久化记忆。明暗双主题与平台色 token 与侧边栏完全对齐,且仅作用于 Shadow DOM 内部,不污染宿主页面样式。
-
Thread Summary(结构化摘要):集成 ModelScope API,为单个会话生成结构化摘要。这不是简单的内容压缩,而是基于经过版本化管理的提示词工程(Prompt-as-Code),揭示对话的思维轨迹、关键转折和核心洞察。摘要包含核心问题、思考演进、关键洞见、悬而未决的话题和可行的下一步建议,生成结果缓存在本地,支持多层 Fallback 确保极端情况下仍能返回可用结果。
-
数据管理(Data 页):独立的数据管理页面提供存储概览(Overview)、导出与清理操作(Operations)和近期路线图(Roadmap)三组功能。支持 JSON、TXT、Markdown 三种导出格式;双清理动作(对话记录与 Insights 缓存分开处理)防止误操作;存储用量超过阈值时触发软警告或硬限制保护机制。
-
本地优先:所有数据存储在你的本地设备中,不上传到任何云端服务器。你拥有完整的数据主权,可以随时导出、备份或删除。即使开发者也无法访问你的对话记录。这不仅是技术选择,更是价值立场。
知识管理平台(Web Dashboard)
🧠 知识库应用全链路:Agent 赋能的自主记忆探索平台
<blockquote> <p>🎨 <b>心迹 (Vesti) 将零散的跨平台对话转化为体系化的个人知识资产:</b><br><br> 打破数据围墙,在 <b>Library</b> 中实现思维资产的完整标记、收藏与目录结构化管理;通过 Agent 赋能的 <b>Explore</b> 平台,你可以用自然语言唤醒历史记忆,由系统动态生成 RAG 结构化洞察;最终在 <b>Notes</b> 视图中,将高价值的对话精要一键落库,完成从信息捕获、知识召回到深度内化的全链路闭环。</p> </blockquote> <table border="0" width="100%" cellspacing="0" cellpadding="10"> <tr> <td width="50%" align="center" valign="top"> <img src=".github/assets/web-view-1.png" alt="Vesti Explore Intent Analysis" width="100%" style="border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1);"> <br> <sub><b>1. 意图解析与向量检索 (Explore)</b><br>用自然语言向自己的历史思考提问,系统在本地静默完成语义理解与上下文精确召回。</sub> </td> <td width="50%" align="center" valign="top"> <img src=".github/assets/web-view-2.png" alt="Vesti RAG Insights" width="100%" style="border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1);"> <br> <sub><b>2. 生成式洞察引擎 (RAG)</b><br>基于召回的专属记忆,Agent 动态合成带有引用的结构化解答,让长时段的隐性知识显性化。</sub> </td> </tr> <tr> <td width="50%" align="center" valign="top"> <img src=".github/assets/web-view-3.png" alt="Vesti Library View" width="100%" style="border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1);"> <br> <sub><b>3. 全景知识枢纽 (Library)</b><br>打破平台孤岛,通过自动语义标记、智能目录归类与相似度计算,实现跨平台思维资产的一站式管理。</sub> </td> <td width="50%" align="center" valign="top"> <img src=".github/assets/web-view-4.png" alt="Vesti Notes View" width="100%" style="border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1);"> <br> <sub><b>4. 沉浸式策展笔记 (Notes)</b><br>将高价值的对话精要一键归纳落库,在极简的纯文本环境中完成个人知识的最终沉淀与内化。</sub> </td> </tr> </table>知识管理平台是心迹在本轮迭代中引入的第二个产品层次,提供四个核心模块。所有数据读写通过统一的 StorageApi 接口与底层 IndexedDB 通信,UI 层对存储实现完全透明,Local-First 原则在架构边界上得到严格保障。
-
Library(对话知识库):带有主题分类能力的对话库视图,提供三栏布局——左侧为平台过滤器与 Topic 文件夹树,中间为按时间倒序排列的对话卡片列表,右侧为 Reader View,优先展示 Gardener Agent 分析结果与关联笔记入口,原始对话内容采用渐进式披露以控制信息密度。主题文件夹支持层级结构与自动归类规则,用户也可手动拖拽调整,系统从修正行为中持续学习。
-
Explore(RAG 知识问答):基于本地向量知识库的自然语言问答系统。你可以用日常语言询问自己的历史思考,例如"我上个月讨论过哪些关于系统设计的方案",系统在本地向量库中检索语义最相关的对话,将其作为上下文注入 Prompt,生成有来源引用的结构化回答。每条回答底部展示来源对话卡片,可一键跳转回 Library 中的原始上下文——系统的每一个结论都可以被追溯到你自己说过的话。当本地相关度低于阈值时,系统动态切换至大模型世界知识进行兜底,并在回答中明确标注数据来源类型。
-
Network(思维图谱):基于向量相似度矩阵的知识网络可视化。每个节点代表一条历史对话,节点大小映射讨论深度,颜色与平台设计令牌对齐,边的粗细与透明度直接反映语义相似度强弱(阈值 ≥ 0.4 才建立连接)。技术选型为 ECharts 力导向图,在扩展构建环境中规避了 D3.js 的 ESM 兼容性问题,同时提供流畅的物理模拟动画。Hover 显示节点名称,点击节点可高亮关联子网并从侧边栏跳转回 Library。这是"意义来自关系"这一产品信念第一次在界面上获得直接的视觉形式。
-
Notes(策展笔记):所见即所得的 Markdown 写作环境,支持将多篇对话的精华沉淀为永久知识。采用双态无缝切换设计:阅读态展现精美排版,点击瞬间切入无边框编辑区,失焦自动保存并返回渲染态。笔记可关联特定对话,也可作为独立条目存在,并参与向量化流程,在 Explore 问答时享有高于普通对话的检索权重——经过人工策展的知识,在系统眼中也更值得被优先引用。
Gardener Agent(智能分类引擎)
Gardener 是在所有捕获对话的后台异步运行的轻量级智能体,负责将原始对话转化为带有语义标签和主题归属的结构化知识条目。它的执行过程由四个可观测步骤构成,并在 UI 层的 AgentThinkingPanel 中完整呈现:首先对对话进行类型分类(技术讨论、创意探索、问题解决、知识学习、日常闲聊),再根据分类结果动态选择分析策略与工具集,继而完成关键标签提取与主题文件夹匹配,最后进行自我验证以检测语义偏差。
与单步摘要生成不同,Gardener 的决策链具有显式的任务拆解逻辑:对于特征明显的对话,规则引擎直接给出高置信度分类并跳过 API 调用以节省延迟;对于特征模糊的对话,才触发轻量模型介入。每一步的中间结果通过 AgentStep 数据结构持久化,可供用户追溯系统如何得出某个分类结论。当用户手动将对话从一个主题文件夹拖拽到另一个时,系统记录此次修正并微调后续的归类规则,形成一个以人类判断为锚点的反馈闭环。
Related Skills
tmux
349.7kRemote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
async-pr-review
100.4kTrigger this skill when the user wants to start an asynchronous PR review, run background checks on a PR, or check the status of a previously started async PR review.
ci
100.4kCI Replicate & Status This skill enables the agent to efficiently monitor GitHub Actions, triage failures, and bridge remote CI errors to local development. It defaults to automatic replication
code-reviewer
100.4kCode Reviewer This skill guides the agent in conducting professional and thorough code reviews for both local development and remote Pull Requests. Workflow 1. Determine Review Target
