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 分