mcpField
A
Astria

Astria

本地服务
nodesify.github.io开发工具31 周前更新

关于 Astria

Astria 使用 Rust 和 tree-sitter 确定性提取代码,构建本地 SQLite 知识图谱。它面向需要定位实现、检查关系并依据源码证据评估变更的开发者和编码 Agent;结构分析无需 API 密钥。

主要功能

  1. 01本地 SQLite 代码图谱
  2. 02基于 Rust 和 tree-sitter 的确定性提取
  3. 03查询符号及其关系
  4. 04变更影响分析
  5. 05证据类别与源码位置
  6. 06可选的本地嵌入和语义增强

适用场景

  1. 01查找某项行为的实现位置
  2. 02追踪代码符号之间的关系
  3. 03编辑前检查图谱可达的影响范围

MCP 相关

Astria 通过与命令行相同的检索引擎提供 MCP 查询。README 提及 Agent 集成,但未说明 MCP 工具或传输方式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nodesify-astria": {
"command": "npx",
"args": [
"-y",
"@nodesify/astria"
]
}
}
}
启动命令npx -y @nodesify/astria

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@nodesify/astria1.4.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

astria

代码库知识图谱构建工具

CI npm npm downloads docs License: MIT Node Ask DeepWiki

文档 | 快速入门 | CLI 参考 | 架构 | 示例 | 更新日志 | 发布说明 | 安全

由 Nodesify 构建

查找实现、检查其关系,并在编辑前评估变更。Astria 使用确定性的 Rust/tree-sitter 提取机制,构建本地 SQLite 知识图谱。CLI 和 MCP 查询使用相同的检索引擎;源代码位置和证据类别让结果可供检查。结构分析无需 API 密钥。本地嵌入和远程语义增强均为可选功能。

安装

npm install -g @nodesify/astria

需要 Node.js >= 22。软件包附带预构建的原生二进制文件;安装无需 Rust 工具链。macOS/Linux 也可以使用 brew install nodesify/tap/astria(tap)。

Intel Mac(darwin-x64)、musl Linux 和 windows-arm64 构建不包含本地嵌入功能,因为 ONNX Runtime 在这些平台上没有预构建运行时。结构分析仍可正常使用;run --embed 会提示不支持嵌入功能。运行 astria stats --json 查看 embeddingsSupported。

使用图谱

astria run .                                # build .astria/
astria map                                  # orient by source modules
astria query "where is request authentication implemented"
astria explain <node-id>                     # inspect a returned symbol
astria path <caller-id> <callee-id>           # follow relationships
astria affected <node-id>                    # assess a proposed change
astria update .                              # refresh after editing

使用图谱返回的节点 ID。请对照链接的源代码确认重要结果:根据名称推导的调用/导入绑定标记为 RESOLVED,存在歧义的目标则标记为 INFERRED。--detail high 会将遍历范围限制在 EXTRACTED/DECLARED 事实内。affected 报告图谱中的可达关系,但无法证明运行时行为。

使用 .astriaignore 排除文件(采用 gitignore 语法)。图谱和报告存放在 .astria/ 下;阅读 graph_report.md 了解概况。未变更的源文件会复用提取缓存,而更新操作会根据当前语料库协调引用。升级后,运行 astria update .,刷新针对限定调用目标的缓存提取结果。

指南与证据

评估工具会分别衡量文件和声明检索、交付的 token 数、搜索/读取成本以及图谱构建时间。历史对比使用了小型、经过测试的外部数据集,并以单次搜索作为基准下限。新的 Requests 和 Commander 问题由 Agent 基于源材料编写,在首次明确评估之前会予以保留且不进行测试。没有任何结果能证明其在完整的 Agent 任务中具有普遍优势或节省成本。

架构与语言

采用 Rust 工作区,包含 20 个 crate,另有一个 Node.js CLI。使用 42 种已注册的语言配置;确切的解析器覆盖范围和可选的 lang-* 构建功能详见语言支持。有关流水线、缓存和证据约定,请参阅 ARCHITECTURE.md。

Astria 是受 Graphify 启发的独立实现,与该项目无关联,也未获其认可。

从源代码构建

# Build Rust core
cargo build --release

# Copy the native library for the source CLI (Linux)
mkdir -p packages/astria-cli/dist
cp target/release/libastria_napi.so packages/astria-cli/dist/astria.node

# Build Node.js CLI
cd packages/astria-cli && npm ci && npm run build

macOS 和 Windows 的原生构件路径请参阅贡献指南。

需要 Rust 1.88+(在工作区中声明为 rust-version)和 Node.js >= 22。

许可证

MIT — 详见 LICENSE。

欢迎贡献,贡献内容将依据贡献者许可协议获得许可——请参阅 CONTRIBUTING.md 开始参与。

安装默认采用项目范围:astria install --platform codex --scope project。若要进行用户范围的集成,请显式使用 --scope user。设置或升级后运行 astria doctor。支持的平台、升级、备份/恢复和完整卸载流程,请参阅安装生命周期指南。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。