你有没有过这样的体验?某个AI聊天工具在浏览器里用得顺手,完全免费,响应也快。可一旦你想把它嵌入到自己的Python脚本、命令行工具或者本地工作流里,事情就变了味——要么找不到官方接口,要么收费高得离谱,要么体验割裂得像两个不同的产品。
一位开发者就被这种“浏览器能用,代码里为何不行”的落差感惹毛了,干脆动手写了个项目,取名DeepWrap。他的目标很直白:既然DeepSeek Chat在浏览器端免费可用,那就要让它在终端、在代码里、在任何开发者习惯的本地环境里同样顺手。
![]()
起心动念很简单,但真干起来,难度远超预期。他最初只是打开浏览器的开发者工具,切到网络面板,想看看几个请求的负载和头信息长什么样。看起来流程不复杂:创建一个聊天会话,发一条提示词,接收流式回复。他以为把这些请求原样重现一下,一个Python SDK和命令行工具就能跑起来。
第一个钉子来得很快。部分请求并不是普通的认证调用,浏览器需要先解出一道工作量证明挑战,而这套逻辑是用WebAssembly实现的。这意味着他不只是重放请求那么简单,得搞清楚挑战如何获取、载荷长什么样、浏览器在何处完成求解,还要逆向出WASM输入输出的行为,再把整个求解步骤用Python重写一遍。项目从这里开始,就不再是个“快速封装”的小脚本。
认证方案的设计同样花了心思。他不想让整个工具依赖用户手动粘贴Bearer令牌——方法可行,但体验太差。于是他加入了基于浏览器的认证流程:启动浏览器,通过远程调试连接,观察经过认证的流量,提取并标准化令牌,再交给SDK和命令行工具重复使用。这套流程实现起来相当折腾,但要让工具用起来像个正经产品,这步绕不开。
等认证和工作量证明都跑通了,剩下的是解析聊天流。这也不是简单的“文本进、文本出”,数据流的结构比预想的复杂。整个过程下来,一个原本在浏览器里轻描淡写就能完成的操作,要在代码层面忠实地复现并封装成可用的开发工具,需要跨过嗅探、逆向、认证、流解析好几个坎。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
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.