CortexAST🧠⚡
LLM代理的AI原生代码智能后端 纯Rust·MCP服务器·语义代码导航·AST时间机器·自进化Wasm解析器
  ](./CHANGELOG.md)
______________________________________________________________________
什么是CortexAST?
👁️ CortexAST是“眼睛” --只读代码智能。有关写入/执行功能,请参阅配套文件 cortex-act 项目(“手”)。CortexAST是一款 生产级MCP(模型上下文协议)服务器 这使AI编码代理(Claude、Gemini、GPT-4o等)能够:
- 在语义上导航代码库 --查找符号、爆炸半径分析、跨文件传播检查表
- 自我进化 --在运行时下载并热重新加载WebAssembly语言解析器(Go、PHP、Ruby、Java等)
- 时间旅行你的代码库 --Chronos快照系统,用于重构前后AST水平比较
- 搜索本地内存 --基于代码库历史的混合语义+关键字搜索
✋ 到 编辑文件, 运行命令,或 补丁配置,使用 皮层行为 相反。
______________________________________________________________________
功能模块
1.🔭 cortex_code_explorer
代码库浏览器。使用代替ls/树/查找/猫。两种模式: map_overview (快速符号映射,接近零的令牌——在任何回购上首先运行)和 deep_slice (带有函数体的标记预算XML,按查询排序的向量)。使用map_overview进行定向;deepslice获取用于编辑的代码。
2.🎯 cortex_符号_分析器
AST符号分析。使用代替grep/rg。操作: read_source (从文件中提取符号的确切来源——在编辑之前这样做), find_usages (所有呼叫/类型/现场站点), find_implementations (实现特征的结构), blast_radius (呼叫者+被呼叫者-在重命名/删除之前运行), propagation_checklist (共享类型的详尽更新清单)。
3.⏳ cortex_chronos
AST快照工具,用于安全重构。工作流程: save_checkpoint (编辑前)→ edit → compare_checkpoint (验证)。使用AST级别而不是git diff,忽略格式噪声。行动: save_checkpoint, list_checkpoints, compare_checkpoint, delete_checkpoint.
4.🛠️ run_诊断学
运行编译器诊断程序(cargo check/tsc/gcc)。在继续之前,在任何代码编辑后调用以捕获错误。返回文件、行、代码、消息——为目标修复而结构化。
5.🧠 cortex_memory_requirer
在全局内存中搜索过去的代理决策(语义+关键字混合)。 需要CortexSync。 在任何研究或探索之前打电话——答案可能已经被缓存了。返回已排序的条目:意图、决策、标签、files_touched。
6.📋 cortex_get_rules
获取当前上下文的代码库AI规则。 需要CortexSync。 返回按file_path(前端/后端/db上下文)过滤的合并规则。在新项目中开始任何任务之前,请先致电。
7.✨ cortex_remember
将任务结果保存到永久全局内存中。 需要CortexSync。 在每项任务结束时调用。意图+决策每个必须≤200个字符。对于长工件,先写一个文件,然后通过heavy_artifacts传递路径。
8.🌍 cortex_list_网络
列出所有AI跟踪的代码库(需要CortexSync 网络)。用于发现 target_project 跨项目操作的ID。
9. 🌐 cortex_manage_ast_语言
管理非核心语言的Wasm语法解析器。核心(始终处于活动状态):rust、typescript、python。呼叫 status 查看活动/可用语言。呼叫 add 随着 languages[] 从GitHub树保姆版本下载并热重新加载解析器。可用:go、php、cpp、c、c_sharp、java、ruby、dart。
______________________________________________________________________
生态系统要求:CortexSync🧠
为了实现完整功能, CortexSync (“大脑”)必须在后台运行。
| 工具 | 是否依赖CortexSync? | 为什么? |
|---|---|---|
cortex_remember | 是 | 将任务成果保存在全球期刊上。 |
cortex_memory_retriever | 是 | 对过去的决策执行语义向量搜索。 |
cortex_get_rules | 是 | 从同步规则引擎获取集中式规则。 |
cortex_list_network | 是 | 读取代码库的全球网络图。 |
cortex_code_explorer | 否 | 本地AST分析。 |
cortex_symbol_analyzer | 否 | 本地AST分析。 |
如果 cortex-sync 如果处于脱机状态,这些工具将严格返回优雅的警告,而不会中断代理的工作流程。
______________________________________________________________________
______________________________________________________________________
快速开始
先决条件
- 锈蚀1.80+
- 奥利玛或 LM工作室 在本地运行(可选,适用于Auto Healer)
构建与运行
git clone https://github.com/DevsHero/CortexAST
cd CortexAST
cargo build --release
# Run as MCP server (stdio)
./target/release/cortexastMCP配置(~/.cursor/mcp.json 或克劳德桌面)
{
"mcpServers": {
"cortexast": {
"command": "/path/to/cortexast",
"args": []
}
}
}______________________________________________________________________
______________________________________________________________________
使用示例
语义探索者——项目鸟瞰图
{
"name": "cortex_code_explorer",
"arguments": {
"action": "map_overview",
"target_dir": "."
}
}符号搜索——查找整个仓库中的所有用法
{
"name": "cortex_symbol_analyzer",
"arguments": {
"action": "find_usages",
"symbol_name": "AuthService",
"target_dir": "."
}
}时间旅行——重构后AST的比较
{
"name": "cortex_chronos",
"arguments": {
"action": "compare_checkpoint",
"symbol_name": "login",
"tag_a": "pre-refactor",
"tag_b": "__live__"
}
}自进化Wasm语言支持
| 始终可用 | 可按需下载 |
|---|---|
| Rust、Types/JS、Python | Go、PHP、Ruby、Java、C、C++、C#、Dart |
# Agent calls this automatically when it detects a new language:
cortex_manage_ast_languages { "action": "add", "languages": ["go", "dart"] }______________________________________________________________________
发展
# Run all unit tests
cargo test
# Check (no link)
cargo check
---
## Architecture
CortexAST(二进制) └── src/ ├── server.rs#MCP stdio服务器--所有工具模式+处理程序 ├── inspector.rs#语言配置,语言驱动程序,符号,run_query ├── grammar_manager#Wasm下载+热重载(GitHub发布) ├── vector_store.rs#模型2vec嵌入+缓存失效 ├── chronos.rs#AST快照计时器(chronos) ├── memory.rs#global_memory.json日志客户端 └── project_map.rs#多仓库漫游网络图
## License
MIT — See [LICENSE](./LICENSE)
---
*Built with ❤️ in Rust · Semantic precision for the AI age*```