01)AI相关-codex hooks(钩子) 使用介绍-使用钩子记录每次修改的文件,和AGENTS.md作用对比 Hook 钩子/AGENTS.md对比对比项Hook 钩子AGENTS.md本质自动执行脚本给 Codex/AI 看的项目规则说明作用方式在特定时机自动运行命令影响 Codex 的行为、判断和交付习惯典型触发PostToolUse、Stop等生命周期事件Codex 读取项目上下文后持续遵守适合做什么机械化、可脚本判断、可自动记录的事情需要理解语义、结合代码内容判断的事情不适合做什么复杂业务理解、自然语言判断、需要 AI 解释的检查强制阻断、稳定执行系统命令、后台审计乱码检测不太适合做“纠正”,只能用脚本扫描特征字符,容易粗糙更适合,能要求 Codex 修改后主动检查中文注释、文案、字符串是否正常乱码纠正不适合,脚本很难可靠判断原意并修复适合,Codex 可以结合上下文判断并修复记录修改文件很适合,可用git diff、git ls-files自动记录不适合自动记录,只能要求 Codex 在回复里说明记录命令执行适合,能从 hook payload 或脚本中记录不适合自动捕获是否显示在对话窗口通常不显示,主要写日志或阻断会体现在 Codex 的回复和执行过程里是否能强制执行较强,脚本触发后自动执行较弱,依赖 Codex 遵守说明配置复杂度较高,需要写 JSON、PowerShell/脚本、处理编码和路径较低,直接写自然语言规则可维护性偏技术化,适合稳定规则偏说明文档,适合团队约定失败表现脚本报错、权限问题、日志路径问题、hook 不触发Codex 可能遗漏,需要在规则里写清楚最佳用途审计日志、文件列表、命令记录、简单格式检查、阻断危险操作编码规范、乱码检查、注释要求、业务边界、交付前检查要求你的当前场景用来记录每轮修改文件列表很合适用来要求 Codex 每次修改后检查乱码更合适需求推荐记录本轮改了哪些文件Hook记录新增文件、修改文件Hook记录命令、时间、工作目录Hook检查并纠正乱码AGENTS.md要求 Codex 回复时说明是否检查过乱码AGENTS.md强制后台自动执行某个脚本Hook让 AI 按项目习惯工作AGENTS.mdcodex钩子应用示例-记录每次修改的文件步骤C:\Users\John目录根据自己电脑路径修改在codex根目录新建 hooks.json (如果之前没创建过则新建)、check_mojibake.ps1C:\Users\John.codex\hooks.jsonC:\Users\John.codex\hooks\audit_changes.ps1hooks.json 示例:{"hooks":{"Stop":[{"hooks":[{"type":"command","command":"powershell -NoProfile -ExecutionPolicy Bypass -File C:\\Users\\John\\.codex\\hooks\\audit_changes.ps1","timeout":30,"statusMessage":"Logging changed and added files"}]}]}}audit_changes.ps1示例:$ErrorActionPreference='Continue'$auditLogPath='C:\Users\John\.codex\hooks\codex_change_audit.log'$rawInput=[Console]::In.ReadToEnd()$inputJson=$nullif(-not[string]::IsNullOrWhiteSpace($rawInput)){try{$inputJson=$rawInput|ConvertFrom-Json-ErrorAction Stop}catch{$inputJson=$null}}functionGet-JsonPropertyValue{param([object]$Object,[string]$Name)if($null-eq$Object){return$null}if($Object.PSObject.Properties.Name-contains$Name){return$Object.$Name}return$null}functionWrite-ListBlock{param([System.Collections.Generic.List[string]]$Lines,[string]$Title,[string[]]$Values)$Lines.Add("${Title}:")if($null-eq$Values-or$Values.Count-eq0){$Lines.Add('- none')return}foreach($valuein$Values){if(-not[string]::IsNullOrWhiteSpace($value)){$Lines.Add("-$value"

相关新闻

最新新闻

ST Open.MEMS:免费商用,将MEMS算法开发从数月压缩到几天

ST Open.MEMS:免费商用,将MEMS算法开发从数月压缩到几天

1. 为什么Open.MEMS能缩短你的开发周期1.1 先从MEMS开发的痛点说起做传感器产品开发的工程师应该都有同感:一套MEMS方案从选型到量产,真正耗时间的往往不是硬件设计,而是算法部分。加速度计和陀螺仪原始数据好拿,I2C或SPI读出来就…

2026/8/27 2:42:34
机器人开发的核心不是取代人类,而是用ROS2实现重复任务自动化

机器人开发的核心不是取代人类,而是用ROS2实现重复任务自动化

HokMind 创始人最近提出的一个判断值得机器人开发者停下来想一想:机器人不是为了取代人类,而是让人从“无聊工作”中解放出来。这句话听起来像行业口号,但如果从工程视角拆开看,它其实是在定义边界:哪些任务应该交给机…

2026/8/27 2:42:34
Matlab数学建模实战:从数据清洗到多元回归分析

Matlab数学建模实战:从数据清洗到多元回归分析

1. 项目概述:从赛题到实战的完整路径看到“2023华数杯C题母亲身心健康对婴儿成长的影响”这个标题,很多初次接触数学建模的同学可能会感到一丝迷茫——这听起来像是一个医学或社会学的研究课题,和数学、编程有什么关系?实际上&…

2026/8/27 2:42:34
一行printf实现终端呼吸感进度条:缓冲区控制核心技术

一行printf实现终端呼吸感进度条:缓冲区控制核心技术

1. 项目概述:用一行 printf 实现“呼吸感”进度条,本质是缓冲区控制的艺术你有没有在终端里跑过一个需要几十秒的脚本,却只能干等、看不到任何反馈?或者写了个文件下载器,却卡在“正在处理…”不动,用户根本…

2026/8/27 2:42:34
蓝桥杯国赛矩阵计数:DFS剪枝与C语言底层优化实战

蓝桥杯国赛矩阵计数:DFS剪枝与C语言底层优化实战

1. 这道题到底在考什么:从“矩阵计数”四个字拆解蓝桥杯国赛的真实意图 “蓝桥杯2019年国赛——‘矩阵计数’(C语言实现)”,光看标题,很多人第一反应是:又一道二维数组遍历题?写个for循环套for循…

2026/8/27 2:42:34
【计算机毕业设计单片机案例】单片机驱动的语音播报智能四分类垃圾桶软硬件实现 融合传感器检测与蓝牙通信的智能垃圾分类设备设计(025104)

【计算机毕业设计单片机案例】单片机驱动的语音播报智能四分类垃圾桶软硬件实现 融合传感器检测与蓝牙通信的智能垃圾分类设备设计(025104)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/27 2:37:33