[English](README.md) · **简体中文** # CodexQA Code Wiki
**把仓库变成一页架构 Wiki:有哪些模块、谁调用谁、调用多少次、从哪读起。事实部分不需要模型。** CodexQA 先给仓库建索引,再把符号调用图切成模块。本技能的脚本把导出结果整理成一份简报,Agent 只往 `notes.json` 里写简短的名字和句子,脚本再渲染出一个自包含的 HTML 页面。Agent 不画图、不改 HTML,所以页面不会和代码对不上。 - **从哪读起** —— 例如「要改支付回调:P06 → P04 → P07」,相邻两步之间一定有真实调用 - **架构图** —— 按调用关系分组,线宽代表调用次数,标出枢纽;悬停可看一个模块的全部调用 - **模块卡片** —— 做什么、调用和被调用(带次数)、对外接口、关键流程、可点到源码的文件 - **搜索** —— 模块、符号、文件;按 `/` 聚焦 - **离线可用** —— 单个 HTML 文件,白天 / 黑夜主题,手机可读,可打印 `codexqa-code-wiki` 回答的是**架构和上手**问题。它不审 PR、不圈回归、不打 P0 / P1 / P2。变更影响用 `codexqa-code-analyzer`,代码风险扫描报告用 `codexqa-defect-analyzer`,CodexQA 证据包 HTML 评审用 `codexqa-code-reviewer`。 Skill 和脚本发布在本仓库;依赖的 `@openqa-cn/codexqa` 是单独分发的闭源本地引擎。建索引和导出都在本机完成,不需要 LLM。边界见[已知边界](KNOWN_LIMITATIONS.zh-CN.md)。 --- ## 快速开始 ### 1. 安装 需要 **Node.js >= 18**。 ```bash npx skills add openqa-cn/codexqa --skill codexqa-code-wiki npm install -g @openqa-cn/codexqa --registry https://registry.npmjs.org/ codexqa --help ``` 命令找不到时,把 `$(npm prefix -g)/bin` 加进 `PATH`。 ### 2. 直接说 ```text 给这个仓库做一份代码 Wiki。 ``` Agent 会跑三步: ```bash node /scripts/wiki.mjs brief . # 建索引、导出、打印简报 # … 填写 .codexqa-wiki//notes.json node /scripts/wiki.mjs build . # 校验 notes,生成 HTML ``` 最后给你 `codexqa-code-wiki--YYYYMMDD-HHMM.html`。 ### 3. 继续细调 `加一条改存储层的阅读路径`、`P04 改个名字`、`换成英文`。Agent 改 `notes.json` 再重新 build,索引和事实不变。 想先看个样子?`brief` 之后直接 `build . --draft`,用规则生成的名字出一版,页面顶部会标明是草稿。 --- ## 页面上有什么 | 区块 | 来源 | |---|---| | 标题、一句话介绍、概览 | `notes.json` | | 模块 / 分组 / 独立模块数,导出覆盖了多少索引代码,提交号 | 导出 + git | | 从哪读起(每一步标出调用次数) | `notes.json` 的步骤,按真实调用校验 | | 架构图 | 导出,脚本排版 | | 模块卡片:名字、职责、说明 | `notes.json` | | 模块卡片:规模、调用、被调用、对外接口、关键流程、文件 | 导出 | | 术语、用过的命令、生成时间 | 脚本 | 导出被截断、覆盖率低、工作区有未提交改动、草稿,都会在页面顶部标出来。 --- ## 为什么用这个技能 - **事实和文字分开。** 次数、连线、架构图都来自导出。Agent 只写名字和句子;`build` 会拒绝不存在的模块、相邻两步没有调用的路径、占位符和内部字段名。 - **结果确定。** 同一份导出,分组、枢纽、建议路径和布局都一样。 - **快。** 首次建索引之后,`brief` 几秒完成,`build` 不到一秒。 - **不依赖 CDN 和服务器。** 页面就是一个文件,可以发邮件、当附件、本地直接打开。 --- ## 命令 | 命令 | 用途 | | --- | --- | | `wiki.mjs brief ` | 增量建索引、导出 `wiki inputs`、写简报和 `notes.json` 骨架 | | `wiki.mjs build ` | 校验 `notes.json` 并生成 HTML;没写 notes 时加 `--draft` | | `wiki.mjs check ` | 只校验 | | `codexqa wiki --no-llm` | 可选:把规则页存进 CodexQA Web UI | 参数和退出码见 [`references/cli.md`](references/cli.md)。本技能不跑不带 `--no-llm` 的 `codexqa wiki`,也不跑 `wiki embed` 或 `query wiki`。 --- ## 安装与接入 | 使用位置 | 安装位置或方法 | 能力 | | --- | --- | --- | | **CLI** | `npm install -g @openqa-cn/codexqa` | 建索引、`wiki inputs` | | **Cursor** | 把 `codexqa-code-wiki/` 放到 `~/.cursor/skills/` 或 `.cursor/skills/` | Wiki 工作流 | | **Claude Code** | `~/.claude/skills/` 或 `.claude/skills/` | Wiki 工作流 | --- ## 包内容 ```text codexqa-code-wiki/ ├── README.md / README.zh-CN.md ├── SKILL.md # Agent 流程与规则 ├── KNOWN_LIMITATIONS(.zh-CN).md ├── scripts/ │ ├── wiki.mjs # brief / build / check │ └── lib/ # 数据模型、notes 校验、布局、渲染 ├── assets/ │ ├── wiki.css # 页面样式(内联进 HTML) │ └── wiki.js # 搜索、架构图高亮、主题、导航 ├── references/ │ ├── notes.md # notes.json 怎么写 │ ├── playbook.md # 单个模块、索引自检、落库 │ └── cli.md # 安装 / 仓库标识 / 命令 └── tests/ # node --test;夹具取自本仓库 ``` 在技能目录下运行 `npm test` 跑测试。