{"_id":"@aion-asa/n8n-nodes-aion","_rev":"7-c1c34a5a25ee6f6f53d32107e716a12e","name":"@aion-asa/n8n-nodes-aion","dist-tags":{"latest":"0.1.8"},"versions":{"0.1.1":{"name":"@aion-asa/n8n-nodes-aion","version":"0.1.1","keywords":["n8n-community-node-package","aion","agent","llm","automation"],"author":{"name":"AION Developers","email":"supporto@aion-asa.com"},"license":"MIT","_id":"@aion-asa/n8n-nodes-aion@0.1.1","maintainers":[{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"}],"homepage":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion","bugs":{"url":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion/issues"},"n8n":{"nodes":["dist/nodes/Aion/Aion.node.js"],"strict":true,"credentials":["dist/credentials/AionApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"fea598894a74cd85255863fdaf675e1f740aaed3","tarball":"https://registry.npmjs.org/@aion-asa/n8n-nodes-aion/-/n8n-nodes-aion-0.1.1.tgz","fileCount":21,"integrity":"sha512-8pPV0Fccj2wFQCHwg+dnNExcU0sonF9kuqf0ONA9QBcwi8/rMTqZI5m1NqwYIDgwA5QvwgCycrdyYyl4s59vHw==","signatures":[{"sig":"MEUCIQCPFvHULwe8MhauJ+R1xjERzlSP81RvCtqbFN9imi2RZQIgLfeaGncvBnnamV3r02BF1qhlV2g/weBb0azWND+iLS4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62569},"gitHead":"e6d3d14f3f44c91252caacfd3e3afa83f93d71d3","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","build:watch":"tsc --watch","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"},"repository":{"url":"git+https://github.com/AION-by-ASA-Computer/n8n-nodes-aion.git","type":"git"},"_npmVersion":"11.11.0","description":"n8n community node for AION Agent — streaming chat, profiles, memory, and tools","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.39.4","prettier":"3.8.3","release-it":"20.2.0","typescript":"5.9.3","@n8n/node-cli":"*"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-aion_0.1.1_1789025198695_0.0015654563683880074","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aion-asa/n8n-nodes-aion","version":"0.1.2","keywords":["n8n-community-node-package","aion","agent","llm","automation"],"author":{"name":"AION Developers","email":"supporto@aion-asa.com"},"license":"MIT","_id":"@aion-asa/n8n-nodes-aion@0.1.2","maintainers":[{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"}],"homepage":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion","bugs":{"url":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion/issues"},"n8n":{"nodes":["dist/nodes/Aion/Aion.node.js","dist/nodes/Aion/AionLmChat.node.js"],"strict":true,"credentials":["dist/credentials/AionApi.credentials.js"],"aiNodeSdkVersion":1,"n8nNodesApiVersion":1},"dist":{"shasum":"0549f26b86e5b03c419110c843bf42644208380e","tarball":"https://registry.npmjs.org/@aion-asa/n8n-nodes-aion/-/n8n-nodes-aion-0.1.2.tgz","fileCount":33,"integrity":"sha512-OEkMRi0g26BqoXWXUcvK7oMvhx86KAI3KDxwX43O2Fy31eJhxvcRMTmmRDc4jE/GtbSUdaUD4Z03girrIynzxg==","signatures":[{"sig":"MEYCIQDJTWY+vco+1x/cJ1pyw0lWNMGpqwXtjfoFyuXhi5xOlwIhAPiMP18j8RiLDCBTWvdAcP08NdQjHrH2BoyAtLPlQXle","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95946},"gitHead":"c790e3a94b85d995ac651b8657dd046cdddd584c","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","build:watch":"tsc --watch","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"},"repository":{"url":"git+https://github.com/AION-by-ASA-Computer/n8n-nodes-aion.git","type":"git"},"_npmVersion":"11.11.0","description":"n8n community node for AION Agent — streaming chat, profiles, memory, and tools","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.39.4","prettier":"3.8.3","release-it":"20.2.0","typescript":"5.9.3","@n8n/node-cli":"*","@n8n/ai-node-sdk":"*"},"peerDependencies":{"n8n-workflow":"*","@n8n/ai-node-sdk":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-aion_0.1.2_1789028342898_0.7314165313917915","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@aion-asa/n8n-nodes-aion","version":"0.1.3","keywords":["n8n-community-node-package","aion","agent","llm","automation"],"author":{"name":"AION Developers","email":"supporto@aion-asa.com"},"license":"MIT","_id":"@aion-asa/n8n-nodes-aion@0.1.3","maintainers":[{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"}],"homepage":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion","bugs":{"url":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion/issues"},"n8n":{"nodes":["dist/nodes/Aion/Aion.node.js","dist/nodes/Aion/AionLmChat.node.js"],"strict":true,"credentials":["dist/credentials/AionApi.credentials.js","dist/credentials/VllmApi.credentials.js"],"aiNodeSdkVersion":1,"n8nNodesApiVersion":1},"dist":{"shasum":"b6d3063d5856bc3362e56c450978b24bed8e96e6","tarball":"https://registry.npmjs.org/@aion-asa/n8n-nodes-aion/-/n8n-nodes-aion-0.1.3.tgz","fileCount":27,"integrity":"sha512-xcGQ7NgzAh2vfITAoO4e54XtiQZaLvjc45nvAnk9E1H/i41X2VGH/HF/nuvl1ShztR0ZN3lw3l97AmBLKjSM4g==","signatures":[{"sig":"MEQCIG3Sxk+I0WZJ1bmrCuiIdTY18Ifd21ZGhZSua6xxBm3HAiA2ggjPX7cf890yNnX6yzCMeJX2ICo0STHjIw1C7aUVHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73465},"gitHead":"77035ab7aeeb4256deb725d32998620be118544b","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","build:watch":"tsc --watch","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"},"repository":{"url":"git+https://github.com/AION-by-ASA-Computer/n8n-nodes-aion.git","type":"git"},"_npmVersion":"11.11.0","description":"n8n community node for AION Agent — streaming chat, profiles, memory, and tools","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.39.4","prettier":"3.8.3","release-it":"20.2.0","typescript":"5.9.3","@n8n/node-cli":"*","@n8n/ai-node-sdk":"*"},"peerDependencies":{"n8n-workflow":"*","@n8n/ai-node-sdk":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-aion_0.1.3_1789032404806_0.42262271538689355","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@aion-asa/n8n-nodes-aion","version":"0.1.5","keywords":["n8n-community-node-package","aion","agent","llm","automation"],"author":{"name":"AION Developers","email":"supporto@aion-asa.com"},"license":"MIT","_id":"@aion-asa/n8n-nodes-aion@0.1.5","maintainers":[{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"}],"homepage":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion","bugs":{"url":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion/issues"},"n8n":{"nodes":["dist/nodes/Aion/Aion.node.js","dist/nodes/Aion/AionLmChat.node.js"],"strict":true,"credentials":["dist/credentials/AionApi.credentials.js","dist/credentials/VllmApi.credentials.js"],"aiNodeSdkVersion":1,"n8nNodesApiVersion":1},"dist":{"shasum":"c47c4e78c423705a6555ad2d8712133de6a91b2d","tarball":"https://registry.npmjs.org/@aion-asa/n8n-nodes-aion/-/n8n-nodes-aion-0.1.5.tgz","fileCount":31,"integrity":"sha512-Y64wrD2uISzlwX4dW2rdRA+73WIIce0kgQmNV7LvtYszb58DJCjIRQOOq7yNnnvok5WWpL3irVqsEkF9UUW7Lg==","signatures":[{"sig":"MEUCIQDKGo9WLqWio3q0eP5bxd+Hufnhvpt2RUUTcFiOlDexzwIgfaEYspI0ZD/VPeSzSRiQ9tMv4ifnosL9auMQmJ2PZEg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88519},"gitHead":"4ab96982a7121c98a08906f0c9e8aa4ea5c31a95","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","build:watch":"tsc --watch","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"},"repository":{"url":"git+https://github.com/AION-by-ASA-Computer/n8n-nodes-aion.git","type":"git"},"_npmVersion":"11.11.0","description":"n8n community node for AION Agent — streaming chat, profiles, memory, and tools","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.39.4","prettier":"3.8.3","release-it":"20.2.0","typescript":"5.9.3","@n8n/node-cli":"*","@n8n/ai-node-sdk":"*"},"peerDependencies":{"n8n-workflow":"*","@n8n/ai-node-sdk":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-aion_0.1.5_1789374312250_0.9915739634512459","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@aion-asa/n8n-nodes-aion","version":"0.1.6","keywords":["n8n-community-node-package","aion","agent","llm","automation"],"author":{"name":"AION Developers","email":"supporto@aion-asa.com"},"license":"MIT","_id":"@aion-asa/n8n-nodes-aion@0.1.6","maintainers":[{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"}],"homepage":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion","bugs":{"url":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion/issues"},"n8n":{"nodes":["dist/nodes/Aion/Aion.node.js","dist/nodes/Aion/AionLmChat.node.js"],"strict":true,"credentials":["dist/credentials/AionApi.credentials.js","dist/credentials/VllmApi.credentials.js"],"aiNodeSdkVersion":1,"n8nNodesApiVersion":1},"dist":{"shasum":"0a4d3c758e0ae90b54d52f5f5a31e1c5ec0c1a8e","tarball":"https://registry.npmjs.org/@aion-asa/n8n-nodes-aion/-/n8n-nodes-aion-0.1.6.tgz","fileCount":31,"integrity":"sha512-tDMTcG+RfdvgeMNDeaEWe2haXqjeDcr1p0j2LKMudcDIoy4tqNEnI2KaIcPnQ340bPrY8yVota3sXADXwEvCBQ==","signatures":[{"sig":"MEUCIQDEUcbdLDQhg2gHRzFMfVTPbFhXCJsdMDOkPsqfdynp/QIgSJdr2MQQp6I+ZmZAOO6q8aBYgXGqOAruYO+7YMIgjOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92547},"gitHead":"d176a7e29172d54a82143414231254662e107702","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","build:watch":"tsc --watch","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"},"repository":{"url":"git+https://github.com/AION-by-ASA-Computer/n8n-nodes-aion.git","type":"git"},"_npmVersion":"11.11.0","description":"n8n community node for AION Agent — streaming chat, profiles, memory, and tools","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.39.4","prettier":"3.8.3","release-it":"20.2.0","typescript":"5.9.3","@n8n/node-cli":"*","@n8n/ai-node-sdk":"*"},"peerDependencies":{"n8n-workflow":"*","@n8n/ai-node-sdk":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-aion_0.1.6_1789375204600_0.4836555552341615","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@aion-asa/n8n-nodes-aion","version":"0.1.7","keywords":["n8n-community-node-package","aion","agent","llm","automation"],"author":{"name":"AION Developers","email":"supporto@aion-asa.com"},"license":"MIT","_id":"@aion-asa/n8n-nodes-aion@0.1.7","maintainers":[{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"}],"homepage":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion","bugs":{"url":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion/issues"},"n8n":{"nodes":["dist/nodes/Aion/Aion.node.js","dist/nodes/Aion/AionLmChat.node.js"],"strict":true,"credentials":["dist/credentials/AionApi.credentials.js","dist/credentials/VllmApi.credentials.js"],"aiNodeSdkVersion":1,"n8nNodesApiVersion":1},"dist":{"shasum":"c6425e5090ccd9459cba61c68ebad3624499b1a7","tarball":"https://registry.npmjs.org/@aion-asa/n8n-nodes-aion/-/n8n-nodes-aion-0.1.7.tgz","fileCount":31,"integrity":"sha512-E8mLXTErKgfMe1JuvGYqLfd6+4bvncstCrOkmh4N+euR0XaatDBR2i3qPNbkLE7nHA4Ttq5c/UKx0+tkPg60Vg==","signatures":[{"sig":"MEYCIQCEKxvkxn4jxu2MIfIqs0buIKIt6P3fqDMIXfaytUriDQIhAMR1CdTZkWA/RVonQyDGUWhR4JjL6Q2Xn0wX2K4zOYsW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94290},"gitHead":"45ae2823d09e4168506c49452b828db587280cab","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","build:watch":"tsc --watch","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"},"repository":{"url":"git+https://github.com/AION-by-ASA-Computer/n8n-nodes-aion.git","type":"git"},"_npmVersion":"11.11.0","description":"n8n community node for AION Agent — streaming chat, profiles, memory, and tools","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.39.4","prettier":"3.8.3","release-it":"20.2.0","typescript":"5.9.3","@n8n/node-cli":"*","@n8n/ai-node-sdk":"*"},"peerDependencies":{"n8n-workflow":"*","@n8n/ai-node-sdk":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-aion_0.1.7_1789375555520_0.6431418543692236","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@aion-asa/n8n-nodes-aion","publishConfig":{"access":"public"},"version":"0.1.8","description":"n8n community node for AION Agent — streaming chat, profiles, memory, and tools","license":"MIT","homepage":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion","keywords":["n8n-community-node-package","aion","agent","llm","automation"],"author":{"name":"AION Developers","email":"supporto@aion-asa.com"},"repository":{"type":"git","url":"git+https://github.com/AION-by-ASA-Computer/n8n-nodes-aion.git"},"scripts":{"build":"n8n-node build","build:watch":"tsc --watch","dev":"n8n-node dev","lint":"n8n-node lint","lint:fix":"n8n-node lint --fix","release":"n8n-node release","prepublishOnly":"n8n-node prerelease"},"n8n":{"n8nNodesApiVersion":1,"aiNodeSdkVersion":1,"strict":true,"credentials":["dist/credentials/AionApi.credentials.js","dist/credentials/VllmApi.credentials.js"],"nodes":["dist/nodes/Aion/Aion.node.js","dist/nodes/Aion/AionLmChat.node.js"]},"devDependencies":{"@n8n/ai-node-sdk":"*","@n8n/node-cli":"*","eslint":"9.39.4","prettier":"3.8.3","release-it":"20.2.0","typescript":"5.9.3"},"peerDependencies":{"@n8n/ai-node-sdk":"*","n8n-workflow":"*"},"gitHead":"4cd6d45781dd52346c31091c873f141e0f07c1d8","_id":"@aion-asa/n8n-nodes-aion@0.1.8","bugs":{"url":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion/issues"},"_nodeVersion":"22.22.0","_npmVersion":"11.11.0","dist":{"integrity":"sha512-pwkbkMBB3s6mzuWmeSGCrRy4uKBfSrAY0U/5zpbegdAPXY6VOOz1Gh4ELgplCyjg020eleoBZETd3Dw6tQm0tg==","shasum":"a0dca660bb5de7d4e5abd5eb72fb82fb3441024b","tarball":"https://registry.npmjs.org/@aion-asa/n8n-nodes-aion/-/n8n-nodes-aion-0.1.8.tgz","fileCount":33,"unpackedSize":96684,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDTE+smgegf4oihs6CjcLPWm6+j8JkdlFmyAcP/uyetiAIgER3p+q1CRSpoOl8TeGWPCZ8LGsovFxSXVw3F0JyQi2Y="}]},"_npmUser":{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"},"directories":{},"maintainers":[{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/n8n-nodes-aion_0.1.8_1789375800658_0.8930746302025907"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-10T07:26:38.422Z","modified":"2026-09-14T08:50:01.004Z","0.1.1":"2026-09-10T07:26:38.930Z","0.1.2":"2026-09-10T08:19:03.033Z","0.1.3":"2026-09-10T09:26:44.952Z","0.1.5":"2026-09-14T08:25:12.383Z","0.1.6":"2026-09-14T08:40:04.771Z","0.1.7":"2026-09-14T08:45:55.654Z","0.1.8":"2026-09-14T08:50:00.781Z"},"bugs":{"url":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion/issues"},"author":{"name":"AION Developers","email":"supporto@aion-asa.com"},"license":"MIT","homepage":"https://github.com/AION-by-ASA-Computer/n8n-nodes-aion","keywords":["n8n-community-node-package","aion","agent","llm","automation"],"repository":{"type":"git","url":"git+https://github.com/AION-by-ASA-Computer/n8n-nodes-aion.git"},"description":"n8n community node for AION Agent — streaming chat, profiles, memory, and tools","maintainers":[{"name":"giuseppelr_dev","email":"giuseppe.larocca@aion-asa.com"}],"readme":"# n8n-nodes-aion\n\nCommunity node that connects [n8n](https://n8n.io) to an [AION Agent](https://github.com/) instance.\n\n## Features\n\n- **Credentials**: Base URL + API key (`aion_…`)\n- **Profile dropdown**: loads available profiles from `GET /profiles`\n- **Ask**: streaming `POST /v1/chat/stream` (SSE, same path as chat-ui)\n- **Attachments**: upload binary files to the session (IMAP `attachment_0`, …) then pass `turn_attachments` to the agent\n- **Create conversation**: `POST /v1/conversations` for multi-turn workflows\n- **Options**: agent mode, thinking, web search, LLM provider, memory project, tool output\n- **AION vLLM Chat Model**: sub-node for n8n **AI Agent** — direct OpenAI-compatible connection to vLLM (not the AION Agent pipeline)\n\nRequires AION with authenticated chat API and a valid API key.\n\n## Install (n8n)\n\n### Community package (npm)\n\nIn n8n **Settings → Community Nodes → Install**, enter:\n\n```text\n@aion-asa/n8n-nodes-aion\n```\n\nSee [PUBLISHING.md](./PUBLISHING.md) for maintainers (manual or CI release).\n\n### Local / Docker development\n\n```bash\ncd n8n-nodes-aion\npnpm install   # or npm install\npnpm build\n```\n\nPoint n8n custom extensions at this package (example for Docker):\n\n```bash\n# mount dist into ~/.n8n/custom or set N8N_CUSTOM_EXTENSIONS\nexport N8N_CUSTOM_EXTENSIONS=/path/to/n8n-nodes-aion\n```\n\nOr link into n8n's custom folder:\n\n```bash\nmkdir -p ~/.n8n/custom\nnpm link\ncd ~/.n8n/custom && npm link n8n-nodes-aion\n```\n\n## Credentials\n\n| Field | Example | Notes |\n|-------|---------|--------|\n| Base URL | `http://127.0.0.1:8001` | Direct API. Behind Caddy: `http://<host>/api` (no trailing slash) |\n| API Key | `aion_…` | Create in Admin UI → API Keys; scopes: `chat` (Ask + attachments via `/sessions/.../upload`), `conversations:write` (Create). Optional `files:write` for v1 file API fallback |\n\nCredential test calls `GET /health`.\n\n### Docker (n8n + AION both in containers)\n\nInside a container, **`localhost` is the container itself**, not AION on the host or in another container. Do **not** use `http://localhost/api` as Base URL from n8n in Docker.\n\n**Recommended — same Docker network, service name (stable, no IP):**\n\nPut n8n and AION (or AION’s Caddy/reverse proxy) on the **same Docker network** and use the **compose service name** as hostname:\n\n| Setup | Base URL in n8n credentials |\n|-------|----------------------------|\n| AION API exposed internally on port 8001 | `http://aion-api:8001` |\n| AION behind Caddy service `caddy` on port 80 | `http://caddy/api` |\n\nExample `docker-compose.yml` fragment:\n\n```yaml\nservices:\n  n8n:\n    image: n8nio/n8n\n    networks: [aion_net]\n    environment:\n      N8N_COMMUNITY_PACKAGES_ENABLED: \"true\"\n\n  caddy:\n    # AION stack reverse proxy\n    networks: [aion_net]\n\nnetworks:\n  aion_net:\n    driver: bridge\n```\n\nIf n8n and AION run in **separate** compose projects, attach both to one shared external network:\n\n```yaml\n# n8n compose\nnetworks:\n  aion_net:\n    external: true\n    name: aion_default   # name from `docker network ls`\n```\n\n**Alternative — reach the host from n8n:**\n\n```text\nhttp://host.docker.internal:<port>/api\n```\n\nOn Linux add to the n8n service:\n\n```yaml\nextra_hosts:\n  - \"host.docker.internal:host-gateway\"\n```\n\nUse the **host port** mapped in compose (e.g. `80` or `8001`), not `localhost`.\n\nAvoid LAN IPs (`192.168.x.x`): they change and break when the network changes. Prefer **service names** on a shared Docker network.\n\n### Docker (n8n + vLLM in separate compose stacks)\n\nThe **AION vLLM Chat Model** must reach vLLM directly (not via AION). Attach n8n and vLLM to the **same external Docker network** and use the vLLM **service name**:\n\n| From | Base URL in vLLM credentials |\n|------|----------------------------|\n| Host browser / curl | `http://127.0.0.1:8000/qwen3/v1` |\n| n8n container (shared network) | `http://vllm:8000/qwen3/v1` (replace `vllm` with your compose service name) |\n\n```yaml\n# n8n compose — attach to vLLM network\nservices:\n  n8n:\n    networks:\n      - default\n      - vllm_net\n\nnetworks:\n  vllm_net:\n    external: true\n    name: vllm_default   # from `docker network ls`\n```\n\nTest from the n8n container: `wget -qO- http://vllm:8000/qwen3/v1/models`\n\n## AION vLLM Chat Model (n8n AI Agent)\n\nUse this sub-node when the **n8n AI Agent** needs a chat model with **tool calling**. It connects **directly to vLLM** (`/v1/chat/completions`) and does **not** run the AION Agent pipeline.\n\n```\nAI Agent  ← Model ←  AION vLLM Chat Model\n```\n\n| Credential | Example |\n|------------|---------|\n| vLLM Base URL | `http://vllm:8000/qwen3/v1` (Docker) or `http://127.0.0.1:8000/qwen3/v1` (host) |\n| Model | Id from `GET /v1/models` (e.g. `Qwen/Qwen3-8B`) |\n\nFor AION profiles, memory, MCP tools, and web search, use the standalone **AION Agent** node instead.\n\n## Operations\n\n### Agent → Ask\n\n| Parameter | Description |\n|-----------|-------------|\n| Profile | Dynamic list from AION |\n| User ID | Default `n8n` (memory / ACL identity) |\n| Memory Project | Required for memory-enabled profiles (e.g. `generic_assistant`); loaded from `GET /v1/query-memory/projects` |\n| Agent Mode | `normal`, `plan`, `deep_research`, `long_run`, `ask`, `debug` (same as chat-ui) |\n| Thinking Enabled | Chain-of-thought / reasoning (`thinking_enabled`) |\n| Reasoning Effort | `min` / `medium` / `max` when thinking is on (`reasoning_effort`) |\n| Web Search | `web_search_enabled` — enable when `AION_WEB_SEARCH_REQUIRE_CLIENT_OPT_IN=1` |\n\n**Web search providers (AION server):** the n8n toggle only opts in per request. You also need at least one provider enabled on AION, e.g. `AION_WEB_SEARCH_TAVILY_ENABLED=1` and `AION_TAVILY_API_KEY`, then restart AION. If tools return `web_search_disabled`, check Admin → Settings → Web search.\n\n| Web Search Restrict Hosts | Optional host allowlist (`web_search_restrict_hosts`) |\n| LLM Provider | Optional provider slug (`llm_provider_name`), loaded from `/admin/llm-providers` |\n| Message Source | `user_input` (default), `internal_trigger`, `scheduled_trigger` |\n| Message | Prompt / automation text |\n| Upload Attachments | Upload binary file(s) before Ask (`POST /sessions/{ID}/upload`, same path as chat-ui) |\n| Binary Property | IMAP: leave empty to auto-upload all `attachment_*` keys; or set `attachment_0`, or comma-separated `attachment_0,attachment_1` |\n| Conversation ID | Optional AION UUID for multi-turn. **Leave empty** for IMAP workflows — do not map `$json.id` from email (e.g. `49`) |\n| Timeout (seconds) | Default `300` |\n\n**Output fields:** `text`, `conversation_id`, `session_id`, `profile`, `success`, `charts`, `error`, `tool_calls`, `conversation` (full message list with `tool_result` when available). When attachments were uploaded: `turn_attachments`, `attachments`. Optional `stream_events` when **Include Stream Events** is enabled.\n\nUses `POST /v1/chat/stream` (same SSE path as chat-ui) instead of the sync JSON endpoint.\n\n### Conversation → Create\n\nCreates a conversation with the selected profile. Pass the returned `id` into Ask as Conversation ID for multi-turn.\n\n## Example workflow\n\n```text\nCron / Webhook\n    → AION Agent (Ask, profile=aion_std, message=…)\n    → Slack / HTTP / DB\n```\n\nMulti-turn:\n\n```text\nAION Agent (Conversation → Create)\n    → AION Agent (Ask, conversationId={{ $json.id }})\n    → AION Agent (Ask, same conversationId)\n```\n\n### IMAP email → attachment → AION (e.g. extract matricole)\n\nConfigure **Email Trigger (IMAP)**:\n\n| Option | Value |\n|--------|--------|\n| Download Attachments | ON |\n| Format | `Resolved` or `Simple` |\n\nAttachments are stored on the item as binary properties `attachment_0`, `attachment_1`, … (not in JSON).\n\n```text\nIMAP Email Trigger\n    → AION Agent (Ask)\n        Upload Attachments: ON\n        Binary Property: (empty = all attachment_* , or attachment_0 for one file)\n        Message: Estrai tutte le matricole dal file allegato e restituiscile come JSON\n    → (optional) Code / Set to parse $json.text\n```\n\n**Expressions (debug):**\n\n- First attachment name: `{{ $binary.attachment_0.fileName }}`\n- Dynamic single attachment: `{{ $binary.keys()[0] }}`\n\n**Multiple attachments per email:** leave **Binary Property** empty (auto `attachment_0`, `attachment_1`, …) or use a **Split Out** node on `$binary` before AION Agent.\n\nRequires API key scope **`chat`** (attachments use the same session upload endpoint as chat-ui).\n\n## AION side checklist\n\n1. Create an API key with at least `chat` and `files:write` (if using attachments)\n2. Ensure profiles exist under `config/profiles`\n3. Confirm:\n\n```bash\ncurl -sS -H \"Authorization: Bearer $AION_API_KEY\" \\\n  \"$AION_BASE/profiles\" | jq .\n\ncurl -sS -N -X POST -H \"Authorization: Bearer $AION_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"message\":\"ping\",\"profile\":\"aion_std\"}' \\\n  \"$AION_BASE/v1/chat/stream\"\n```\n\n## Development\n\n```bash\npnpm install\npnpm build\npnpm dev   # n8n-node dev — hot reload against local n8n\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}