Pi Coding Agent 的项目信任控制项目本地资源是否加载;工具配置控制模型可调用哪些动作;操作系统或容器权限决定进程实际能访问什么。三个层次应分别理解。
本文按 2026 年 9 月 18 日可查的官方资料说明;命令、配置和默认行为应结合所安装版本核对。
信任项目意味着什么
根据官方安全文档,项目本地设置、扩展、Skills、提示模板和相关资源可能需要信任决策。允许加载项目资源,可能包含执行项目扩展或安装配置中声明的包。
信任项目并不自动把文件访问限制在项目目录内。Pi 作为本地进程,通常继承启动它的用户权限;项目路径主要是工作上下文,不是安全沙箱。
交互与非交互模式
交互启动可以展示信任提示,非交互模式不会等待同样的提示。未保存信任决策时,会按全局 defaultProjectTrust 等规则处理项目资源;一次运行也有明确的允许或忽略项目资源参数。具体行为见设置说明。
因此,同一个目录中的交互运行和脚本运行,可能加载不同资源。遇到“脚本里没有这个扩展”的情况,应检查资源加载与信任状态,而不是立即认定包已损坏。
扩展与工具白名单
Extensions 是可执行代码,可以访问进程环境;Skills 也可能包含脚本或引导模型执行命令。把模型工具限制为读取工具,并不约束所有已加载扩展的程序行为。Packages 的执行范围见官方包文档。
同样,只禁用文件写入工具但保留 Shell,仍可能产生写入。工具设置应按实际动作能力判断,而不是只看工具名称。
容器能提供什么
官方容器化说明介绍了使用外部隔离环境运行 Pi 的方式。隔离效果取决于具体配置:挂载哪些目录、传入哪些凭据、网络是否开放,以及进程拥有哪些权限。
例如,将整个用户目录可写挂载进容器,会扩大容器中任务能够影响的范围。容器这个名称本身不足以证明安全边界,必须检查实际开放的资源。
会话与共享
对话记录可能包含代码片段、工具输出、路径和用户输入。导出或共享会话时,应先检查这些内容是否适合分享;“未公开列出”的链接也不等于只有创建者能够访问。
这属于使用会话分享功能时的数据边界。终止一次模型运行或退出 Pi,不会自动撤销已经写入文件或发送到外部服务的数据。