codex需先构建完整调用图谱才能准确识别死代码;再按模块、生命周期或执行路径聚焦排查,最后通过入口追溯与反射扫描验证可达性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

想快速定位项目中长期未被调用、已失效或被新逻辑替代的代码段,避免手动翻查几十个文件浪费时间,得让 Codex 基于调用关系、引用链和执行路径做语义级识别,而不是靠 grep 简单匹配函数名。
先让 Codex 构建完整的调用图谱
进入项目根目录后运行 codex,等待 “Analyzing project…” 完成。此时 Codex 已加载 AST 并建立模块间 import/export 关系,但尚未生成调用图。必须主动触发:
输入:“请构建当前项目的完整函数调用图谱,标出所有定义后从未被直接或间接调用的函数、类方法和顶层变量。”
这一步不能跳过——没有图谱,后续所有“未使用”判断都是静态字符串扫描,极不可靠。
聚焦可疑区域,缩小排查范围
方法一:按模块边界过滤
如果你知道某块功能已被下线(比如旧版支付网关),直接说:“请列出 【src/payment/legacy】 目录下所有未被 【src/app.ts】 或 【src/main.ts】 任何路径导入的文件。”
Codex 会逆向追踪 import 链,排除掉仅被测试文件引用的情况,只保留真正“断连”的源码。
方法二:按生命周期特征标记
输入:“找出所有被标记为 @deprecated 且近 90 天内无 git commit 修改记录的 TypeScript 接口定义。”
它会交叉比对 JSDoc 注释 + Git 历史 + 类型声明位置,比单纯搜 @deprecated 准确得多。
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
验证是否真没用:模拟执行路径
第一步:确认入口点
输入:“当前项目实际生效的启动入口是哪个文件?请列出所有可能被 CLI、Web Server 或定时任务触发的顶层执行路径。”
Codex 会返回如 bin/www.js、scripts/deploy.ts、src/cli/index.ts 等真实可执行入口,而非只是 package.json 的 main 字段。
第二步:反向追溯可达性
对任一候选“死代码”文件,输入:“这个文件中的 【export function legacyAuth()】 是否出现在上述任意入口路径的调用栈中?如果不在,请展示最近一次被调用的 commit hash 和日期。”
它不会只查 import,而是模拟从入口开始的完整控制流,连动态 require() 和 Webpack 的 require.context() 都会纳入分析。
第三步:检查运行时反射调用
输入:“扫描所有使用 Function constructor、eval、require(‘./’ + varName) 或 Reflect.getMetadata 的地方,确认它们是否可能间接引用到 【src/utils/old-helpers.ts】。”
这类代码 Codex 不会默认纳入调用图,必须显式要求检查,否则会漏掉关键反射路径。










