Token导航 LogoToken导航TokenDH.com
As Tral logo
AI代理未说明官方级别未说明来源级核验

As Tral

MCP Server

ASTral是一款通过AST解析实现代码符号级精确检索的工具,可显著降低AI代理的token消耗,适用于大型代码库的探索和架构分析。

工具数

11

提示词数

0

GitHub Stars

1

资源数

0
代码索引C#ClaudeClaude DesktopClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Atypical-Consulting

提供方

Atypical-Consulting

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

将代码读取令牌成本降低高达 99%

大多数AI代理以昂贵的方式探索存储库: 打开整个文件>浏览数千行不相关的内容>重复。

ASTral只索引一次代码库,让代理只检索他们需要的确切符号 --函数、类、方法、常量——具有字节级精度。

任务传统方法使用ASTral
查找函数~40000个标记~200个标记
了解模块API约15000个代币约800个代币
探索回购结构约200000个代币约2k个代币

索引一次。永远低价查询。 精确上下文胜过暴力上下文。

______________________________________________________________________

星的

严重人工智能代理的结构化检索

License MCP Local-first Polyglot .NET

停止将文件转储到上下文窗口中。开始准确检索代理所需的内容。

ASTral使用树型AST解析对代码库进行一次索引,然后允许MCP兼容的代理(Claude Desktop、VS Code、Google Antigravity等) 按符号发现和检索代码 而不是暴力读取文件。

每个符号存储:

  • 签名
  • 亲切的
  • 限定名
  • 单行摘要
  • 原始文件的字节偏移量

使用O(1)字节偏移量查找按需检索完整源。

______________________________________________________________________

证据:代币在野外的节省

代表: geekcomputers/Python 尺寸: 338个文件,1422个符号索引 任务: 查找计算器/数学实现

方法令牌代理必须做什么
原始文件方法~7500打开多个文件并手动扫描
ASTral~ 1449search_symbols() > get_symbol()

结果: 代币数量减少约80% (效率提高约5倍)

成本随代币而变化。 延迟随无关上下文而变化。

ASTral将搜索转化为导航。

______________________________________________________________________

为什么代理商需要这个

代理商在以下情况下浪费金钱:

  • 打开整个文件以查找一个函数
  • 重复读取相同的代码
  • 使用导入、样板和无关的助手

ASTral提供精确的上下文访问:

  • 按名称、种类或语言搜索符号
  • 未加载完整内容的大纲文件
  • 仅检索精确的符号实现
  • 必要时回退到全文搜索

代理不需要更大的上下文窗口。 它们需要结构化检索。

______________________________________________________________________

运作原理

  1. 发现 -GitHub API或本地目录行走
  2. 安全过滤 --遍历保护、秘密排除、二进制检测
  3. 解析 --树型AST提取
  4. 存储 --JSON索引+本地存储的原始文件(~/.code-index/)
  5. 检索 --通过稳定的符号ID查找O(1)字节偏移量

稳定的符号ID

{file_path}::{qualified_name}#{kind}

示例:

  • src/main.py::UserService.login#method
  • src/utils.py::authenticate#function

当路径、限定名和类型不变时,ID在重新索引过程中保持稳定。

______________________________________________________________________

用法示例

index_folder: { "path": "/path/to/project" }
index_repo:   { "url": "owner/repo" }

get_repo_outline: { "repo": "owner/repo" }
get_file_outline: { "repo": "owner/repo", "file_path": "src/main.py" }
search_symbols:   { "repo": "owner/repo", "query": "authenticate" }
get_symbol:       { "repo": "owner/repo", "symbol_id": "src/main.py::MyClass.login#method" }
search_text:      { "repo": "owner/repo", "query": "TODO" }

______________________________________________________________________

工具(11)

工具目的
index_repo为GitHub存储库建立索引
index_folder为本地文件夹建立索引
list_repos列出索引存储库
get_file_tree存储库文件结构
get_file_outline文件的符号层次结构
get_symbol检索完整符号源
get_symbols批量检索符号
search_symbols使用过滤器搜索符号
search_text全文搜索
get_repo_outline高级回购概述
invalidate_cache删除缓存索引

每个工具响应都包括 _meta 具有时间、代币节省和避免成本的信封:

"_meta": {
  "timing_ms": 4.3,
  "tokens_saved": 48153,
  "total_tokens_saved": 1280837,
  "cost_avoided": { "claude_opus": 0.7223, "gpt5_latest": 0.4815 },
  "total_cost_avoided": { "claude_opus": 19.21, "gpt5_latest": 12.81 }
}

total_tokens_savedtotal_cost_avoided 在所有工具调用中累积并持续 ~/.code-index/_savings.json.

______________________________________________________________________

支持的语言

语言扩展名符号类型
python .py函数、类、方法、常量、类型
JavaScript.js, .jsx函数、类、方法、常量
TypeScript.ts, .tsx函数、类、方法、常量、类型
去吧.go函数、方法、类型、常量
生锈.rs函数、类型、impl、常量
Java .java方法、类、类型、常量
Kotlin.kt, .kts函数、类、对象、类型
PHP.php函数、类、方法、类型、常量
飞镖.dart函数、类、方法、类型
C .cs类、方法、类型、记录
C .c函数、类型、常数
C .cpp, .cc, .cxx, .hpp, .hh, .hxx, .h\*函数、类、方法、类型、常量
Swift.swift函数、类、类型
灵丹妙药.ex, .exs类(模块/impl)、类型(协议/@type/@回调)、方法、函数
红宝石.rb, .rake类、类型(模块)、方法、函数
Perl.pl, .pm函数、类(包)

\* .h 首先被解析为C++,然后在没有提取C++符号时回退到C。

语言支持 为了获得完整的语义。

______________________________________________________________________

安全

内置保护:

  • 路径遍历预防(所有者/名称净化+验证的解析路径)
  • Symlink逃生保护
  • 机密文件排除(.env, *.pem等等)
  • 二进制检测
  • 可配置的文件大小限制

安全 了解详情。

______________________________________________________________________

技术栈

组件技术
运行时。净值10
语言C#
MCP框架模型上下文协议
AST解析TreeSitter。DotNet
.gitignoreMAB。点忽略
人工智能概述人类学(克劳德·海库)
托管微软。扩展。托管服务
Testingxunit v3
日志微软。扩展。日志记录

______________________________________________________________________

最佳使用案例

  • 大型多模块存储库
  • 代理驱动重构
  • 建筑探索
  • 更快的入职流程
  • 令牌高效多代理工作流

______________________________________________________________________

安装

作为一个。NET全局工具

dotnet tool install -g ASTral

然后运行:

astral

来源

git clone https://github.com/Atypical-Consulting/ASTral.git
cd ASTral
dotnet build
dotnet run --project src/ASTral

______________________________________________________________________

配置

ASTral可以通过环境变量进行配置 .astralrc JSON配置文件,或两者兼而有之。

环境变量

变量描述默认值
CODE_INDEX_PATH索引存储目录~/.code-index/
ASTRAL_LOG_LEVEL日志级别: DEBUG, INFO, WARNING, ERRORWARNING
ASTRAL_EXTRA_EXTENSIONS额外的扩展映射(例如。 .vue:javascript,.svelte:javascript)
ASTRAL_WATCH启用文件监视器以自动重新索引(true/false)false
GITHUB_TOKEN的GitHub API令牌 index_repo
ANTHROPIC_API_KEY人工智能摘要的Anthropic API密钥-

配置文件(.astralrc)

地点a .astralrc 项目目录或主目录中的JSON文件(~/.astralrc).项目级值覆盖主级值。环境变量会覆盖这两者。

{
  "storage_path": "/custom/index/path",
  "log_level": "DEBUG",
  "max_index_files": 5000,
  "extra_extensions": ".vue:javascript,.svelte:javascript",
  "excluded_patterns": ["*.generated.cs", "*.Designer.cs"]
}

______________________________________________________________________

高级功能

强制重新索引

两者 index_repoindex_folder 接受一个 force 参数以绕过增量缓存并执行完全重新索引:

{ "path": "/path/to/project", "force": true }

定时元数据

索引工具的响应包括时间细分:

{
  "parse_time_ms": 120,
  "save_time_ms": 45,
  "total_time_ms": 165
}

文件监视器(选择加入)

ASTRAL_WATCH=true 当索引的本地文件夹中的文件发生更改时,启用自动后台重新索引。观察器使用去抖动检测(500ms)和信号量来防止并发索引。

______________________________________________________________________

不适用于

  • LSP诊断或完成
  • 编辑工作流程
  • 跨存储库全局索引
  • 语义程序分析

______________________________________________________________________

文档

  • 用户指南 --安装、配置、工作流和故障排除
  • 建筑 --项目结构、数据流和设计决策
  • 技术规范 --工具、数据模型和响应格式
  • 安全 --路径遍历、秘密排除和其他保护
  • 语言支持 --支持的语言、符号类型以及如何添加新的
  • 代币节省 --基准和节约方法

______________________________________________________________________

起源和归属

ASTral是一个。NET重写 jCodeMunch MCP 通过 J.格拉夫勒最初是用Python编写的。

该衍生作品包括以下修改:

  • 从Python到C#的完全重写。净值10
  • 添加了Kotlin语言支持(.kt、.kts)
  • 添加了配置文件支持(.astralrc)
  • 添加了结构化日志记录(Microsoft.Extensions.logging)
  • 添加了用于自动重新索引的文件监视器
  • 添加了带有定时元数据的强制重新索引参数
  • 添加了NuGet全局工具包
  • 添加了工具集成测试(xunit v3)
  • 各种错误修复和性能改进

许可证(双重用途)

此存储库是 免费用于非商业用途 根据J.Gravelle的原始两用许可证。 商业使用需要付费的商业许可证 --看 许可证 完整条款。

  • 原创作品:版权所有(c)2026 J.Gravelle
  • 修改:版权所有(c)2026 Philippe Matray/非典型咨询

如需商业许可咨询,请联系:j@gravelle.us|https://j.gravelle.us

目录标签

目录标签

代码索引C#Claude本地部署符号检索AST解析AI代理优化开发效率工具

支持客户端

Claude DesktopClaudeVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP