rushikeshmore/CodeCortex
GitHub: rushikeshmore/CodeCortex
为 AI 编程智能体提供代码库的持久化知识层,通过预处理和多维度知识索引大幅降低跨会话的 token 消耗和缺陷风险。
Stars: 1 | Forks: 1
# CodeCortex
AI 智能体的持久化代码库知识层。您的 AI 不应在每次会话中重新学习您的代码库。
[网站](https://codecortex-ai.vercel.app) · [npm](https://www.npmjs.com/package/codecortex-ai) · [GitHub](https://github.com/rushikeshmore/CodeCortex)
## 问题所在
每次 AI 编程会话都从零开始。当上下文压缩或新会话开始时,AI 会重新扫描整个代码库。相同的文件、相同的 token、相同的浪费。这就像每次会话都雇佣一名新开发人员,在编写哪怕一行代码之前,都必须重新学习所有内容。
**数据证实了这一点:**
- AI 智能体在处理不熟悉的代码时,缺陷风险增加 30% ([CodeScene + Lund University, 2025](https://codescene.com/hubfs/whitepapers/AI-Ready-Code-How-Code-Health-Determines-AI-Performance.pdf))
- AI 时代代码流失率增长了 2.5 倍 ([GitClear, 分析了 2.11 亿行代码](https://www.gitclear.com/coding_on_copilot_data_shows_ais_downward_pressure_on_code_quality))
- 没有任何工具能将结构化 + 语义 + 时序 + 决策知识结合在一个便携式工具中
## 解决方案
CodeCortex 将代码库预处理为分层知识文件,并通过 MCP 将其提供给任何 AI 智能体。AI 不必在每次会话中重新理解您的代码库,而是直接从知识开始。
**混合提取:** tree-sitter 原生 N-API 用于结构(跨 27 种语言的符号、导入、调用)+ 宿主 LLM 用于语义(模块功能、构建原因)。无需额外的 API 密钥。
## 快速开始
```
# 安装 (针对 tree-sitter peer dep 不匹配需要 --legacy-peer-deps)
npm install -g codecortex-ai --legacy-peer-deps
# 初始化项目知识
cd /path/to/your-project
codecortex init
# 启动 MCP server (用于 AI agent 访问)
codecortex serve
# 检查知识新鲜度
codecortex status
```
### 连接到 Claude Code
添加到您的 MCP 配置中:
```
{
"mcpServers": {
"codecortex": {
"command": "codecortex",
"args": ["serve"],
"cwd": "/path/to/your-project"
}
}
}
```
## 生成内容
所有知识都以纯文本文件形式存储在您仓库的 `.codecortex/` 目录中:
```
.codecortex/
cortex.yaml # project manifest
constitution.md # project overview for agents
overview.md # module map + entry points
graph.json # dependency graph (imports, calls, modules)
symbols.json # full symbol index (functions, classes, types...)
temporal.json # git coupling, hotspots, bug history
modules/*.md # per-module deep analysis
decisions/*.md # architectural decision records
sessions/*.md # session change logs
patterns.md # coding patterns and conventions
```
## 六大知识层
| 层级 | 内容 | 文件 |
|-------|------|------|
| 1. 结构层 | 模块、依赖、符号、入口点 | `graph.json` + `symbols.json` |
| 2. 语义层 | 每个模块的功能、数据流、陷阱 | `modules/*.md` |
| 3. 时序层 | Git 行为指纹 - 耦合、热点、Bug 历史 | `temporal.json` |
| 4. 决策层 | 为什么要这样构建 | `decisions/*.md` |
| 5. 模式层 | 代码编写方式 | `patterns.md` |
| 6. 会话层 | 会话间发生的变化 | `sessions/*.md` |
### 时序层
这是杀手级差异化特性。时序层告诉智能体*“如果你修改文件 X,你也必须修改文件 Y”*,即使它们之间没有导入关系。这源于 git 共变分析,而非静态代码分析。
来自真实代码库的示例:
- `routes.ts` 和 `worker.ts` 在 9/12 次提交中共变(75%),且**两者之间零导入**
- 如果没有这些知识,AI 编辑其中一个文件有 75% 的概率产生 Bug
## MCP 工具 (15)
### 读取工具 (10)
| 工具 | 描述 |
|------|-------------|
| `get_project_overview` | 构成 + 概览 + 图谱摘要 |
| `get_module_context` | 按名称获取模块文档,包含时序信号 |
| `get_session_briefing` | 自上次会话以来的变更 |
| `search_knowledge` | 跨所有知识的关键词搜索 |
| `get_decision_history` | 按主题筛选的决策记录 |
| `get_dependency_graph` | 导入/导出图,可过滤 |
| `lookup_symbol` | 按名称/文件/类型查找符号 |
| `get_change_coupling` | 如果我修改文件 X,还必须修改哪些文件? |
| `get_hotspots` | 按风险排名的文件(流失 x 耦合) |
| `get_edit_briefing` | **NEW** — 编辑前风险简报:共变警告、隐藏依赖、Bug 历史、导入方 |
所有读取工具都包含 `_freshness` 元数据,用于指示知识的更新程度。
### 写入工具 (5)
| 工具 | 描述 |
|------|-------------|
| `analyze_module` | 返回源文件 + 用于 LLM 分析的结构化提示词 |
| `save_module_analysis` | 将 LLM 分析持久化到 `modules/*.md` |
| `record_decision` | 将架构决策保存到 `decisions/*.md` |
| `update_patterns` | 将编码模式合并到 `patterns.md` |
| `report_feedback` | 智能体报告错误知识以供下次分析 |
## CLI 命令
| 命令 | 描述 |
|---------|-------------|
| `codecortex init` | 发现项目 + 提取符号 + 分析 git 历史 |
| `codecortex serve` | 启动 MCP 服务器 (stdio transport) |
| `codecortex update` | 重新提取已更改的文件,更新受影响的模块 |
| `codecortex status` | 显示知识新鲜度、过期模块、符号数量 |
| `codecortex symbols [query]` | 浏览和过滤符号索引 |
| `codecortex search ` | 搜索所有 CodeCortex 知识文件 |
| `codecortex modules [name]` | 列出模块或深入查看特定模块 |
| `codecortex hotspots` | 显示按风险排名的文件:流失 + 耦合 + Bug 历史 |
| `codecortex hook install\|uninstall\|status` | 管理 git 钩子以自动更新知识 |
| `codecortex upgrade` | 检查并安装最新版本 |
## Token 效率
CodeCortex 使用三层记忆模型来最小化 token 使用:
```
Session start (HOT only): ~4,300 tokens
Working on a module (+WARM): ~5,000 tokens
Need coding patterns (+COLD): ~5,900 tokens
vs. raw scan of entire codebase: ~37,800 tokens
```
减少 85-90% token。效率提升 7-10 倍。
## 支持的语言 (27)
| 类别 | 语言 |
|----------|-----------|
| Web | TypeScript, TSX, JavaScript |
| 系统 | C, C++, Objective-C, Rust, Zig, Go |
| JVM | Java, Kotlin, Scala |
| .NET | C# |
| 移动端 | Swift, Dart |
| 脚本 | Python, Ruby, PHP, Lua, Bash, Elixir |
| 函数式 | OCaml, Elm, Emacs Lisp |
| 其他 | Solidity, Vue, CodeQL |
## 技术栈
- TypeScript ESM, Node.js 20+
- `tree-sitter` (原生 N-API) + 27 个语言语法包
- `@modelcontextprotocol/sdk` - MCP 服务器
- `commander` - CLI
- `simple-git` - git 集成
- `yaml`, `zod`, `glob`
## 许可证
MIT
标签:Cilium, DLL 劫持, DNS解析, LLM, MCP, MITM代理, Model Context Protocol, NPM, RAG, Ruby, Token 优化, Tree-sitter, Unmanaged PE, 云安全监控, 人工智能, 代码上下文, 代码分析, 代码理解, 代码预处理, 凭证管理, 大语言模型, 威胁情报, 开发者工具, 开源项目, 检索增强生成, 用户模式Hook绕过, 知识库, 编程效率, 自动化攻击, 语义理解, 静态分析