你有没有算过,一天里要给AI解释多少次项目背景?
我算了。平均17次。不是和AI聊17个话题,是同一个项目,17次从零开始讲上下文。
![]()
更烦的是第18次——你明明记得某段逻辑写在某个文档里,但就是想不起文件名,搜索也搜不到,最后只能凭印象重写一遍。写完之后才发现,老版本就在三年前那个已经弃用的Confluence空间里。
这就是我现在的工作状态:编辑器、终端、笔记、任务列表、AI助手,每个工具单独用都没问题,合在一起却连"保持上下文同步"这种基础需求都满足不了。
于是我做了一个决定:与其继续给每个工具当翻译,不如建一个它们都能读写的本地中心。
这个叫DeepThink的项目,本质上是一个实验:如果数据真正属于用户,而不是属于某个应用,开发工作流会变成什么样?
先解决"数据在哪"的问题
我的核心需求很矛盾:想要一个统一的本地工作空间,又希望这些数据能在Mac的每个角落被调用——而不是被困在某个应用的沙盒里。
DeepThink的底层设计直接回应这个矛盾。数据 persistence 完全本地化:SwiftData处理结构化数据,原始内容以Markdown格式存在磁盘上,向量嵌入也放在本地目录(~/DeepThink/)。没有云端同步的魔法,也没有专有格式的绑架。
但"本地"不等于"孤岛"。这里有两个关键接口:
MCP服务器。这是让外部工具能读写DeepThink数据的管道。MCP(Model Context Protocol)是Anthropic推动的开放标准,简单说就是给AI助手和编辑器发了一张"访问你的工作空间"的通行证。如果你的IDE或Claude客户端支持MCP,它查询项目上下文的方式就和DeepThink自己的UI完全一致。
deepthink CLI。覆盖那些没有MCP支持的场景:Shell脚本、SSH远程会话、快速记录想法,或者临时想从命令行捞一段上下文。不需要打开任何图形界面。
这两个接口的组合意图很明显:数据住在你的机器上,但能力要流到你的整个工作流里。
再解决"怎么找"的问题
把整份代码库扔进Claude对话,这种做法我试过太多次。结果总是相似的:token烧得飞快,关键信息淹没在噪音里,模型还是找不到那个藏在第47行的关键判断。
DeepThink的检索层用了混合RAG(Hybrid RAG):BM25关键词搜索 + 语义向量搜索并行运行。技术实现上,语义部分基于Apple原生的NLEmbedding框架,完全本地计算,不需要把数据发往外部API。
实际效果是分层的:
精确匹配留给关键词。函数名、文件名、特定术语——这些你记得准确拼写的内容,BM25能直接定位。
模糊意图留给语义。只记得"大概和缓存失效有关,但忘了具体怎么表述",向量搜索能把相关段落捞上来。
最终给AI的上下文是窄而精的摘录,而不是整份haystack。这和生产级RAG系统的核心原则一致:检索要窄,生成才能准。
Claude的位置
DeepThink没有试图替代编辑器或终端。Claude的集成通过官方CLI(claude login)完成,对话时自动叠加刚才说的那层检索结果。
关键变化是成本结构。以前每开一个新对话,都要重新上传项目背景;现在上下文已经索引在本地,Claude每次只需要读取相关片段。这意味着"随时问一句"变得可行——不需要再为每次轻量交互支付沉重的token税。
还有一个设计细节:DeepThink内部支持/deepthink命令,可以在对话中直接触发工作空间查询。这个边界很重要——AI是客户端之一,不是数据的拥有者。
这到底改变了什么
用了一个月之后,最明显的感受不是某个功能有多惊艳,而是某些 friction 消失了。
我不再需要维护一份"给AI看的项目README"。以前为了和Claude有效协作,我得专门写一份浓缩版上下文,还得记得每次架构变动后去更新它。现在这份上下文就是工作空间本身,实时反映我实际在做什么。
终端和GUI之间的切换也更顺畅。在Shell里快速记录一个想法,deepthink add "记得重构那个异常处理",过会儿在图形界面里整理成正式任务——数据是同一套,只是交互方式不同。
最意外的是对"本地优先"的重新理解。我之前以为本地优先意味着牺牲便利性,但MCP和CLI的组合反而让数据比那些云同步的SaaS更"在场"——它同时服务于人机交互和机器与机器的交互,不需要经过任何专有API的中转。
还没解决的问题
这个方案有明显的边界。首先是平台锁定:SwiftUI和Apple的嵌入框架意味着短期内没有跨平台计划。其次是协作真空——单人工作流很完整,但团队共享仍然需要回到传统的Git + 文档模式。
还有一个更深层的问题:当AI助手能读写你的工作空间时,"意图"和"执行"的边界开始模糊。我设了一些基本护栏(比如CLI的只读模式、MCP服务器的权限分级),但说实话,长期的人机协作规范还在摸索中。
DeepThink目前是我个人的生产工具,代码没有开源。写这些不是为了推荐某个产品,而是记录一个观察:当开发者开始用MCP这类开放协议重构自己的工作流时,"应用"的概念本身在松动。
数据属于用户,能力属于生态,界面只是临时的投影——这个理念在消费软件里喊了很多年,但在开发工具领域,我们可能才刚刚开始真的尝试。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.