标题:Claude 聊天限制是 500MB,我们却塞进了 2GB 的用户访谈

HN Shipped with Claude 2026-07-31T23:42:50.182961

两个月前,我们把 Zernote 的界面搬进了 MCP。

我们访谈了 37 位 UX 研究员,其中约 80% 已经在用大语言模型(LLM)做访谈分析。他们的做法是:把访谈记录粘贴到 Claude 里,让它提炼主题。但通常分析到第 7 到 9 场访谈时,模型就开始胡编乱造了。

于是我们做了一个封装层——提供文件夹、访谈、记录、引语等工具,接上 OAuth 认证。这样 Claude 就能读取整个语料库并引用其中的内容。

但我们依然没法关掉原来那个界面。

卡住我们的是一件事:上传限制。

用户研究员经常会把通话过程录成屏幕录像,这些文件动辄 800MB、900MB,有时甚至高达 1800MB。

文件大小可达 800 MB、900 MB,有时甚至到 1800 MB

而 Claude 有一个硬性限制:每个文件不能超过 500MB。

Claude 报错:不能上传超过 500mb 的文件

转机出现在别人的连接器里

我们开始研究其他人是怎么把文件弄进 Claude 的。

Brain Graph 的连接器做到了。他们的工具能把 PDF、幻灯片或音频文件放进自己的知识图谱里。不过他们的上限也很保守:音频大约 150MB,文档只有 35MB,远不足以应付 1800MB 的屏幕录像。

brain graph 组件

真正有意思的不是上限,而是他们的机制。

他们并不是把字节数据通过工具调用推送给模型的,而是打开了一个 widget(小组件)。

Widget 是什么

Anthropic 在 2026 年 1 月发布了 MCP Apps(MCP 应用)。任何连接器都可以给 Claude 提供一个 iframe——一个直接渲染在对话界面里的小型应用。

anthropic 发布了 mcp apps

这个 iframe 并不运行在 claude.ai 上,而是由 Anthropic 从它的沙盒域名提供:

https://<hash>.claudemcpcontent.com

你的 widget 通过这个域名和你的服务器通信。

所以数据路径变成了:用户 → 浏览器 → 代理 → 你的后端。

这就对了。

文件直接从浏览器传到我们的后端,根本不会进入上下文窗口。

签名 URL

接下来的关键是用签名 URL(signed URL)来访问存储桶。

现在,上传过程完全不经过我们的后端了。文件直接从浏览器进入存储服务。文件落库后,控件才会通知后端。

上传到 zernote - 基础控件

上传完成后,文件处理微服务会先检查用户是否有足够的 token 来处理这个文件。额度不足的话,就返回一个 403 错误。

提示词

上传流程结束时,控件可以自动往聊天里插入一段完整的提示词:包含已上传文件的 ID,以及接下来的操作指引。

自动粘贴的提示词

这段提示词用英文撰写,末尾会附上一条请求,让模型用用户自己的语言来回复。

界面设计

最后一个细节,也相当关键:外观。

控件会以 HTML 区块的形式渲染在聊天窗口中。如果样式不用心做,界面看着就会很扎眼,和对话氛围格格不入。

设计前

我们把这个也搞定了。

上传访谈

彩蛋

我们还着迷于一件事:通过 MCP 和控件来使用自家的工具。

你现在读的这篇文章里的配图,就是通过这种方式上传的。

痴迷

试试看

这个版本的 MCP 已经在我们的连接器中上线了,可以免费试用。

查看原文