托管代理的下载文件夹问题不是权限开关,而是机器边界
摘要
文章解释了托管AI代理无法访问本地文件(如下载文件夹)的原因在于它们在临时远程容器中运行,而非权限设置。文章对比了两种解决方案:本地MCP服务器或一个在本地持有OAuth令牌和文件句柄的桌面进程。
上周花了不少时间试图让一个托管代理在同一任务中查看我下载文件夹里的合同、Slack中的一条消息以及Drive中的一个文档。它一直说无法访问我的电脑,我原以为这是某个我还没开启的设置。但这根本不是设置问题。托管代理是在别人的机器上的临时容器中执行工具调用的。你的磁盘从未挂载到该容器中,因此没有任何权限可以授予访问权——它所能看到的文件系统完全是另一个文件系统。上传文件会得到一个副本,然后代理基于快照进行推理,而真正的文件仍在不断变化。这引出了两种能真正解决问题的方法:云客户端调用的本地MCP服务器,或一个在同一地址空间中持有你的OAuth令牌和本地文件句柄的桌面进程。我最终选择了第二种方法(在Mac上使用Runner),部分原因是MCP路线仍然要由客户端决定哪些信息被传递上去,部分原因是我想让审批关卡位于写入操作而非读取操作上。这里的大部分讨论都集中在模型和编排层上。但真正让我做出决定的原因比这两者都更简单:进程在哪里运行,以及它因此能看到什么。使用AI辅助撰写
相似文章
在 VPS 上运行我的智能体
作者概述了一种在隔离 VPS 上运行 AI 编码智能体的方法,旨在实现自主、异步工作,同时不危及本地机器的安全性。
运行本地代理而非云端代理的理由 #645
解释了运行本地代理而非云端代理的原因,强调了隐私和控制的优势。
AI 编码代理在接触文件或运行命令之前需要本地安全边界
讨论 AI 编码代理中需要本地安全边界以防止未经授权的文件访问或命令执行。
你们当中那些在生产环境中运行AI代理的人——实际上是如何管理它们的权限的?
本文探讨了工程师如何管理生产环境中AI代理的权限,强调了普遍存在的权限过大和缺乏审计追踪的问题。
如何在不让代理拥有写入权限的情况下授权数据库访问?
一位开发者分享了一种解决方案,通过MCP服务器为AI代理提供只读数据库访问,该服务器强制实施READ ONLY事务和突变防护,防止写入操作并降低影响范围。