大家好,我是云途。
上一节,我们让 Codex 第一次修改了文件。操作过程中,你可能看到了权限确认。
这个确认框是在提醒你:Codex 接下来准备修改文件、运行命令、访问网络,或者操作外部服务。
这一节,我们学习怎样看懂确认框。以后按钮名称即使发生变化,你也能根据路径和动作判断该不该允许。
这节课要解决的问题
每次点击确认前,先回答四个问题:Codex 在哪里操作?它准备做什么?谁会受到影响?如果出错,怎样恢复?
- 知道工作区只是当前项目文件夹;
- 分清读取、修改、运行命令、联网和外部操作;
- 遇到高风险动作时先停下来;
- 看不懂权限时先拒绝,并让 Codex 换一个影响更小的做法。
工作区只是当前项目文件夹
工作区就是 Codex 当前打开的项目文件夹。它不应该因为能看到这个文件夹,就顺便读取下载目录、其他项目或整台电脑。
Codex-First-Practice/
├── README.md
├── notes/
│ └── lesson-03.md
└── examples/
└── expected-output.txt如果任务必须读取项目外的文件,Codex 应该先说清原因和具体路径。你确认以后,它才能继续。
把动作分成五个层级
查看文件、目录、日志和配置。通常风险较低,但仍可能涉及敏感信息。
创建、修改、移动或删除文件。必须核对目标路径与恢复方式。
运行测试、构建、脚本或系统命令。命令内部可能继续读写大量内容。
下载依赖、查询网页、调用 API 或把信息发送到外部服务。要核对发送内容和来源。
部署、付款、发消息、提交表单、改数据库、发布或删除云端数据。需要最明确的授权。
同一个命令可能跨越多个层级。例如 npm install 既访问网络,也会向项目写入大量依赖;部署脚本还可能改变远程环境。不要只根据命令看起来熟悉就判断风险。
遇到这些关键动作先停下来
- 删除、覆盖、批量移动或批量重命名;
- 修改用户目录、系统目录或工作区以外文件;
- 安装全局依赖、要求管理员权限;
- 读取密码、密钥、Cookie、生产配置或客户数据;
- 连接生产数据库、服务器、支付或真实账号;
- 发送邮件、发布内容、提交订单或部署上线;
- 使用含通配符、递归删除、未展开变量的命令。
动作越难恢复、影响的人越多、范围越不确定,确认就越应该具体。
不要只看按钮,要读动作本身
# 只查看项目文件
rg --files .
# 安装项目内依赖,会联网并大量写入
npm install
# 高风险:递归删除目标目录
rm -rf /some/path
# 外部影响:把构建发布到远程环境
npm run deploy确认时重点看完整命令、当前目录和目标路径。若命令使用变量或脚本名称,要求 Codex 解释变量解析成什么、脚本内部做什么。看不懂时可以拒绝,并要求先提供只读调查方案。
用四问做权限决定
当前目录与所有目标路径是否属于本轮项目。
读取、写入、执行、联网还是影响外部服务;有没有额外动作。
只影响练习文件,还是会影响同事、客户、真实用户和线上系统。
有原文、Git 提交、快照或数据库备份吗;恢复步骤是否实际验证过。
先不要执行。请把你准备申请权限的动作拆开说明:当前目录、完整命令或工具、会读取和写入的路径、是否联网、是否影响外部服务、失败后恢复方法。然后给出一个权限更小的替代方案。
优先选择权限更小的路径
很多任务可以分成“先调查”和“再改变”。先做只读检查,确认目标文件和原因;再只授权必要的修改。这样即使判断错误,影响也被限制在很小范围。
1. 只读列出相关文件
2. 读取项目规则与配置
3. 说明最小修改计划
4. 修改一个明确文件
5. 运行项目内检查
6. 用户确认后才执行外部动作如果 Codex 一开始就要求管理员权限、全盘访问或生产连接,先追问为什么不能在项目副本、测试环境或更小目录中完成。
敏感信息不因为在工作区里就可以使用
项目中可能意外存在 .env、私钥、数据库地址、客户导出或浏览器会话。它们被看见,不代表本轮任务已授权读取、复制或发送。
- 不要把密码、验证码、恢复码粘贴进提示词;
- 密钥只在需要的受控配置中使用,不在交付报告里回显;
- 网页查询前确认不会把私有源码或数据发到外部;
- 示例与截图要脱敏;
- 发现意外凭据时停止扩散并提醒用户处理。
本节练习:比较三个动作
请先不要执行。分别解释下面三个动作会做什么:A. 读取 README.md;B. 在项目内运行 npm test;C. 把当前版本部署到生产服务器。请说明每个动作会不会修改文件、访问网络或影响线上用户,以及继续前需要检查什么。
同一条 npm test 在不同项目里做的事情可能不同。它可能只运行检查,也可能创建截图、启动浏览器或连接测试服务,所以要先查看项目里的脚本说明。
视频录制与复习提纲
- 用文件树解释工作区边界;
- 现场拆解一个命令的当前目录和目标路径;
- 比较读取、安装依赖和部署的后果;
- 演示拒绝权限后如何要求更小方案;
- 展示密钥误入日志时为什么必须停止;
- 用四问法完成三个权限判断。
看到确认框时,先完成这六项判断
- 我知道当前工作区的完整路径;
- 我能区分读取、写入、执行、联网和外部影响;
- 我会检查命令的当前目录与目标路径;
- 我不会把看见凭据当成使用凭据的授权;
- 我会优先要求权限更小的方案;
- 我知道高风险动作必须先准备可验证的恢复方式。