我曾让人工智能代理在一个网络服务上填写列表表单。所有文本字段都已填入。它点击了“保存草稿”。剩下的工作只是附加三个 PNG 图片。
但这一步始终无法成功。
我原以为,如果它能填写表单,就能附加文件。结果发现,这是两种不同的能力,受限于两个不同的位置,而且限制机制的行为取决于你运行 Claude 代码的方式。同一台机器、相同的设置、相同的浏览器扩展程序,却得到不同的结果。
我的环境配置:Windows 11 上的 Claude 代码桌面应用程序、Chrome 浏览器中的 Claude 扩展程序,以及用于计算机操作的桌面自动化服务器。
官方认可的路径首先被阻断
该扩展程序向代理提供了一个名为 file_upload(文件上传)的工具。其描述明确说明了如何使用它,以及不应做什么:
将一个或多个文件上传到页面上的文件输入元素。不要点击文件上传按钮或文件输入框——点击会打开一个原生的文件选择对话框,你无法看到或与之交互。相反,应使用 read_page(读取页面)或 find(查找)来定位文件输入元素,然后使用此工具及其引用标识符直接上传文件。只能上传用户已与此会话共享的文件(附件、会话的输出/上传文件夹,或用户已连接的文件夹);其他路径将被拒绝。单次调用中所有文件的总大小必须保持在 10 MB 以下。
前三句话描述了操作流程,而该流程立即生效:定位输入框,传递引用标识符和路径。问题出在第四句话,一切在此停滞。
无法上传“...”:只能上传用户已与此会话共享的文件。
我尝试了四种“共享”文件的方法。一个是会话启动时就在允许列表中的目录。一个是会话自带的临时文件夹。一个是通过目录连接工具批准的文件夹。还有一个是添加到 settings.local.json 文件中 additionalDirectories(附加目录)项下的文件夹。这四种方法都返回了同样的提示语。
第一种情况值得再次审视。那个允许的目录是会话进行读写操作的地方;我曾让代理在那里生成测试用的 PNG 图片。会话无法上传它在三十秒前刚刚写入同一个明确允许写入的目录中的文件。
将图片附加到聊天中也无济于事,因为在这个界面上,聊天附件永远不会变成实际的文件。模型接收到了图像数据,但没有任何内容保存到磁盘上。我扫描了临时文件夹树、配置文件夹树以及应用程序的数据文件夹:没有发现任何新的 PNG 图片。虽然有一个独立的图像上传工具,但它需要一个 imageId(图像标识符),而聊天附件并不携带此标识符。
这些都不是错误。该描述中的括号内容将“共享”严格限定为三样东西:聊天附件、会话的输出/上传文件夹,以及用户连接的文件夹。
好吧——那就把文件放到这三类位置之一。然而,会话目录中并没有 outputs(输出)或 uploads(上传)文件夹。于是我创建了它们,在每个文件夹中放入一个 PNG 图片,然后再次尝试:
无法上传“...\outputs\test-out.png”:只能上传用户已与此会话共享的文件。
无法上传“...\uploads\test-up.png”:只能上传用户已与此会话共享的文件。
匹配名称并不能改变任何结果。而“用户连接的文件夹”指的也不是目录连接工具,因为该工具已经在被拒绝的列表中。在这个界面上,所列出的三种变通途径全都形同虚设
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。