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-infolang

v0.1.0

Published

n8n community node for InfoLang, a hosted semantic-memory API. Adds Remember, Recall, and Forget operations backed by a single API-key credential.

Downloads

64

Readme

n8n-nodes-infolang

This is an n8n community node for InfoLang, a hosted semantic-memory API. It adds an InfoLang node with three operations — Remember, Recall, and Forget — so a workflow can store text as a memory and later retrieve it by semantic similarity, all authenticated with a single API key.

Why this exists

n8n already has a community node for Mem0, but it only talks to a self-hosted Mem0 server — there's no first-class way to hit a hosted memory API from n8n with just an API key. This node is built for InfoLang's hosted runtime: point it at https://api.infolang.ai (or your own self-hosted InfoLang runtime), drop in an API key, and you're set up. No server to run, no OAuth dance — one credential field.

Installation

Not published to npm yet — build from source and link it into a self-hosted n8n instance:

git clone https://github.com/InfoLang-Inc/n8n-nodes-infolang.git
cd n8n-nodes-infolang
npm install
npm run build
npm link

Then, from your n8n installation directory (or wherever N8N_CUSTOM_EXTENSIONS points):

npm link n8n-nodes-infolang

Restart n8n and the InfoLang node should show up in the node panel. Once this package is published to npm, it'll also be installable via n8n's Settings > Community Nodes panel or a plain npm install n8n-nodes-infolang — see n8n's community nodes documentation for that flow.

Credential setup

This node uses one credential type: InfoLang API.

  1. Get an API key from your InfoLang dashboard. Keys look like il_live_....
  2. In n8n, create a new InfoLang API credential and paste the key into API Key.
  3. Base URL defaults to https://api.infolang.ai. Only change this if you're running a self-hosted InfoLang runtime (e.g. http://127.0.0.1:8766).
  4. Workspace ID is optional. Set it (as a UUID) only if your API key is allowlisted for more than one workspace and you need to select a specific one — it's sent as the X-InfoLang-Workspace-Id header.

Use the Test button on the credential to confirm connectivity (it calls GET /v1/health).

Operations

Remember

Stores a piece of text as a memory.

Inputs

| Field | Required | Notes | | --- | --- | --- | | Text | Yes | The content to remember | | Source | No | Free-text label for where this memory came from | | Tags | No | Comma-separated, e.g. billing,customer-42 | | Namespace | No | See Known limitations below |

Output — the raw API response, typically:

{
  "id": "mem_abc123",
  "namespace": "default",
  "stored": true,
  "total_memories": 42
}

Recall

Searches memories by semantic similarity to a query.

Inputs

| Field | Required | Notes | | --- | --- | --- | | Query | Yes | Text to search for | | Top K | No | Max results to return (default 5) | | Namespace | No | Restrict the search to a namespace | | Filters (JSON) | No | Optional JSON object of filters | | Verbose | No | Passed through to the API |

Output — normalized regardless of whether the API responds with the compact chunks wire format or the verbose hits format:

{
  "results": [
    { "id": "mem_abc123", "text": "customer prefers email", "score": 0.91, "tags": "billing" }
  ],
  "namespace": "default",
  "count": 1,
  "weak": false
}

weak is true when the top result's score is below 0.85 (or when there are no results) — a convenience flag for filtering out low-confidence matches downstream in your workflow.

Forget

Deletes a memory by ID.

Inputs

| Field | Required | Notes | | --- | --- | --- | | Memory ID | Yes | The ID of the memory to delete |

Output

{ "deleted": true, "id": "mem_abc123" }

Forget has no namespace parameter — deletion is scoped by your API key server-side.

Known limitations

namespace on Remember is currently a no-op server-side. The POST /v1/remember endpoint accepts a namespace field per InfoLang's documented API contract, but the currently deployed hosted InfoLang runtime ignores it — writes land in the caller's default namespace regardless of what you pass. This is a known, tracked issue pending a server-side fix. This node still exposes the Namespace field on Remember because it's part of the documented API contract and it will start working once the fix ships server-side — there is no client-side workaround, and this node doesn't attempt one.

Namespace filtering on Recall (reads) works correctly today; this limitation is specific to writes via Remember.

License

MIT