{"id":13495199,"url":"https://github.com/nlkitai/nlux","last_synced_at":"2025-10-03T15:32:12.879Z","repository":{"id":204327009,"uuid":"711391701","full_name":"nlkitai/nlux","owner":"nlkitai","description":"The 𝗣𝗼𝘄𝗲𝗿𝗳𝘂𝗹 Conversational AI JavaScript Library 💬 — UI for any LLM, supporting LangChain / HuggingFace / Vercel AI, and more 🧡 React, Next.js, and plain JavaScript ⭐️","archived":false,"fork":false,"pushed_at":"2024-09-07T17:03:13.000Z","size":19933,"stargazers_count":1250,"open_issues_count":38,"forks_count":76,"subscribers_count":10,"default_branch":"latest","last_synced_at":"2025-03-31T20:39:08.323Z","etag":null,"topics":["artificial-intelligence","chatbot","chatgpt","huggingface","javascript","large-language-models","llm","openai","reactjs","vercel-ai-sdk"],"latest_commit_sha":null,"homepage":"https://docs.nlkit.com/nlux","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nlkitai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["nlkit.com/enterprise"]}},"created_at":"2023-10-29T05:37:42.000Z","updated_at":"2025-03-31T12:08:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"eb130fc7-9e27-4e57-b376-0b06fc0a8b79","html_url":"https://github.com/nlkitai/nlux","commit_stats":null,"previous_names":["nluxai/nlux","nlkitai/nlux"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nlkitai%2Fnlux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nlkitai%2Fnlux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nlkitai%2Fnlux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nlkitai%2Fnlux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nlkitai","download_url":"https://codeload.github.com/nlkitai/nlux/tar.gz/refs/heads/latest","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248161243,"owners_count":21057552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-intelligence","chatbot","chatgpt","huggingface","javascript","large-language-models","llm","openai","reactjs","vercel-ai-sdk"],"created_at":"2024-07-31T19:01:32.371Z","updated_at":"2025-10-03T15:32:07.858Z","avatar_url":"https://github.com/nlkitai.png","language":"TypeScript","funding_links":["nlkit.com/enterprise"],"categories":["TypeScript","Chatbots","🤖 AI \u0026 Machine Learning","SDK, Libraries, Frameworks","AI"],"sub_categories":["JavaScript/Typescript library, sdk or frameworks"],"readme":"# NLUX\n\n\u003cp align=center style=\"font-size: 1.5em\"\u003e\n  \u003cimg style=\"padding: 0; margin: 0;\" height=\"80px\" src=\"https://content.nlkit.com/logos/nlux.png\"/\u003e\u003cbr /\u003e\n  The \u003cstrong\u003ePowerful\u003c/strong\u003e Conversational AI\u003cbr /\u003eJavaScript Library ✨💬\n\u003c/p\u003e\n\u003cp align=center\u003e\n  \u003cimg alt=\"Free \u0026 Open Source\" src=\"https://img.shields.io/badge/Free%20%26%20Open%20Source-1ccb61\" /\u003e\n  \u003ca href=\"https://github.com/nlkitai/nlux/actions/workflows/run-all-tests.yml\"\u003e\u003cimg alt=\"600+ Unit Tests\" src=\"https://github.com/nlkitai/nlux/actions/workflows/run-all-tests.yml/badge.svg\" /\u003e\u003c/a\u003e\n\u003cbr /\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@nlux/react\"\u003e\u003cimg alt=\"npm @nlux/react\" src=\"https://img.shields.io/badge/NPM-@nlux/react-dbda6a\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@nlux/core\"\u003e\u003cimg alt=\"npm @nlux/core\" src=\"https://img.shields.io/badge/NPM-@nlux/core-dbda6a\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://docs.nlkit.com/nlux\"\u003eDocs Website\u003c/a\u003e | \u003ca href=\"https://discord.gg/SRwDmZghNB\"\u003eDiscord Community\u003c/a\u003e | \u003ca href=\"https://twitter.com/nluxai\"\u003eX\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    Do you like this project ? Please star the repo to show your support 🌟 🧡\n    \u003cbr /\u003e\n    Building with \u003ccode\u003eNLUX\u003c/code\u003e ? \u003ca href=\"https://calendly.com/nlkit/intro\"\u003eGet in touch\u003c/a\u003e — We'd love to hear from you.\n\u003c/p\u003e\n\n------\n\n`NLUX` is React and JavaScript open-source library for building conversational AI interfaces. It makes it super simple\nto build web applications powered by Large Language Models (LLMs). With just a few  lines of code, you can add\nconversational AI capabilities and interact with your favorite AI models.\n\n## Try `NLUX` 🚀\n\nUse `nlux-cli` to quickly spin up a new `Next.js`, `React`, or `Vanilla TypeScript` project with NLUX integrated.\n\n[![NLUX UI For Any LLM](https://content.nlkit.com/images/github/nlux-cli-animation.gif)](https://docs.nlkit.com/nlux)\n\n**Get started with `NLUX` and your favorite web framework under a minute:**\n\n```sh\n# Next.js 🔼 with NLUX \nnpx nlux-cli create next my-next-app\n```\n```sh\n# React ⚛️ , Vite, with NLUX\nnpx nlux-cli create react my-react-app\n```\n```sh\n# Or, vanilla TypeScript 🟨 , Vite, with NLUX\nnpx nlux-cli create vanilla my-vanilla-app\n```\n\n## Docs \u0026 Examples 🔥\n\n* The docs website is available at:  \n  **[docs.nlkit.com/nlux](https://docs.nlkit.com/nlux)**\n\n* Several **Get Started Guides** are available, including for:  \n  [Next.js and Vercel AI](https://docs.nlkit.com/nlux/learn/get-started/vercel-ai/) —\n  [LangChain LangServe](https://docs.nlkit.com/nlux/learn/get-started/nlux-langchain) —\n  [React with Node.js Backend](https://docs.nlkit.com/nlux/learn/get-started/nlux-nodejs-nlbridge-chatgpt)\n\n## Key Features 🌟\n\n* **Build AI Chat Interfaces In Minutes** ― High quality conversational AI interfaces with just a few lines of code.\n* **React Components \u0026 Hooks** ― `\u003cAiChat /\u003e` for UI and `useChatAdapter` hook for easy integration.\n* **Next.js \u0026 Vercel AI** ― Out-of-the-box support, demos, and examples for Next.js and Vercel AI.\n* **React Server Components (RSC) and Generative UI** 🔥 ― With Next.js or any RSC compatible framework.\n* **LLM Adapters** ― For `ChatGPT` ― `LangChain` 🦜 `LangServe` APIs ― `Hugging Face` 🤗 Inference.\n* A flexible interface to **Create Your Own Adapter** 🎯 for any LLM ― with support for stream or batch modes.\n* **Assistant and User Personas** ― Customize participant personas with names, images, and descriptions.\n* **Highly Customizable** ― Tune almost every UI aspect through theming, layout options, and more.\n* **Zero Dependency** ― Lightweight codebase ― Core with zero dependency and no external UI libraries.\n\n## Repo Content 📦\n\nThis GitHub repository contains the source code for the `NLUX` library.\u003cbr /\u003e\nIt is a monorepo that contains code for following NPM packages:\n\n⚛️ **React JS Packages:**\n\n* [`@nlux/react`](https://www.npmjs.com/package/@nlux/react) ― React JS components for `NLUX`.\n* [`@nlux/langchain-react`](https://www.npmjs.com/package/@nlux/langchain-react) ― React hooks and adapter for APIs\n  created using LangChain's LangServe library.\n* [`@nlux/openai-react`](https://www.npmjs.com/package/@nlux/openai-react) ― React hooks for the OpenAI API, for testing\n  and development.\n* [`@nlux/hf-react`](https://www.npmjs.com/package/@nlux/hf-react) ― React hooks and pre-processors for the Hugging Face\n  Inference API\n* [`@nlux/nlbridge-react`](https://www.npmjs.com/package/@nlux/nlbridge-react) ― Integration with `nlbridge`, the\n  Express.js LLM middleware by the NLUX team.\n\n🟨 **Vanilla JS Packages:**\n\n* [`@nlux/core`](https://www.npmjs.com/package/@nlux/core) ― The core Vanilla JS library to use with any web framework.\n* [`@nlux/langchain`](https://www.npmjs.com/package/@nlux/langchain) ― Adapter for APIs created using LangChain's\n  LangServe library.\n* [`@nlux/openai`](https://www.npmjs.com/package/@nlux/openai) ― Adapter for the OpenAI API, for testing and\n  development.\n* [`@nlux/hf`](https://www.npmjs.com/package/@nlux/hf) ― Adapter and pre-processors for the Hugging Face Inference API.\n* [`@nlux/nlbridge`](https://www.npmjs.com/package/@nlux/nlbridge) ― Integration with `nlbridge`, the Express.js LLM\n  middleware by the NLUX team.\n\n🎁 **Themes \u0026 Extensions:**\n\n* [`@nlux/themes`](https://www.npmjs.com/package/@nlux/themes) ― The default `Luna` theme and CSS styles.\n* [`@nlux/markdown`](https://www.npmjs.com/package/@nlux/markdown) ― Markdown stream parser to render\n  markdown as it's being generated.\n* [`@nlux/highlighter`](https://www.npmjs.com/package/@nlux/highlighter) ― Syntax highlighter based on\n  [Highlight.js](https://highlightjs.org/).\n\nPlease visit each package's NPM page for information on how to use it.\n\n## Design Principles ⚜️\n\nThe following design principles guide the development of `NLUX`:\n\n* **Intuitive** ― Interactions enabled by `NLUX` should be intuitive.\n  Usage should unfold naturally without obstacles or friction. No teaching or thinking\n  should be required to use UI built with `NLUX`.\n\n* **Performant** ― `NLUX` should be as fast as possible. Fast to load, fast to render\n  and update, fast to respond to user input. To achieve that, we should avoid unnecessary\n  work, optimize for performance, minimize bundle size, and not depend on external libraries.\n\n* **Accessible** ― UI built with `NLUX` should be accessible to everyone. It should be usable\n  by people with disabilities, on various devices, in various environments, and using various\n  input methods (keyboard, touch, voice).\n\n* **DX** ― `NLUX` recognizes developers as first-class citizens. The library should enable an\n  optimal DX (developer experience). It should be effortless to use, easy to understand, and\n  simple to extend. Stellar documentation should be provided. The feature roadmap should evolve\n  aligning to developer needs voiced.\n\n## Mission 👨‍🚀\n\nOur mission is **to enable developers to build outstanding LLM front-ends and applications**,\ncross platforms, with a focus on performance and usability.\n\n## Community \u0026 Support 🙏\n\n* **Star The Repo** 🌟 ― If you like `NLUX`, please star the repo to show your support.  \n  Your support is what keeps this open-source project going 🧡\n* [GitHub Discussions](https://github.com/nlkitai/nlux/discussions) ― Ask questions, report issues, and share your\n  ideas with the community.\n* [Discord Community](https://discord.gg/SRwDmZghNB) ― Join our Discord server to chat with the community and get\n  support.\n* [docs.nlkit.com/nlux](https://docs.nlkit.com/nlux) Developer Website ― Examples, learning resources, and API reference.\n\n## License 📃\n\n`NLUX` is licensed under Mozilla Public License Version 2.0 with restriction to use as\npart of a training dataset to develop or improve AI models, or as an input for code\ntranslation tools.\n\n\u003e Paragraphs (3.6) and (3.7) were added to the original MPL 2.0 license.  \n\u003e The full license text can be found in the [LICENSE](LICENSE) file.\n\n**In a nutshell:**\n\n* You can use `NLUX` in your personal projects.\n* You can use `NLUX` in your commercial projects.\n* You can modify `NLUX` and publish your changes under the same license.\n* You cannot use `NLUX`'s source code as dataset to train AI models, nor with code translation tools.\n\nWondering what it means to use software licensed under MPL 2.0? Learn more\non [MPL 2.0 FAQ](https://www.mozilla.org/en-US/MPL/2.0/FAQ/).  \nPlease read the full license text in the [LICENSE](LICENSE) file for details.\n\n## About The Project 👨‍💻\n\nThis open-source project fits under the umbrella of [NLKit](https://nlkit.com), a suite of tools and libraries for \nbuilding conversational AI applications. `NLUX` is the first project in the NLKit suite, with more to come.\n\nThe project is being led by [Salmen Hichri](https://github.com/salmenus), a senior software engineer with over a decade of experience building user interfaces and developer\ntools at companies like Amazon and Goldman Sachs, and contributions to open-source projects.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnlkitai%2Fnlux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnlkitai%2Fnlux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnlkitai%2Fnlux/lists"}