Nexus Skills 是一个开源工具,解决 AI 辅助开发中最昂贵的问题之一:代码库上下文。当你告诉 AI 编码助手「找出用户验证在哪里处理」时,它要么需要将整个代码库放入其上下文窗口(消耗数千个 token),要么你必须手动搜索并粘贴相关文件(浪费你的时间)。Nexus Skills 通过建立持久、可查询的知识库来弥补这个差距,AI 助手可以用最少的 token 开销进行搜索。
该项目分为两个核心组件。Nexus-mapper 是索引引擎,扫描你的源代码并生成结构化的智能——基于 AST 的依赖关系图、文件结构图、调用层次和变更影响数据。Nexus-query 是搜索接口,AI 助手(或你自己,通过 CLI)可用于查询函数、追踪依赖关系、了解模块关系和评估变更影响。
Nexus Skills 特别巧妙之处在于其阶段闸门工作流程和零依赖理念。映射器在代码库变更时执行一次,而不是在每次查询时执行。查询只返回所需的特定上下文,而不是整个知识库。而且整个工具以纯 Python 实现,无外部依赖——没有 Node、没有繁重的 ML 模型、没有数据库服务器。
Nexus-Mapper 到 Nexus-Query 的流水线是如何运作的?
flowchart LR
subgraph 索引阶段
A[源代码] --> B[Nexus-Mapper]
B --> C[文件结构图]
B --> D[依赖关系图\n基于 AST]
B --> E[调用层次]
B --> F[导入图]
end
subgraph 查询阶段
G[Nexus-Query] --> H{查询类型}
H --> I[查找函数\n定义]
H --> J[追踪依赖\n链]
H --> K[变更影响\n分析]
H --> L[模块\n关系]
end
C --> G
D --> G
E --> G
F --> G
subgraph AI 会话
M[AI 助手] --> G
G --> N[最少上下文\n响应]
N --> M
endNexus-Mapper 生成的主要数据结构有哪些?
| 数据结构 | 描述 | 查询使用场景 |
|---|---|---|
| 文件结构图 | 包含文件类型、大小和修改时间的目录树 | 「auth 包中有哪些模块?」 |
| AST 依赖关系图 | 从抽象语法树提取的函数调用、类继承和导入关系 | 「哪些函数调用了 validate_user()?」 |
| 调用层次 | 从入口点到叶子函数的完整调用链 | 「login 的完整调用路径是什么?」 |
| 导入图 | 按模块和外部包组织的所有导入语句 | 「我们使用了哪些第三方库?」 |
| 变更影响索引 | 受特定函数或模块变更影响的文件 | 「如果我变更数据库架构,哪些会受影响?」 |
阶段闸门工作流程是什么?
sequenceDiagram
participant Dev as 开发者
participant Mapper as Nexus-Mapper
participant Query as Nexus-Query
participant AI as AI 助手
Note over Dev,AI: 阶段 1:分析
Dev->>Mapper: 在代码库上执行 mapper
Mapper->>Mapper: 解析 AST,建立图形
Mapper->>Dev: 知识库已建立(./nexus/)
Note over Dev,AI: 阶段 2:实现
Dev->>AI: 「为 login 加入错误处理」
AI->>Query: 「找 login 函数」
Query->>AI: 「login() 在 auth/auth.py 第 42 行」
AI->>Query: 「显示 auth 模块的依赖关系」
Query->>AI: 「导入:jwt, database, cache」
AI->>Dev: 以完整上下文编写代码
Note over Dev,AI: 阶段 3:审查
Dev->>Mapper: 在变更后执行 mapper
Mapper->>Mapper: 检测变更,重新索引
Mapper->>Dev: 「login() 已修改。影响:tests/test_auth.py, middleware/rate_limit.py」
AI->>Dev: 审查并验证影响点与其他代码智能工具比较
| 功能 | Nexus Skills | Code Graph Analyzer | grep/sourcegraph |
|---|---|---|---|
| AST 层级理解 | 是 | 是 | 否(仅文本) |
| 依赖关系图遍历 | 是 | 是 | 否 |
| 持久知识库 | 是(磁盘) | 否(内存) | 否 |
| AI 助手集成 | 是(原生) | 部分 | 否 |
| 零依赖 | 是(纯 Python) | 否(需要 Node) | 不一定 |
| 更新策略 | 增量重新索引 | 完整重新解析 | 不适用 |
| 查询成本 | ~50 tokens/查询 | ~200+ tokens/查询 | ~100+ tokens/查询 |
安装与配置
git clone https://github.com/Haaaiawd/Nexus-skills.git
cd Nexus-skills
export PATH="$PWD:$PATH"
与 Claude Code 集成为技能:
mkdir -p ~/.claude/skills/nexus-skills
cp SKILL.md ~/.claude/skills/nexus-skills/
# ~/.claude/skills/nexus-skills/SKILL.md
nexus_base: /path/to/your/project/nexus
mapper_command: nexus-mapper /path/to/your/project
query_command: nexus-query /path/to/your/project/nexus
nexus-query --find-function "login"
nexus-query --dependencies "auth/auth.py"
nexus-query --impact-analysis "schema/database.py"
常见问题
什么是 Nexus Skills?它解决了什么问题? Nexus Skills 为 AI 编码助手从代码库建立持久、可查询的知识库。它通过预先索引代码库为结构化智能来解决上下文盲点,助手可以即时查询且 token 用量最少。
nexus-mapper 和 nexus-query 有什么区别? Nexus-mapper 是索引引擎,扫描代码库并建立知识库。Nexus-query 是用于查询的搜索接口。Mapper 在代码变更时执行;query 在每个问题时执行。
Nexus Skills 中的阶段闸门工作流程是什么? 三阶段工作流程是:阶段 1(分析)——执行 mapper 捕获代码库状态;阶段 2(实现)——在开发过程中根据需要查询;阶段 3(审查)——再次执行 mapper 检测变更并评估影响。
Nexus Skills 有依赖项吗? 零。核心功能仅使用 Python 标准库。无需 Node.js、数据库或繁重的 ML 模型。
如何安装 Nexus Skills? 克隆仓库并将脚本加入 PATH。可选地创建 Claude Code 技能文件以实现集成的 AI 助手工作流程。
扩展阅读
- Nexus Skills GitHub 仓库 – 官方源代码、文档和配置指南
- Claude Code 技能文档 – 如何创建和管理 Claude Code 技能
- 使用 Python 进行 AST 分析 – nexus-mapper 使用的 Python 内置抽象语法树模块
- 软件工程中的依赖关系图分析 – 与代码库智能相关的依赖关系图技术学术调查
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!