一个会读仓库、会追证据、会给引用的分析助手
不是“模型直连仓库”的聊天壳,也不是靠文风自信制造正确感的问答器。
可以把它当成什么
- 熟悉陌生系统、线上排障、架构讲解的工程工作台。
- 审批后能在沙箱里走完整改动闭环的变更助手。
不该把它当成什么
- 不是无约束的“让模型自由发挥”问答。
- 不承诺“永远秒答”——它承诺的是可复核。
一个正确预期
- 能证实的尽量证实,证不实的明确标边界。
- 价值在于更稳地把复杂问题拆清楚。
拿它来做什么
八个日常场景,例子可以原样照抄——把文件名、函数名换成你项目里的即可。
接手陌生仓库
这个项目分几层?要理解订单
创建流程,先看哪几个文件?
codrax 索引整个仓库,按证据搭出分层解释。你得到一份带 file:line 引用的架构地图,顺着引用逐个点开即可。
线上 panic / 日志定位
codrax --log /tmp/panic.txt \
-r "这个 panic 哪来的?"
日志先被解析成结构化栈帧,再对齐到仓内当前代码。你得到候选根因、已排除项和仍缺的证据。REPL 里用 /log 附加同理。
性能卡顿 trace 分析
codrax --htrace perf.systrace \
-r "com.example.app 主线程 12.30s–12.45s
掉帧:在等谁?唤醒链是什么?"
支持 HiTrace / atrace / systrace / perfetto 文本 trace,自动抽出掉帧、阻塞与唤醒链。提问带上线程名与时间窗会明显更准;REPL 里用 /htrace 附加。
跨仓 workspace 查调用
api-go 暴露的 /v1/user 接口在
web-frontend 哪些组件被消费?
在多仓父目录启动即自动发现子仓;/repos focus 固定目标后,跨仓的接口消费方、调用链查询直接命中。
配置 / 行为溯源
timeout 这个配置从哪读的?
默认值多少?CLI 能覆盖吗?
精确值要找到唯一的定义链才会给出,找不到就明确说,而不是报一个像样的数。答案附上定义处与覆盖点的引用。
数据文件盘点与核对
codrax --mode=data -r "汇总当前
目录 CSV 的数值字段,只输出 JSON"
只读地清洗、过滤、关联、汇总本地 CSV / JSONL,严格按你要的格式输出,并附材料消费与对账摘要——算过什么一目了然。
写模式小修小补
/write 修复回调幂等问题并补测试
Auto Pilot 在隔离的 git worktree 里探索、改动、跑验证;低 / 中风险自动推进,高风险才等你审批。确认没问题后 /merge 收回主仓。
无头 / CI 单次提问
codrax -r "这个接口的鉴权逻辑?" \
> answer.md
一条命令、一个带引用的答案,适合脚本与持续集成;日志也能从管道喂进来(kubectl logs … | codrax --log -)。
为什么答案值得信
每条结论带 file:line 引用
引用会与源码逐条核对,编造或对不上的引用进不了正文——你可以直接点开复核。
读不到的不编
只允许引用真正读过的文件;证据不足时明确说“仍缺证据”,不把不确定包装成确定。
日志 / trace 是真解析
panic 栈帧、trace 事件先被结构化提取、再对齐到仓内代码,不是当一段普通文本塞给模型。
写模式永不直接碰主仓
所有改动都发生在隔离的 git worktree 里,合回主仓永远需要你显式执行。
四步从零跑起来
克隆源码、一条 make 构建出二进制。完整说明见使用手册。
获取 codrax
git clone https://github.com/hanchaoqun/codrax.git
cd codrax && make # 输出 ./codrax
构建需要 CGO(macOS 先 xcode-select --install,Debian / Ubuntu 装 gcc musl-tools)。
加进 PATH
echo 'export PATH="/path/to/codrax:$PATH"' >> ~/.bashrc # bash
echo 'export PATH="/path/to/codrax:$PATH"' >> ~/.zshrc # zsh
exec "$SHELL" -l
之后在任何目录都能直接敲 codrax 启动。
配置 providers.yaml
cp providers.yaml.example providers.yaml
# 填 api_key + model,和二进制放同一目录
连接 LLM 凭证,支持任何 OpenAI 兼容服务:OpenAI / DeepSeek / Qwen / 本地 vLLM / Ollama。
cd 进仓库再启动
cd /path/to/your/repo # 先进入要分析的项目
codrax # 再启动交互控制台
答案带 file:line 引用;/help 列出全部斜杠命令。
cd 进你的项目根目录再运行 —— 它分析的就是你启动它时所在的那个目录,运行产物也都写在该目录的 .codrax/ 子目录下。