HoRain云--Codex 规则与钩子
HoRain云小助手个人主页 个人专栏: 《Linux 系列教程》《c语言教程》⛺️生活的理想就是为了理想的生活!⛳️ 推荐前些天发现了一个超棒的服务器购买网站性价比超高大内存超划算忍不住分享一下给大家。点击跳转到网站。专栏介绍专栏名称专栏介绍《C语言》本专栏主要撰写C干货内容和编程技巧让大家从底层了解C把更多的知识由抽象到简单通俗易懂。《网络协议》本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘一起解密网络协议在运行中协议的基本运行机制《docker容器精解篇》全面深入解析 docker 容器从基础到进阶涵盖原理、操作、实践案例助您精通 docker。《linux系列》本专栏主要撰写Linux干货内容从基础到进阶知识由抽象到简单通俗易懂帮你从新手小白到扫地僧。《python 系列》本专栏着重撰写Python相关的干货内容与编程技巧助力大家从底层去认识Python将更多复杂的知识由抽象转化为简单易懂的内容。《试题库》本专栏主要是发布一些考试和练习题库涵盖软考、HCIE、HRCE、CCNA等目录⛳️ 推荐专栏介绍规则Rules规则文件位置规则文件格式创建规则文件启用规则在配置中启用规则钩子Hooks钩子文件位置创建钩子配置可用事件钩子操作实战示例示例 1自动运行测试自动测试钩子示例 2强制代码审查代码审查钩子示例 3记录日志日志钩子规则与钩子的区别最佳实践规则最佳实践钩子最佳实践常见问题Q: 规则不生效Q: 钩子执行失败会阻止操作吗Q: 可以动态启用/禁用规则吗通过规则Rules和钩子Hooks你可以自定义 Codex 的行为使其更好地适应你的工作流程。本节详细介绍这两个功能。规则Rules规则允许你为 Codex 定义自定义的行为指南应用于所有对话。规则文件位置Codex 从以下位置加载规则~/.codex/rules/- 用户级别规则{项目}/.codex/rules/- 项目级别规则规则文件格式创建规则文件# 我的编码规则## 代码风格- 使用 4 空格缩进- 每行最多 100 个字符- 始终使用 const/let不使用 var## 注释规范- 公共函数必须包含 JSDoc 注释- 复杂逻辑添加行内注释说明- 删除所有调试用的 console.log## 测试要求- 所有新功能必须包含测试用例- 测试文件命名*.test.js 或 *.spec.js## Git 提交- 提交信息使用Conventional Commits格式- 提交前运行 lint 和测试启用规则在配置中启用规则[features]codex_hooks true规则会被注入到每个对话的系统提示中确保 Codex 始终遵循你的编码规范。钩子Hooks钩子允许你在特定事件发生时执行自定义操作。钩子文件位置钩子在~/.codex/hooks.json中配置创建钩子配置{hooks: [{event: on_tool_call,match: shell,action: allow},{event: on_task_complete,action: notify,command: echo Task completed}]}可用事件事件说明on_tool_call工具调用前触发on_task_start任务开始时触发on_task_complete任务完成时触发on_error发生错误时触发on_message收到消息时触发钩子操作操作说明allow允许操作继续deny阻止操作notify发送通知log记录日志custom执行自定义脚本启用钩子功能需要设置[features].codex_hooks true实战示例示例 1自动运行测试每次 Codex 修改文件后自动运行测试自动测试钩子{hooks: [{event: on_tool_call,match: edit_file,action: custom,command: npm test,timeout: 60}]}示例 2强制代码审查在提交前强制进行代码审查代码审查钩子{hooks: [{event: on_tool_call,match: git_commit,action: custom,command: /review,require_approval: true}]}示例 3记录日志记录所有命令执行日志钩子{hooks: [{event: on_tool_call,match: shell,action: log,log_file: /tmp/codex-commands.log}]}规则与钩子的区别特性规则钩子作用时机对话开始时事件触发时主要用途定义编码规范自动化操作配置位置rules/ 目录hooks.json规则和钩子可以结合使用规则定义怎么做钩子定义什么时候做。最佳实践规则最佳实践保持规则简洁明了避免过于严格的限制根据项目需求调整规则钩子最佳实践避免长时间运行的钩子设置合理的超时时间测试钩子行为过度使用钩子可能会影响 Codex 的性能只添加真正需要的钩子。常见问题Q: 规则不生效确保规则文件在正确的位置并启用了codex_hooks特性。Q: 钩子执行失败会阻止操作吗这取决于钩子配置某些钩子失败会阻止后续操作。Q: 可以动态启用/禁用规则吗是的可以通过配置文件或环境变量控制。❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧