刚 clone 一个项目,5 分钟搞懂整体结构:
# 1. 建索引
codechat ingest
# 2. 项目概览
codechat summary
# 3. 核心入口在哪?
codechat ask "这个项目的入口文件是哪个?main函数在哪里?"
# 4. 数据流怎么走?
codechat agent "用户请求从进入到返回的完整数据流是什么?"输出效果:
Step 1 → list_dir 了解项目结构
Step 2 → search 找到 main/入口
Step 3 → read_file 读取入口文件
Step 4 → search 追踪路由/处理函数
Answer:
数据流: main.py:12 → Router.dispatch() → Handler.process() → Response
线上报错,只知道出问题的函数名,需要追踪完整调用链:
# 从报错函数往上追
codechat trace "process_payment"
# 往下看这个函数调用了什么
codechat agent "process_payment 函数内部调用了哪些其他函数?每个调用的参数和返回值是什么?"
# 搜相关的异常处理
codechat find "PaymentError|payment.*exception|raise.*payment"写完代码准备提 PR,先让 AI 审一遍:
# 全项目审查
codechat review
# 只审查你改的文件
codechat review src/auth/middleware.py
# 专门找安全问题
codechat agent "这个项目有没有 SQL 注入、路径遍历、敏感信息泄露的风险?逐个文件检查"
# 找 TODO/FIXME/HACK
codechat find "TODO|FIXME|HACK|XXX|TEMP"想重构一个模块,先搞清楚谁依赖它:
# 谁调用了这个函数?
codechat agent "所有调用 UserService.create 的地方,列出每个调用点的文件和行号"
# 这个类被哪些文件继承/使用?
codechat find "extends BaseHandler|import BaseHandler"
# 对比重构前后的两个实现
codechat compare src/old_auth.py src/new_auth.py给某个模块写单元测试:
# 分析函数签名和边界
codechat explain "chunk_file"
# 生成测试用例建议
codechat test-suggest "VectorStore.query"
# 找这个模块的输入来源(可能的边界值)
codechat agent "chunk_file 的参数来源是什么?哪些地方调用了它?参数可能有哪些边界值?"输出效果:
chunk_file 在 3 处被调用:
1. cli.py:116 — 传入文件内容,可能为空/超长/二进制
2. agent.py:230 — ReadMultipleTool 调用
3. tests/test_chunker.py — 测试调用
建议测试用例:
- 空文件 → 应返回 []
- 超大文件 → 应分块
- 只有注释的文件
- 混合语言(Python + SQL)
读一个用了设计模式的项目:
# 找设计模式
codechat agent "这个项目用了哪些设计模式?(单例、工厂、观察者、策略等)每个模式在哪个文件"
# 找抽象层/接口
codechat find "class.*ABC|class.*Base|class.*Interface|class.*Protocol"
# 理解错误处理策略
codechat agent "这个项目的错误处理策略是什么?是集中处理还是分散在各处?用的是 exception 还是 error code?"程序跑得慢,找性能问题:
# 找循环和嵌套
codechat find "for.*for|while.*for"
# 找数据库查询
codechat find "\.query\(|\.execute\(|SELECT.*FROM|\.find\("
# 找没有缓存的重复计算
codechat agent "有没有在循环里重复计算相同结果的地方?有没有可以用缓存优化的热路径?"代码缺注释,让 AI 帮忙补:
# 找没注释的函数
codechat find "^[ ]*def [a-z]" # 找所有函数定义
# 让 AI 解释每个函数
codechat explain "scan_files"
# 生成 API 文档骨架
codechat agent "列出所有公开函数的签名和一句话描述,格式:- `函数名(参数)` — 用途"某个配置值在多处使用,想搞清楚影响范围:
# 追踪环境变量使用
codechat find "DASHSCOPE_API_KEY|OPENAI_API_KEY|OLLAMA"
# 追踪配置读取
codechat agent "DASHSCOPE_API_KEY 在代码中的完整传播路径是什么?从读取到最终使用"
# 找硬编码的值
codechat find "\"localhost\"|\"127.0.0.1\"|\":8080\"|\":3000\""想加一个新功能,需要知道改哪些文件:
# 找类似功能的实现
codechat ask "现在是怎么处理 JSON 文件的?我想加一个 YAML 支持"
# 找需要改的入口点
codechat agent "如果要给这个项目加一个 export markdown 功能,需要改哪些文件?每个文件要改什么?"
# 找现有的扩展点
codechat find "register|plugin|extension|hook|callback"# 基础问答
codechat ask "问题"
# 深度探索(自动规划+工具调用+记忆)
codechat agent "问题" # 默认 5 步
codechat agent "问题" -s 3 # 限制 3 步
codechat agent "问题" --no-plan # 跳过规划
# 专业分析
codechat explain "目标" # 解释
codechat review # 审查
codechat find "模式" # 搜索
codechat summary # 架构
codechat trace "函数" # 调用链
codechat compare A B # 对比
codechat test-suggest "目标" # 测试建议