LeifDiao/codex-radar

GitHub: LeifDiao/codex-radar

一款 Codex CLI 插件,通过解析本地会话日志对用户与 Codex 的协作质量进行九维评分并生成带有可执行建议的诊断报告。

Stars: 16 | Forks: 0

# Codex Radar 🌏 [中文版](./README_zh.md) · 📖 [方法论](./docs/METHODOLOGY.md) · 🖥 [实时预览](https://leifdiao.github.io/codex-radar/) · ⚖️ [许可证](./LICENSE) Screenshot 2026-07-10 at 10 51 27 AM ## 核心功能 **🎯 读取你真实的 Codex 会话,而非合成提示词。** Codex Radar 解析你的 agent 已经写入的真实 JSONL 文件 —— 你发送的每一个提示词、每一条 shell 命令及其退出码(包括新旧 rollout 格式)、每一次 `apply_patch` 编辑、每一次计划更新、MCP / 网络搜索 / subagent 调用。Subagent 线程会被排除(因为它们的“用户消息”是 agent 自己生成的),而 `codex exec` 批处理运行会被判定为自动化配置,而非对话。 **💬 你的 Codex 会为你写下指导建议,而不仅仅是打分表。** 一个确定性的解析器会提取事实,**并在代码中计算所有公式基线** —— 天然支持复现。随后,你自己的 Codex 模型会应用一个有界且附带证据引用的调整(根据数据置信度为 ±5/±10/±15),并撰写自由格式的诊断报告。每一项声明都引用了你真实会话中可通过 ID 寻址的证据单元。 **📋 建议是分类明确的干预措施,而非陈词滥调。** 提示词重写、工作流指南、即用型配置文件(包括生成的 `AGENTS.md` 草稿)、工具引入策略,以及完成定义(definition-of-done)流程 —— 每一条都基于引用的证据,每一条都带有一个可在你下次报告中核验的 `verifyBy` 指标。 **⚖️ 感知项目类型的权重计算。** 对一个 3 条消息的修复任务的评判标准,不同于一个包含 50 次会话的功能开发 —— 也不同于一个 200 次运行的图像 pipeline。Codex Radar 会自动对每个项目进行分类(`one-shot` / `feature-build` / `long-running` / `learning` / `automation`)并应用不同的分类权重。当某个信号确实无法评估时,该维度会被标记为 **N/A**,而不是伪造结果。 **🛠 评估你驾驭平台的能力,而不仅仅是交流方式。** 命令成功率、计划步骤完成度、基于 server 的 MCP 使用及错误率、subagent 编排生命周期(启动与实际关闭的对比)、网络调研、技能、上下文清晰度。这里的证明(Proof)意味着实际运行过的验证 —— 仅靠一句 `echo 验证` 是不算数的,而针对失败测试所做出的反应则会为你赢得积分。 **📈 每次运行都会记住上一次的结果。** 报告会保留本地历史记录 —— 第二次运行会显示分数趋势和各维度的变化值(“自上次运行以来:Proof Check +9”),通过每条建议的 `verifyBy` 形成闭环。 **🔒 100% 本地运行,零遥测。** 以只读方式访问 `~/.codex/sessions`。无需 API key,不连云端,没有网络调用。报告是经过转义的单文件 HTML,会被写入 `~/.codex-radar/reports/`。 ## 报告包含的内容 让 Codex 运行该插件,你会得到一个单文件的 HTML 仪表盘,其布局就像一份指导报告 —— 先给出结论,只需点击一下即可查看证据: **结论 (Verdict)** —— 你的 S-D 级评分和一句话见解、你正在被评判的项目画像、真实的 9 维雷达图,以及(从第二次运行开始的)分数趋势。 **核心解读 (Key Reads)** —— 以引言形式呈现的核心诊断,外加两张标题卡片:你的**最强信号**和你的**主要瓶颈**,每张卡片都固定在某个维度上,点击即可查看其评分依据。完整的协作画像和跨类别的模式解读就在下方不远处。 **行动计划 (Action Plan)** —— 最需要优先执行的建议会被重点标出,附带其引用的证据、可直接复制的提示词,以及一个可在你下次报告中核验的 `verifyBy` 指标;其余分类明确的建议(提示词重写、工作流指南、配置文件、工具引入、验证流程)会折叠成单行显示 —— 此外,如果你的项目缺少 `AGENTS.md`,还会提供一份生成好的草稿。 **评分卡 (Scorecard)** —— 三个类别区块,每个区块的评分范围为 0-100,并包含其 3 个维度: | 类别 | 维度 | | --- | --- | | **Communication (沟通)** | Lock-On 瞄准力 · Scene Setting 铺场力 · Steering 校准力 | | **Engineering (工程)** | Toolcraft 工具调度 · Architecture 工程脚手架 · Tempo 推进节奏 | | **Outcome (结果)** | Efficiency 产出效率 · Proof Check 验证意识 · Completion 闭环完成 | 每个维度所在行都可以展开,查看其公式基线、有界且附带证据引用的调整、推理过程,以及自上次运行以来的各维度变化值。 **附录 (Appendix)** —— 默认折叠:摩擦点(频繁重试、纠正、中止的对话回合)、近期会话的深入分析、引用的证据单元,以及平台指标 —— 工具类别、基于 server 的 MCP 使用情况、subagent 编排生命周期、计划完成度、上下文清晰度、项目资产、命令成功率。 ## 安装 **第 1 步** — 添加插件市场(此代码库本身就是一个 Codex 插件市场): ``` codex plugin marketplace add LeifDiao/codex-radar ``` **第 2 步** — 安装插件: ``` codex plugin add codex-radar@codex-radar-marketplace ``` **备选方案(本地检出):** ``` git clone https://github.com/LeifDiao/codex-radar.git ~/codex-radar codex plugin marketplace add ~/codex-radar codex plugin add codex-radar@codex-radar-marketplace ``` 安装后请开启一个**新线程**,以便 Codex 加载新技能。 ## 使用 Codex Radar 通过自然语言运行 —— 你无需记忆任何 slash 命令。在新线程中,输入: ``` Run Codex Radar on this project ``` 1. Codex Radar 会在本地会话历史记录中检测你当前的工作目录,并询问是否要对其进行分析。 2. 进行确认,或者从最近的项目列表中选择。 3. 它会解析会话并进行评分 —— 只需几秒钟,纯 Node 运行,无需等待模型。 4. 仪表盘将被写入 `~/.codex-radar/reports/`,并打印出路径供你打开。 使用诸如 *“分析我的 Codex 协作情况”* 或 *“创建一份 Codex Radar 报告”* 这样的初始提示词也可以。 ## 环境要求 - 带有插件支持功能的 **Codex CLI** - **Node.js 18+** - 无需 `npm install`,无需构建步骤,无需服务器 ## 隐私 你的会话数据始终保留在你的机器上: - 所有操作均在本地运行 —— 无网络调用,无需 API key,无遥测 - 对 `~/.codex/sessions`、`~/.codex/archived_sessions` 和 `~/.codex/session_index.jsonl` 的访问是只读的 - 报告会写入 `~/.codex-radar/reports/`(临时 JSON 会写入 `~/.codex-radar/temp/`) - 项目资产检测只会检查 `AGENTS.md`、`.git` 或测试文件夹等文件是否存在 —— 绝不会读取其内容 - 报告中可能会包含你自己提示词的简短片段作为证据 —— 请将此 HTML 视为私密文件,除非你有意分享 请参阅 [PRIVACY.md](./PRIVACY.md) 获取完整的数据流向说明。 ## 评分原理 **分为三层,对标 [Claude Radar](https://github.com/LeifDiao/claude-radar):** 1. **事实 + 基线** — `parse-codex-project.mjs` 对会话进行分类(interactive / automation / subagent),将工具调用及其输出进行关联(兼容新旧两种 rollout 格式),提取可量化的信号以及可通过 ID 寻址的证据层(atoms, episodes, incidents),并**在代码中计算全部 9 项公式基线**。确定性过程:相同的输入 → 相同的事实,相同的基线。 2. **调整 + 诊断** — 你自己的 Codex 模型会读取事实和 `data/rubric.json`,对每个维度应用有界且受置信度限制的调整,撰写有事实依据的观察结果、诊断报告,以及基于各维度方案生成的分类建议。 3. **渲染** — `render-report.mjs` 验证报告 schema,将其追加到本地历史记录中,注入趋势和变化值(delta),最后生成一个独立的单文件 HTML。 分析过程完全在你自己的 Codex 会话中运行 —— 该插件本身不发起任何网络调用,也不需要单独的 API key。 👉 [阅读完整方法论](./docs/METHODOLOGY.md) ## 透明的评分准则 所有的评分输入都保存在 [`plugins/codex-radar/data/rubric.json`](./plugins/codex-radar/data/rubric.json) 中: - 9 个维度定义(English + 中文)、调整指南,以及基于各维度的建议方案 - 5 种项目画像(包括 `automation`)以及针对每种画像的分类权重表 - 基于置信度的调整上限和评级阈值(S / A / B / C / D) 想让评分符合你团队的标准吗?编辑 `parse-codex-project.mjs` 中的评分准则和可执行公式 —— 然后运行 `node --test tests/*.test.mjs`;测试固件集能确保解析器在两种 Codex rollout 格式下都保持准确可靠。 ## 仓库布局 此代码库本身就是一个 Codex 插件市场。 ``` codex-radar/ ├── .agents/plugins/marketplace.json # Codex marketplace manifest ├── .github/workflows/test.yml # CI: syntax checks + fixture tests ├── docs/ │ ├── index.html # GitHub Pages landing page │ ├── METHODOLOGY.md / METHODOLOGY_zh.md # scoring spec (EN + 中文) ├── tests/ # fixture-based regression suite (node --test) └── plugins/ └── codex-radar/ ├── .codex-plugin/plugin.json # plugin manifest ├── data/rubric.json # 9-dim definitions, recipes, profile weights ├── viewer/template.html # the single-file dashboard shell └── skills/analyze/ ├── SKILL.md # orchestration: detect → parse → adjust → render └── scripts/ ├── lib.mjs # shared helpers + incremental meta cache ├── signals.mjs # message classifiers, proof/exit-code extractors ├── list-codex-projects.mjs # project list: kinds breakdown + noise folding ├── compute-baseline.mjs # your per-session metric distributions (cached) ├── parse-codex-project.mjs # facts + evidence + computed baselines └── render-report.mjs # validate → history/delta → single-file HTML ``` 零运行时依赖。 ## 许可证 Codex Radar 基于 **CC BY-NC 4.0** 协议发布: - ✅ 对个人、教育、研究和任何非商业用途是**免费**的 - ✅ 欢迎**复刻 (Forking)、修改、分享** —— 请标明原始代码库并注明修改内容 - ❌ **商业用途**(打包进付费产品、在营利性公司中超出个人范围的使用、付费的 SaaS 托管、出售基于该评分的报告/分析)需要单独获取授权 **如需商业授权**,请联系:**leifdiao@gmail.com** 请参阅 [LICENSE](./LICENSE) 了解完整条款。 *专为关注 AI 协作质量的人士而打造。*
标签:AI辅助编程, Codex, MITM代理, SOC Prime, 代码质量分析, 可视化面板, 多模态安全, 开发工具