Skip to content

Commit ec6f5f1

Browse files
authored
Merge pull request #6019 from ethereum/remix-ai-assistant
Remix ai assistant
2 parents 3bd3ba2 + 3a1d395 commit ec6f5f1

File tree

75 files changed

+5322
-179
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+5322
-179
lines changed

.env.local

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,7 @@ account_passphrase=<passphrase>
33
account_password=<password>
44
NODE_OPTIONS=--max-old-space-size=2048
55
WALLET_CONNECT_PROJECT_ID=<project_id>
6+
NOIR_COMPILER_BASE_URL_DEV=<dev_base_endpoint>
7+
NOIR_COMPILER_BASE_URL_PROD=<prod_base_endpoint>
8+
NOIR_COMPILER_WS_URL_DEV=<dev_websocket_url>
9+
NOIR_COMPILER_WS_URL_PROD=<prod_websocket_url>

.github/workflows/pr-reminder.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1818
with:
1919
webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
20-
freeze-date: '2025-05-12T18:00:00Z'
20+
freeze-date: '2025-05-19T18:00:00Z'
2121
- name: Reminder for standup
2222
if: github.event.schedule == '55 8 * * 1-5'
2323
uses: Aniket-Engg/pr-reviews-reminder-action@master

.github/workflows/publish-action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ jobs:
99
steps:
1010
- name: Checkout
1111
uses: actions/checkout@v4
12-
- uses: actions/setup-node@v3
12+
- uses: actions/setup-node@v4
1313
with:
1414
node-version: 20.0.0
1515
- run: yarn install
1616
- run: ls
1717
- run: pwd
1818
- run: yarn run build:production
1919
- run: echo "action_state=$('./apps/remix-ide/ci/publishIpfs' ${{ secrets.IPFS_PROJET_ID }} ${{ secrets.IPFS_PROJECT_SECRET }})" >> $GITHUB_ENV
20-
- uses: mshick/add-pr-comment@v1
20+
- uses: mshick/add-pr-comment@v2
2121
with:
2222
message: |
2323
ipfs://${{ env.action_state }}

.github/workflows/run-sut.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
- name: Checkout
1111
uses: actions/checkout@v4
1212
- name: Environment Setup
13-
uses: actions/setup-node@v3
13+
uses: actions/setup-node@v4
1414
with:
1515
node-version: 20.0.0
1616
- name: Run SUT Action

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ stats.json
1818
release
1919
.env
2020
.env.local
21-
21+
.idea/
22+
.yalc/
2223

2324
# compiled output
2425
/dist

.yalc/@nlux/core/README.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# [NLUX JS](https://docs.nlkit.com/nlux) 🌲✨💬
2+
3+
![Free And Open Source](https://img.shields.io/badge/Free%20%26%20Open%20Source-1ccb61)
4+
[![Docs https://docs.nlkit.com/nlux](https://img.shields.io/badge/Docs_Website-docs.nlkit.com/nlux-fa896b)](https://docs.nlkit.com/nlux)
5+
6+
## The Conversational AI UI Library For Any LLM
7+
8+
`NLUX` _(for Natural Language User Experience)_ is an open-source JavaScript library that makes it super simple to
9+
integrate powerful large language models (LLMs) like ChatGPT into your web app or website. With just a few lines
10+
of code, you can add conversational AI capabilities and interact with your favorite LLM.
11+
12+
## Key Features 🌟
13+
14+
* **Build AI Chat Interfaces In Minutes** ― High quality conversational AI interfaces with just a few lines of code.
15+
* **LLM Adapters** ― For `ChatGPT` / `LangChain` 🦜 LangServe / `HuggingFace` 🤗 Inference.
16+
* A flexible interface to **Create Your Own Adapter** for any LLM or API.
17+
* **Assistant and User Personas** ― Customize the assistant and user personas with names, images, and more.
18+
* **Streaming LLM Output** ― Stream the chat response to the UI as it's being generated.
19+
* **Customizable Theme** - Easily customize the look and feel of the chat interface using CSS variables.
20+
* **Event Listeners** - Listen to messages, errors, and other events to customize the UI and behaviour.
21+
* **Zero Dependency** ― Lightweight codebase ― Core with zero dependency and no external UI libraries.
22+
23+
[![200+ Unit Tests](https://github.com/nlkitai/nlux/actions/workflows/run-all-tests.yml/badge.svg)](https://github.com/nlkitai/nlux/actions/workflows/run-all-tests.yml)
24+
25+
## Docs & Examples 📖
26+
27+
* Developer portal ― [docs.nlkit.com/nlux](https://docs.nlkit.com/nlux)
28+
* Examples and live code playgrounds ― [docs.nlkit.com/nlux/examples](https://docs.nlkit.com/nlux/examples/react-js-ai-assistant)
29+
* [Standard LLM adapters available](https://docs.nlkit.com/nlux/learn/adapters)
30+
* [How to create your own adapter for nlux](https://docs.nlkit.com/nlux/learn/adapters/custom-adapters/create-custom-adapter)
31+
32+
## Vanilla JS 🟨 vs React JS ⚛️
33+
34+
This package `@nlux/core` is the vanilla JS version of the library.
35+
If you're looking for the React JS version, please check
36+
the [`@nlux/react`](https://www.npmjs.com/package/@nlux/react) package.
37+
38+
## Get Started With `NLUX JS` 🚀
39+
40+
The example below demonstrates how to create an AI chat interface using `NLUX JS` and LangChain, the open source
41+
framework for building LLM backends. But you can use `NLUX` **with any LLM** ― either
42+
via the [standard adapters](https://docs.nlkit.com/nlux/learn/adapters) provided, or
43+
by creating [your own adapter](https://docs.nlkit.com/nlux/learn/adapters/custom-adapters/create-custom-adapter).
44+
45+
To get started with `NLUX JS` and `LangChain`, install the `@nlux/core` and `@nlux/langchain` packages:
46+
47+
```sh
48+
npm install @nlux/core @nlux/langchain
49+
```
50+
51+
Configure the LangChain LangServe adapter to connect to your API endpoint:
52+
53+
```js
54+
import {createAiChat} from '@nlux/core';
55+
import {createChatAdapter} from '@nlux/langchain';
56+
57+
const langChainAdapter = createChatAdapter().withUrl('https://<Your LangServe Runnable URL>');
58+
```
59+
60+
Then render the `AiChat` component into your web page:
61+
62+
```js
63+
const aiChat = createAiChat()
64+
.withAdapter(langChainAdapter)
65+
.withConversationOptions({
66+
historyPayloadSize: 'max'
67+
})
68+
.withComposerOptions({
69+
placeholder: 'How can I help you today?'
70+
})
71+
72+
aiChat.mount(document.getElementById('root'));
73+
```
74+
75+
You should also [include the NLUX theme CSS file](#theme-file-and-css-) in your HTML page.
76+
77+
## And The Result Is ✨
78+
79+
An AI chatbot, powered by LangChain, that can understand and respond to user messages:
80+
81+
[![NLUX AiChat Component](https://content.nlkit.com/images/demos/chat-convo-demo-fin-advisor.gif)](https://docs.nlkit.com/nlux)
82+
83+
## Theme File and CSS 🎨
84+
85+
You should include a **theme CSS file** into your HTML page.<br />
86+
You can download and host the `Nova Theme` CSS file
87+
from [`@nlux/themes`](https://www.npmjs.com/package/@nlux/themes) package.

.yalc/@nlux/core/cjs/nlux-core.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.yalc/@nlux/core/esm/nlux-core.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.yalc/@nlux/core/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
'use strict';
2+
3+
module.exports = require('./cjs/nlux-core.js');

0 commit comments

Comments
 (0)