当前位置: 首页 > news >正文

打通各大厂的AI工具信息孤岛:我写了一个本地化 AI 上下文同步引擎

先说说背景

目前在我公司里面,我需要负责十几个项目的软件开发和维护(没办法,小公司牛马就得当全干工程师),如果不用 Vibe Coding 来给我打下手,早就撑不住了。

但是随着项目越来越多,更新迭代和维护越来越频繁,Vibe Coding 过程中单次对话的上下文越来越长。有些时候一出点什么问题,或者有些临时插入的需求忘记了,还得去老长一段和 AI 的聊天记录里翻找。又不敢新开对话,害怕有些前置信息又要重新喂一遍,md 这真是太痛苦了。

可能有人问:为什么不用制定好 Rules 和 Skill,这样一个功能进行一次对话不就好了?

有的,兄弟,有的。而且每个项目需求不同,我还给每个项目都制定了对应的 Rules 和专属 Skill。但是怎么说呢,实际开发过程中情况千姿百态,需求是会时不时变的,更何况同时并行十几个项目。

而且,我认为每个模型都有自己的专长。比如 Claude 写代码一流,Gemini 处理长文本一流,ChatGPT 写文案文档一流等等,还有模型价格也不一样。像我这种穷逼程序员,每天都是网页端(白嫖免费额度)和 IDE 换着用,还要提心吊胆担心账号被封导致我的对话记录丢失。

然后我就想,市面上有没有一个工具能够将这些分散在各个平台的对话内容统一管理起来。结果找了半天,要么是必须要你把API Key交出去用他们的套壳客户端,要么就是那种半吊子的网页DOM爬虫,动不动就因为官方前端改版崩掉,根本没有一个真正能解决跨端数据孤岛的方案。

干脆我自己做个轮子好了。

陆陆续续搞了三个星期,白天上班晚上加班,回家还要抽时间接着搞,感觉人都要虚脱了,不过目前终于将第一版搞出来了。

我的思路是这样的:通过写一个Chrome插件,直接在本地网络层(chrome.webRequest)去拦截和抓取对话的API响应记录。IDE端(Cursor和Copilot)就靠插件去监听本地的Session缓存文件。

抓到纯净的JSON数据后,直接上传到自己本地部署的后台(Next.js + PostgreSQL)保存。这样我们就能直接通过一个本地的Web页面,来集中查看所有的对话记录、具体的对话详情、以及这轮对话使用的是什么平台、哪个版本的模型。

目前这版主要跑通了两个核心痛点需求:

1. 全量搜索:支持全文的关键字检索。上周忘了在哪跟AI讨论的表结构,一秒钟就能搜出来。

1. 对话导出:可以直接把对话流导出成md格式。这样换工具或者换IDE的时候,一键把md格式喂给新平台的AI,立马就能做到对话记忆恢复,不用再像个复读机一样重复和AI解释前置条件了。

目前支持的平台有:

ChatGPT/Claude网页版本对话抓取

Vscode Copilot和Cursor IDE对话抓取

(考虑到跟AI聊的通常都是公司的核心业务代码,所以我把核心数据层完全开源了,并且强制要求本地化自托管,不走任何中继服务器,免得泄露代码惹麻烦。)

然后后面我打算将AI功能也引入进去。既然现在已经收集到了所有的上下文信息碎片,就能在平台上继续往下做任务了。比如通过接入本地小模型,去做智能对话分类、把不同平台的对话信息汇总生成长摘要、以及项目层级的隔离分类也都搞上去。

我最终是打算把这个平台做成一个类似于“一人公司”的多智能体工作台(Solvoke Corp)。底层的记忆引擎现在算是打通了,后面的设想是让你不仅能查对话,还能直接在这个平台上调动不同的Agent,把这些上下文碎片直接转化为实际的工程产出。

目前这个底层的上下文同步引擎(Solvoke Synap)已经放在GitHub上了,支持Docker一键跑起来。

一个人为爱发电精力确实有限。如果大家平时写代码也深受这种多平台上下文割裂的折磨,不妨拉下来试试。如果觉得还凑合,求个Star支持一下。也欢迎各位大佬看看架构,在评论区提提优化建议。

GitHub 仓库:[Solvoke Synap](https://github.com/Solvoke/Solvoke-Synap)

GitHub 仓库:https://github.com/Solvoke/Solvoke-Synap

*ps:文章确实是我写的,不过用AI润色了一下,我只能说程序员的文笔,大家懂得都懂*

http://www.jsqmd.com/news/598996/

相关文章:

  • OpCore-Simplify:5分钟极速配置黑苹果EFI的终极指南
  • 盘式电机Maxwell电磁仿真模型(双定单转24槽20极)代码功能说明
  • 【linux基础】小白超详细 Ubuntu 安装教程(AI提供)
  • 智慧农业智慧果园-葡萄成熟度检测数据集 用于葡萄成熟度分类检测应用任务 成熟、半成熟、未成熟三种状态的葡萄图像 YOLO数据集的训练及应用
  • VSCode
  • ngx_http_cmp_conf_addrs
  • Ubuntu22.04下ibus键盘延时与终端光标消失的根治方案
  • 柔性作业车间调度(FJSP)实战指南:如何应对多机器选择的挑战
  • Day23 | 组合总和、组合总和Ⅱ、分割回文串
  • C# WinForm图书管理系统(含完整报告)|基于SQL Server三层架构的图书信息增删改查解决方案
  • Go Context 信号传播机制与取消任务设计
  • 《为什么90%的数字孪生都是假的?》
  • **MQTT协议实战:从零搭建轻量级物联网消息中间件系统**在当前万物互联的时代,**MQ
  • 从‘局部线性模型’到代码:拆解引导滤波(Guided Filter)的数学之美与工程实现
  • Win10/Win11远程桌面报错‘函数不受支持’?5分钟搞定CredSSP加密Oracle修正
  • C++标准库里为什么没有网络库?
  • SeaweedFS高可用集群部署实战
  • 淨界法師 :有福報的人講話厚道,不會傷人,他處處為別人著想
  • 亚马逊德国站VAT发票自动筛选:手把手教你用浏览器控制台JS代码搞定(附Edge/Chrome/Firefox全版本)
  • 安卓党狂喜!纯净无广 BT/磁力/HTTP/FTP满速下载
  • 如何快速将网页转换为Figma设计稿:5分钟完成HTML到Figma的无缝转换
  • 2025届最火的六大AI辅助写作工具推荐榜单
  • 金融级权限设计实战:用RBAC3模型搞定互斥角色、基数限制与操作审计
  • 上午算法相关—计算机等级考试—软件设计师考前备忘录—东方仙盟
  • AI时代传统程序员是否会被替代?深入剖析篇章一
  • 《港口三维空间智能系统完整方案》——从“看不清”到“全域掌控”,港口进入空间智能时代
  • 2025届毕业生推荐的降重复率神器解析与推荐
  • 10、Ansible 生产级故障排查与运维最佳实践
  • 喜马拉雅VIP音频下载器:3分钟学会离线保存付费有声小说
  • Anaconda3新建环境也卡solving?可能是你的Conda版本和镜像源该更新了