n8n-nodes-nilai 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +13 -9
- package/package.json +7 -4
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
# n8n-nodes-nilai
|
|
2
2
|
|
|
3
|
-
Use [Nillion **nilAI**](https://docs.nillion.com/build/private-llms/overview) — private LLM inference that runs inside a **Trusted Execution Environment (TEE)** — directly in your n8n workflows, with **built-in cryptographic verification** of every response.
|
|
4
|
-
|
|
5
3
|
This is an [n8n community node](https://docs.n8n.io/integrations/community-nodes/). It lets you add private, verifiable AI to any workflow with nothing more than an API key.
|
|
6
4
|
|
|
5
|
+
It uses [Nillion nilAI](https://docs.nillion.com/build/private-llms/overview): a private LLM inference that runs inside a Trusted Execution Environment (TEE), with built-in cryptographic verification of both every response and the enclave itself.
|
|
6
|
+
|
|
7
7
|
## Why nilAI?
|
|
8
8
|
|
|
9
9
|
Ordinary AI nodes send your data to a provider you have to trust. nilAI is different:
|
|
10
10
|
|
|
11
|
-
- **Private by construction.** Models run inside a TEE
|
|
12
|
-
- **Verifiable.** Every response is cryptographically signed
|
|
13
|
-
- **Drop-in.** nilAI is OpenAI-compatible, so anything you do with a normal LLM
|
|
11
|
+
- **Private by construction.** Models run inside a TEE, a hardware-isolated, encrypted enclave. The operator, including Nillion, cannot see your prompts or the model's output.
|
|
12
|
+
- **Verifiable two ways.** Every response is cryptographically signed inside the enclave, and the node verifies that signature against the enclave's public key (`tee_verified`). The node also verifies the enclave's AMD SEV-SNP hardware attestation against AMD's certificate chain (`attestation_verified`), so you can prove the answer came from a genuine, attested Nillion TEE running the expected build, rather than just hoping it did.
|
|
13
|
+
- **Drop-in.** nilAI is OpenAI-compatible, so anything you do with a normal LLM (summarisation, classification, triage, extraction, Q&A) works here, privately.
|
|
14
14
|
|
|
15
15
|
### What is a TEE, briefly?
|
|
16
16
|
|
|
17
|
-
A Trusted Execution Environment is a secure region of a CPU
|
|
17
|
+
A Trusted Execution Environment is a secure region of a CPU or GPU that runs code in an encrypted, hardware-isolated enclave. Data inside is invisible to the host operating system, the cloud provider and the operator. The hardware can produce a signed *attestation* proving which code is running and that it is genuinely inside a real enclave. nilAI runs LLMs inside TEEs and signs each response, turning "trust us" into "verify it yourself."
|
|
18
18
|
|
|
19
19
|
## Installation
|
|
20
20
|
|
|
@@ -24,16 +24,17 @@ In n8n: **Settings → Community Nodes → Install**, then enter `n8n-nodes-nila
|
|
|
24
24
|
|
|
25
25
|
## Credentials
|
|
26
26
|
|
|
27
|
-
Create a **nilAI API** credential and paste your API key. Get one
|
|
27
|
+
Create a **nilAI API** credential and paste your API key. Get one at the [Nillion developer portal](https://developer.nillion.com/nilai). The base URL defaults to Nillion mainnet.
|
|
28
28
|
|
|
29
29
|
## Usage
|
|
30
30
|
|
|
31
|
-
Add the **nilAI** node, pick a model (loaded live from your endpoint), and
|
|
31
|
+
Add the **nilAI** node, pick a model (loaded live from your endpoint), set your **Instructions** (the task) and **Input** (the content to act on), and run. Output fields:
|
|
32
32
|
|
|
33
33
|
| Field | Meaning |
|
|
34
34
|
|---|---|
|
|
35
35
|
| `text` | The model's response |
|
|
36
36
|
| `tee_verified` | `true` if the response signature verified against the enclave's public key |
|
|
37
|
+
| `attestation` | The enclave's hardware-attestation result, including `attestation_verified` and the individual checks |
|
|
37
38
|
| `signature` | The raw TEE signature (secp256k1 / ECDSA) |
|
|
38
39
|
| `usage` | Token usage |
|
|
39
40
|
|
|
@@ -41,7 +42,10 @@ Turn off **Simplify Output** to receive the full raw nilAI response.
|
|
|
41
42
|
|
|
42
43
|
## How verification works
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
Two independent checks, both run locally with no external dependencies:
|
|
46
|
+
|
|
47
|
+
- **Response signature (`tee_verified`).** nilAI signs each response inside the enclave (secp256k1 ECDSA over SHA-256). The node fetches the enclave's public key, reconstructs the exact signed bytes from the raw response, and verifies the signature.
|
|
48
|
+
- **Enclave attestation (`attestation_verified`).** The node fetches the enclave's AMD SEV-SNP attestation report, fetches the chip's certificate and AMD's certificate chain, and verifies the chain up to AMD's root, the report signature, the TCB values, that debug mode is off, the launch measurement against a known-good build, and that the report binds the live TLS session.
|
|
45
49
|
|
|
46
50
|
## Resources
|
|
47
51
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-nilai",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Use Nillion nilAI — private LLM inference in a TEE, OpenAI-compatible — directly in n8n, with built-in cryptographic verification of every response.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-community-node-package",
|
|
@@ -13,22 +13,24 @@
|
|
|
13
13
|
"confidential-computing"
|
|
14
14
|
],
|
|
15
15
|
"license": "MIT",
|
|
16
|
-
"homepage": "https://github.com/
|
|
16
|
+
"homepage": "https://github.com/NillionNetwork/n8n-nilai-node",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "Robert Moore",
|
|
19
19
|
"email": "iamrobertmoore@gmail.com"
|
|
20
20
|
},
|
|
21
21
|
"repository": {
|
|
22
22
|
"type": "git",
|
|
23
|
-
"url": "git+https://github.com/
|
|
23
|
+
"url": "git+https://github.com/NillionNetwork/n8n-nilai-node.git"
|
|
24
24
|
},
|
|
25
25
|
"engines": {
|
|
26
|
-
"node": ">=
|
|
26
|
+
"node": ">=22.0"
|
|
27
27
|
},
|
|
28
28
|
"main": "index.js",
|
|
29
29
|
"scripts": {
|
|
30
30
|
"build": "rm -rf dist && tsc && mkdir -p dist/nodes/NilAi dist/credentials && cp nodes/NilAi/nilai.svg dist/nodes/NilAi/nilai.svg && cp nodes/NilAi/nilai.svg dist/credentials/nilai.svg",
|
|
31
31
|
"dev": "tsc --watch",
|
|
32
|
+
"typecheck": "tsc --noEmit",
|
|
33
|
+
"check-version": "node bin/check-version.js",
|
|
32
34
|
"prepublishOnly": "npm run build"
|
|
33
35
|
},
|
|
34
36
|
"files": [
|
|
@@ -53,6 +55,7 @@
|
|
|
53
55
|
"devDependencies": {
|
|
54
56
|
"@types/node": "^20.11.0",
|
|
55
57
|
"n8n-workflow": "^2.16.0",
|
|
58
|
+
"semver": "^7.7.2",
|
|
56
59
|
"typescript": "^5.6.0"
|
|
57
60
|
}
|
|
58
61
|
}
|