Astria

io.github.Nodesify由 GitHub 账号 Nodesify 发布v1.6.0更新于 Nov 5, 2026

Turn any codebase into a queryable knowledge graph — offline-first, zero API keys.

已验证STDIO仅桌面知识与记忆开发者工具

概览

AI 生成的概览

为代码库构建本地 SQLite 知识图谱,让助手离线查询实现位置、追踪调用关系并评估改动影响。

可以做什么
  • 从代码库构建并刷新本地知识图谱,支持忽略规则与增量缓存
  • 按源码模块梳理结构,并用自然语言查询图谱定位实现
  • 查看返回符号的详情,追踪调用方与被调用方之间的路径,评估改动波及的节点
  • 输出图谱统计与证据等级,便于对照关联源码核验结果
适用场景
适合助手需要在大规模或不熟悉的代码库中导航时使用:定位某功能在哪里实现、追踪调用与导入关系,或在动手修改前估算影响范围。无需 API 密钥,分析在本地完成。
运行要求
以本地 stdio 进程运行,通过 npm 包 @nodesify/astria 安装;需要 Node.js 22 或更高版本,包内自带预编译原生二进制,无需 Rust 工具链。未声明任何 API 密钥或环境变量。本地嵌入为可选项,且在部分平台(Intel Mac、musl Linux、windows-arm64)不受支持。
安装前请注意
会在被分析的工程中写入 .astria/ 目录存放图谱与报告,并在编辑后更新。结果是启发式的:基于名称的调用与导入绑定标为 RESOLVED,歧义目标保留为 INFERRED;affected 只反映图谱可达性,不能证明运行时行为,重要结论应回到源码核对。可选的远程语义增强会把数据发送到外部。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Astria,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Find an implementation, inspect its relationships, and assess a change before editing. Astria builds a local SQLite knowledge graph with deterministic Rust/tree-sitter extraction. CLI and MCP queries use the same retrieval engine; source locations and evidence classes make results inspectable. Structural analysis needs no API key. Local embeddings and remote semantic enrichment are optional.

Install

sh
npm install -g @nodesify/astria

Node.js >= 22 is required. Prebuilt native binaries ship with the package; installation needs no Rust toolchain. macOS/Linux can also use brew install nodesify/tap/astria (tap).

Intel Mac (darwin-x64), musl Linux and windows-arm64 builds omit local embeddings because ONNX Runtime has no prebuilt runtime there. Structural analysis works; run --embed reports that embeddings are unsupported. Check astria stats --json for embeddingsSupported.

Use the graph

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

Use node IDs returned by the graph. Confirm important results against the linked source: name-derived call/import bindings are RESOLVED, and ambiguous targets remain INFERRED. --detail high restricts traversal to EXTRACTED/DECLARED facts. affected reports graph reachability; it cannot prove runtime behavior.

Exclude files with .astriaignore (gitignore syntax). Graphs and reports live under .astria/; read graph_report.md for orientation. Unchanged source reuses extraction caches, while updates reconcile references across the current corpus. After upgrading, run astria update . to refresh cached extraction for qualified call targets.

Guides and evidence

The evaluation harness separates file and declaration retrieval, delivered tokens, search/read cost and graph build time. Historical comparisons used tiny, exercised external sets and a single-pass search floor. New Requests and Commander questions are source-grounded, agent-authored, reserved and unexercised until their first explicit evaluation. No result establishes broad superiority or savings over a complete agent task.

Architecture and languages

Rust workspace with 20 crates plus a Node.js CLI. Uses 42 registered language configurations; exact parser coverage and optional lang-* build features are described in language support. See ARCHITECTURE.md for pipeline, caching and evidence contracts.

Astria is an independent implementation inspired by Graphify, and is not affiliated with or endorsed by that project.

Build from source

bash
# Build Rust corecargo build --release
# Copy the native library for the source CLI (Linux)mkdir -p packages/astria-cli/distcp target/release/libastria_napi.so packages/astria-cli/dist/astria.node
# Build Node.js CLIcd packages/astria-cli && npm ci && npm run build

See Contributing for macOS and Windows native artifact paths.

Requires Rust 1.88+ (declared as rust-version in the workspace) and Node.js >= 22.

License

MIT — see LICENSE.

Contributions are welcome and accepted under the Contributor License Agreement — see CONTRIBUTING.md to get started.

Installation defaults to project scope: astria install --platform codex --scope project. Use --scope user explicitly for user-wide integrations. Run astria doctor after setup or upgrades. See the installation lifecycle guide for supported platforms, upgrade, backup/restore and complete removal.

来源:README.md,提交 c20475d

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:服务器未能启动。

版本历史

9
  1. v1.6.0最新Nov 5, 2026
  2. v1.4.0Oct 22, 2026
  3. v1.3.0Oct 17, 2026
  4. v1.2.0Oct 9, 2026
  5. v1.1.1Oct 6, 2026
  6. v1.1.0Oct 5, 2026
  7. v1.0.12Oct 3, 2026
  8. v1.0.11Oct 1, 2026
  9. v1.0.10Sep 30, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分