npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-astrolabe

v0.6.0

Published

n8n node for Astrolabe — sovereign EU AI for the social economy: chat, embeddings and knowledge bases (OpenAI-compatible API).

Readme

n8n-nodes-astrolabe

n8n community node for Astrolabe — sovereign EU AI for the social and solidarity economy. Astrolabe's API is OpenAI-compatible, so this node talks to api.astrolabe.chat with no code.

Installation · Credential · Operations · Development · License

Installation

Follow the n8n community nodes installation guide.

In n8n: Settings → Community Nodes → Install, then enter n8n-nodes-astrolabe.

Credential

  1. Credentials → New → Astrolabe API
  2. API Key: your sk-astrolabe-... key (from the developer portal)
  3. Base URL: https://api.astrolabe.chat/v1 (default)

Operations

The node is organised by resource. Every knowledge-base dropdown is loaded live from your account.

AI

| Operation | Description | | --- | --- | | Message a Model | Chat completion. The model is picked from a dropdown loaded live from the Astrolabe catalogue. Returns content + reasoning_content (internal reasoning) + usage. Optionally grounds the answer on one or more knowledge bases (RAG) — the extracts used come back in astrolabe_sources. RAG supports static or agentic mode (the model searches on its own, multi-step — trace in astrolabe_steps), plus facet filter, date range, graph expansion, history window and source-link citation. | | Create an Embedding | Turns text into a vector for semantic search or RAG. The embedding model is picked from the same live catalogue. |

⚠️ astrolabe-base reasons before answering: keep Max Tokens ≥ 600 or the reply may come back empty. The node already defaults to 600.

Knowledge Base

| Operation | Endpoint | | --- | --- | | List | GET /kb | | Create | POST /kb (name, intent, type data / process, facet schema) | | Update | PATCH /kb/{slug} (rename / re-slug / change type) | | Delete | DELETE /kb/{slug} | | Search | POST /kb/{slug}/searchsemantic (with a query) and/or analytic (filters, sort, group by, offset, date range, graph expansion, numeric aggregates), no model call |

Document

| Operation | Endpoint | | --- | --- | | List | GET /kb/{slug}/documents | | Add | POST /kb/{slug}/documents — text, date, external ID, source URL, facet overrides, upsert, simple / AI chunking | | Get | GET …/documents/{id} — by UUID or external ID | | Update | PATCH …/documents/{id} — title / date / external ID / source URL | | Delete | DELETE …/documents/{id} |

Chunk

| Operation | Endpoint | | --- | --- | | List | GET …/documents/{id}/chunks (decrypted) | | Add | POST …/documents/{id}/chunks (facets, date) | | Update | PATCH …/chunks/{chunkId} | | Delete | DELETE …/chunks/{chunkId} |

Notes

  • List operations fan out one n8n item per result, so you can map over them directly.
  • Search returns a single structured itemresults (the rows) plus the analytic metadata group_by, total (exact count at the chosen granularity), truncated (page incomplete → paginate with Offset), distinct_documents (date mode) and aggregates ({field, count, sum, avg, min, max} per numeric facet). Use a Split Out node on results to fan them out. To count records, set Return = Documents and read total; to sum/average a numeric facet, set Aggregate and read aggregates.
  • Analytic search: leave Query empty to list/filter only (no score, no embedding cost). Compose typed Filters (eq/neq/gt/gte/lt/lte/in/contains), exact-match Facets, Date Range, Sort and Offset freely.
  • Documents and chunks are addressable by UUID or your own external_id. Adding a document with an existing external_id replaces it (idempotent upsert).
  • Chunking (Add Document): Simple (paragraphs, default) or AI (intent-driven). AI chunking reveals a Chunking Model dropdown (default mistral-small) used to split the text along the base's intent — metered on your key, on top of the embedding cost. Facet Overrides (JSON) forces facet values on every chunk (takes priority over AI-extracted ones).
  • Knowledge base type: a base is data (facts, default) or process (playbooks describing how to run an analysis — consulted first in agentic RAG).
  • RAG on chat: select one or more Knowledge Base(s); in Options set the Knowledge Base Mode (static / agentic), Query, Facet Filter (JSON), Top K, Date Range, Graph Expansion (JSON), Cite Source Links, Search Conversation Turns and Max Tool Calls (agentic). Empty fields are omitted, so a plain chat call is unchanged.
  • JSON fields (facets, filters, facet schema, facet overrides, graph expansion, aggregate): pass a JSON value as text, e.g. {"theme":"billing"}. The API accepts a JSON string or a real object.

Sovereignty

Data flows through Astrolabe's infrastructure (France / EU). Routing to a cloud model (Claude/GPT/Mistral) moves data outside the EU and is opt-in only.

Development

npm install
npm run build   # tsc + icon copy
npm run lint    # verified community node rules

To test locally, link the package into your n8n custom folder (~/.n8n/custom) with npm link.

Releasing

CI publishes to npm with a provenance statement when version in package.json is new (idempotent otherwise). To release: bump the version and merge to main. Requires the repo secret NPM_TOKEN (npm Automation token).

License

MIT