relmio 0.2.15 → 0.3.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/CHANGELOG.md +43 -0
- package/README.md +96 -26
- package/docs/images/examples/gpt-56-model-selector.png +0 -0
- package/docs/images/examples/n8n-openai-credential-connected.png +0 -0
- package/docs/images/examples/telegram-model-results.png +0 -0
- package/docs/images/examples/telegram-n8n-workflow-execution.png +0 -0
- package/docs/images/setup/00-install-methods.png +0 -0
- package/docs/images/setup/01-local-sign-in-ready.png +0 -0
- package/docs/images/setup/02-vps-identity-confirmed.png +0 -0
- package/docs/images/setup/03-n8n-detected.png +0 -0
- package/docs/images/setup/04-install-plan.png +0 -0
- package/docs/images/setup/05-bridge-ready.png +0 -0
- package/docs/n8n-configuration.md +94 -24
- package/package.json +1 -1
- package/src/ui/app.js +32 -5
- package/src/ui/index.html +138 -113
- package/src/ui/styles.css +577 -278
package/src/ui/index.html
CHANGED
|
@@ -55,108 +55,108 @@
|
|
|
55
55
|
</div>
|
|
56
56
|
</header>
|
|
57
57
|
|
|
58
|
-
<
|
|
59
|
-
<aside
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
58
|
+
<main id="main-content" class="shell" tabindex="-1">
|
|
59
|
+
<aside class="rail" aria-label="Setup progress and safety">
|
|
60
|
+
<section class="intro" aria-labelledby="page-title">
|
|
61
|
+
<h1 id="page-title">Connect n8n without changing n8n</h1>
|
|
62
|
+
<p class="lede">
|
|
63
|
+
This wizard installs one separate Docker sidecar. Your existing n8n
|
|
64
|
+
image, Compose file, container, and workflows stay untouched.
|
|
65
|
+
</p>
|
|
66
|
+
</section>
|
|
67
|
+
|
|
68
|
+
<nav class="steps" aria-label="Setup progress">
|
|
69
|
+
<ol>
|
|
70
|
+
<li data-step-marker="1" aria-current="step">
|
|
71
|
+
<span>1</span><em>Sign in</em>
|
|
72
|
+
</li>
|
|
73
|
+
<li data-step-marker="2"><span>2</span><em>VPS</em></li>
|
|
74
|
+
<li data-step-marker="3"><span>3</span><em>n8n</em></li>
|
|
75
|
+
<li data-step-marker="4"><span>4</span><em>Review</em></li>
|
|
76
|
+
<li data-step-marker="5"><span>5</span><em>Done</em></li>
|
|
77
|
+
</ol>
|
|
78
|
+
</nav>
|
|
79
|
+
|
|
80
|
+
<div class="toast-stack" aria-label="Wizard notifications">
|
|
81
|
+
<aside
|
|
82
|
+
id="global-safety"
|
|
83
|
+
class="toast safety-note"
|
|
84
|
+
aria-label="Safety guarantee"
|
|
85
|
+
>
|
|
86
|
+
<strong>Sidecar-only guarantee</strong>
|
|
87
|
+
<span>
|
|
88
|
+
No n8n restart. No n8n rebuild. No public port. You approve the
|
|
89
|
+
exact plan before anything is written.
|
|
90
|
+
</span>
|
|
91
|
+
<button
|
|
92
|
+
class="toast-close"
|
|
93
|
+
type="button"
|
|
94
|
+
data-dismiss-toast="global-safety"
|
|
95
|
+
aria-label="Dismiss safety guarantee"
|
|
96
|
+
>
|
|
97
|
+
<span aria-hidden="true">×</span>
|
|
98
|
+
</button>
|
|
99
|
+
</aside>
|
|
98
100
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
101
|
+
<aside
|
|
102
|
+
id="global-backup"
|
|
103
|
+
class="toast safety-note backup-note"
|
|
104
|
+
aria-label="Backup reminder"
|
|
105
|
+
>
|
|
106
|
+
<strong>Back up first</strong>
|
|
107
|
+
<span>
|
|
108
|
+
Export your n8n workflows before connecting. This wizard uses
|
|
109
|
+
sidecar-only commands, but it still writes to your VPS.
|
|
110
|
+
</span>
|
|
111
|
+
<button
|
|
112
|
+
class="toast-close"
|
|
113
|
+
type="button"
|
|
114
|
+
data-dismiss-toast="global-backup"
|
|
115
|
+
aria-label="Dismiss backup reminder"
|
|
116
|
+
>
|
|
117
|
+
<span aria-hidden="true">×</span>
|
|
118
|
+
</button>
|
|
119
|
+
</aside>
|
|
115
120
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
</div>
|
|
133
|
-
</div>
|
|
134
|
-
|
|
135
|
-
<main id="main-content" class="shell">
|
|
136
|
-
<section class="intro" aria-labelledby="page-title">
|
|
137
|
-
<p class="eyebrow">Guided VPS setup</p>
|
|
138
|
-
<h1 id="page-title">Connect n8n without changing n8n</h1>
|
|
139
|
-
<p class="lede">
|
|
140
|
-
This wizard installs one separate Docker sidecar. Your existing n8n
|
|
141
|
-
image, Compose file, container, and workflows stay untouched.
|
|
142
|
-
</p>
|
|
143
|
-
</section>
|
|
121
|
+
<div
|
|
122
|
+
id="global-message"
|
|
123
|
+
class="toast message"
|
|
124
|
+
role="status"
|
|
125
|
+
aria-live="polite"
|
|
126
|
+
>
|
|
127
|
+
<span id="global-message-text">Checking your local sign-in…</span>
|
|
128
|
+
<button
|
|
129
|
+
class="toast-close"
|
|
130
|
+
type="button"
|
|
131
|
+
data-dismiss-toast="global-message"
|
|
132
|
+
aria-label="Dismiss status message"
|
|
133
|
+
>
|
|
134
|
+
<span aria-hidden="true">×</span>
|
|
135
|
+
</button>
|
|
136
|
+
</div>
|
|
144
137
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
138
|
+
<div
|
|
139
|
+
id="global-error"
|
|
140
|
+
class="toast error"
|
|
141
|
+
role="alert"
|
|
142
|
+
tabindex="-1"
|
|
143
|
+
hidden
|
|
144
|
+
>
|
|
145
|
+
<span id="global-error-text"></span>
|
|
146
|
+
<button
|
|
147
|
+
class="toast-close"
|
|
148
|
+
type="button"
|
|
149
|
+
data-dismiss-toast="global-error"
|
|
150
|
+
aria-label="Dismiss error"
|
|
151
|
+
>
|
|
152
|
+
<span aria-hidden="true">×</span>
|
|
153
|
+
</button>
|
|
154
|
+
</div>
|
|
155
|
+
</div>
|
|
156
|
+
</aside>
|
|
156
157
|
|
|
157
158
|
<section class="panel" data-step="1" aria-labelledby="signin-title">
|
|
158
159
|
<div class="panel-heading">
|
|
159
|
-
<span class="step-kicker">Step 1 of 5</span>
|
|
160
160
|
<h2 id="signin-title" tabindex="-1">Use your local ChatGPT sign-in</h2>
|
|
161
161
|
<p>
|
|
162
162
|
The OAuth credential stays on this computer until you approve its
|
|
@@ -198,7 +198,6 @@
|
|
|
198
198
|
|
|
199
199
|
<section class="panel" data-step="2" aria-labelledby="vps-title" hidden>
|
|
200
200
|
<div class="panel-heading">
|
|
201
|
-
<span class="step-kicker">Step 2 of 5</span>
|
|
202
201
|
<h2 id="vps-title" tabindex="-1">Connect to your VPS</h2>
|
|
203
202
|
<p>
|
|
204
203
|
Copy the address exactly from Hostinger. Your password is used only
|
|
@@ -294,7 +293,6 @@
|
|
|
294
293
|
|
|
295
294
|
<section class="panel" data-step="3" aria-labelledby="n8n-title" hidden>
|
|
296
295
|
<div class="panel-heading">
|
|
297
|
-
<span class="step-kicker">Step 3 of 5</span>
|
|
298
296
|
<h2 id="n8n-title" tabindex="-1">Choose the detected n8n</h2>
|
|
299
297
|
<p>
|
|
300
298
|
Discovery uses read-only Docker commands. It does not execute
|
|
@@ -332,7 +330,6 @@
|
|
|
332
330
|
|
|
333
331
|
<section class="panel" data-step="4" aria-labelledby="review-title" hidden>
|
|
334
332
|
<div class="panel-heading">
|
|
335
|
-
<span class="step-kicker">Step 4 of 5</span>
|
|
336
333
|
<h2 id="review-title" tabindex="-1">Review before installing</h2>
|
|
337
334
|
<p>No existing n8n files or containers will be changed.</p>
|
|
338
335
|
</div>
|
|
@@ -381,14 +378,15 @@
|
|
|
381
378
|
</section>
|
|
382
379
|
|
|
383
380
|
<section class="panel success-panel" data-step="5" aria-labelledby="done-title" hidden>
|
|
384
|
-
<div class="success-
|
|
385
|
-
|
|
386
|
-
<
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
381
|
+
<div class="success-heading">
|
|
382
|
+
<div class="success-mark" aria-hidden="true">✓</div>
|
|
383
|
+
<div class="panel-heading">
|
|
384
|
+
<h2 id="done-title" tabindex="-1">The private bridge is ready</h2>
|
|
385
|
+
<p>
|
|
386
|
+
Copy the OpenAI credential values first, then use one of the node
|
|
387
|
+
recipes below.
|
|
388
|
+
</p>
|
|
389
|
+
</div>
|
|
392
390
|
</div>
|
|
393
391
|
|
|
394
392
|
<h3>1. OpenAI credential</h3>
|
|
@@ -435,7 +433,7 @@
|
|
|
435
433
|
|
|
436
434
|
<button
|
|
437
435
|
id="copy-settings"
|
|
438
|
-
class="button
|
|
436
|
+
class="button primary"
|
|
439
437
|
type="button"
|
|
440
438
|
data-copy-group="credential"
|
|
441
439
|
data-copy-label="OpenAI credential settings"
|
|
@@ -488,7 +486,7 @@
|
|
|
488
486
|
<div>
|
|
489
487
|
<dt>URL</dt>
|
|
490
488
|
<dd class="result-value">
|
|
491
|
-
<code id="result-http-url">http://n8n-openai-oauth:10531/v1/
|
|
489
|
+
<code id="result-http-url">http://n8n-openai-oauth:10531/v1/chat/completions</code>
|
|
492
490
|
<button
|
|
493
491
|
class="button secondary copy-value"
|
|
494
492
|
type="button"
|
|
@@ -501,16 +499,43 @@
|
|
|
501
499
|
</dd>
|
|
502
500
|
</div>
|
|
503
501
|
<div>
|
|
504
|
-
<dt>
|
|
505
|
-
<dd
|
|
502
|
+
<dt>Authentication</dt>
|
|
503
|
+
<dd>Generic Credential Type</dd>
|
|
504
|
+
</div>
|
|
505
|
+
<div>
|
|
506
|
+
<dt>Generic Auth Type</dt>
|
|
507
|
+
<dd>Bearer Auth</dd>
|
|
508
|
+
</div>
|
|
509
|
+
<div>
|
|
510
|
+
<dt>Credential</dt>
|
|
511
|
+
<dd><code>openai-oauth</code></dd>
|
|
512
|
+
</div>
|
|
513
|
+
<div>
|
|
514
|
+
<dt>Bearer token</dt>
|
|
515
|
+
<dd><code>local-only</code></dd>
|
|
516
|
+
</div>
|
|
517
|
+
<div>
|
|
518
|
+
<dt>Authorization header</dt>
|
|
519
|
+
<dd class="result-value">
|
|
520
|
+
<code id="result-http-auth">Bearer local-only</code>
|
|
521
|
+
<button
|
|
522
|
+
class="button secondary copy-value"
|
|
523
|
+
type="button"
|
|
524
|
+
data-copy-target="result-http-auth"
|
|
525
|
+
data-copy-label="Authorization header"
|
|
526
|
+
aria-label="Copy Authorization header"
|
|
527
|
+
>
|
|
528
|
+
Copy
|
|
529
|
+
</button>
|
|
530
|
+
</dd>
|
|
506
531
|
</div>
|
|
507
532
|
<div>
|
|
508
533
|
<dt>Content-Type</dt>
|
|
509
534
|
<dd><code>application/json</code></dd>
|
|
510
535
|
</div>
|
|
511
536
|
<div>
|
|
512
|
-
<dt>
|
|
513
|
-
<dd>
|
|
537
|
+
<dt>Send body</dt>
|
|
538
|
+
<dd>On · JSON · Using JSON</dd>
|
|
514
539
|
</div>
|
|
515
540
|
<div class="sample-body-row">
|
|
516
541
|
<dt>JSON body</dt>
|