agentgui 1.0.622 → 1.0.624
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/docs/index.html +157 -569
- package/package.json +1 -1
package/docs/index.html
CHANGED
|
@@ -1,633 +1,221 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
2
|
+
<html lang="en" data-theme="dark">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<meta name="description" content="AgentGUI - Multi-agent GUI for
|
|
6
|
+
<meta name="description" content="AgentGUI - Multi-agent GUI for Claude Code, Gemini CLI, OpenCode and more. Real-time streaming, dark mode, voice, and SQLite persistence.">
|
|
7
7
|
<title>AgentGUI - Multi-Agent GUI for AI Coding Assistants</title>
|
|
8
|
-
|
|
8
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/rippleui@1.12.1/dist/css/styles.css"/>
|
|
9
|
+
<script src="https://cdn.tailwindcss.com"></script>
|
|
9
10
|
<style>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
:root {
|
|
17
|
-
--primary: #3b82f6;
|
|
18
|
-
--primary-dark: #1e40af;
|
|
19
|
-
--secondary: #10b981;
|
|
20
|
-
--bg-dark: #111827;
|
|
21
|
-
--bg-darker: #0f172a;
|
|
22
|
-
--text-light: #f9fafb;
|
|
23
|
-
--text-gray: #9ca3af;
|
|
24
|
-
--border: #374151;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
body {
|
|
28
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
|
|
29
|
-
line-height: 1.6;
|
|
30
|
-
color: #333;
|
|
31
|
-
background: #ffffff;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/* Hero Section */
|
|
35
|
-
.hero {
|
|
36
|
-
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
37
|
-
color: white;
|
|
38
|
-
padding: 120px 20px 80px;
|
|
39
|
-
text-align: center;
|
|
40
|
-
position: relative;
|
|
41
|
-
overflow: hidden;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.hero::before {
|
|
45
|
-
content: '';
|
|
46
|
-
position: absolute;
|
|
47
|
-
top: 0;
|
|
48
|
-
left: 0;
|
|
49
|
-
right: 0;
|
|
50
|
-
bottom: 0;
|
|
51
|
-
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120"><path fill="%23ffffff" fill-opacity="0.1" d="M0,0 L1200,0 L1200,60 Q600,120 0,60 Z"/></svg>') no-repeat bottom;
|
|
52
|
-
background-size: cover;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.hero-content {
|
|
56
|
-
max-width: 900px;
|
|
57
|
-
margin: 0 auto;
|
|
58
|
-
position: relative;
|
|
59
|
-
z-index: 1;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.hero h1 {
|
|
63
|
-
font-size: 3.5rem;
|
|
64
|
-
font-weight: 800;
|
|
65
|
-
margin-bottom: 1.5rem;
|
|
66
|
-
line-height: 1.2;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.hero p {
|
|
70
|
-
font-size: 1.3rem;
|
|
71
|
-
margin-bottom: 2.5rem;
|
|
72
|
-
opacity: 0.95;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.badges {
|
|
76
|
-
display: flex;
|
|
77
|
-
gap: 10px;
|
|
78
|
-
justify-content: center;
|
|
79
|
-
flex-wrap: wrap;
|
|
80
|
-
margin-bottom: 2rem;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
.badges img {
|
|
84
|
-
height: 20px;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.cta-buttons {
|
|
88
|
-
display: flex;
|
|
89
|
-
gap: 1rem;
|
|
90
|
-
justify-content: center;
|
|
91
|
-
flex-wrap: wrap;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.btn {
|
|
95
|
-
padding: 14px 32px;
|
|
96
|
-
border-radius: 8px;
|
|
97
|
-
text-decoration: none;
|
|
98
|
-
font-weight: 600;
|
|
99
|
-
font-size: 1.1rem;
|
|
100
|
-
transition: all 0.3s ease;
|
|
101
|
-
display: inline-block;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.btn-primary {
|
|
105
|
-
background: white;
|
|
106
|
-
color: #667eea;
|
|
107
|
-
box-shadow: 0 4px 14px rgba(0,0,0,0.2);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
.btn-primary:hover {
|
|
111
|
-
transform: translateY(-2px);
|
|
112
|
-
box-shadow: 0 6px 20px rgba(0,0,0,0.3);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.btn-secondary {
|
|
116
|
-
background: rgba(255,255,255,0.2);
|
|
117
|
-
color: white;
|
|
118
|
-
border: 2px solid white;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
.btn-secondary:hover {
|
|
122
|
-
background: rgba(255,255,255,0.3);
|
|
123
|
-
transform: translateY(-2px);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
/* Container */
|
|
127
|
-
.container {
|
|
128
|
-
max-width: 1200px;
|
|
129
|
-
margin: 0 auto;
|
|
130
|
-
padding: 0 20px;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/* Section */
|
|
134
|
-
.section {
|
|
135
|
-
padding: 80px 20px;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
.section-title {
|
|
139
|
-
text-align: center;
|
|
140
|
-
font-size: 2.5rem;
|
|
141
|
-
font-weight: 700;
|
|
142
|
-
margin-bottom: 1rem;
|
|
143
|
-
color: #1f2937;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
.section-subtitle {
|
|
147
|
-
text-align: center;
|
|
148
|
-
font-size: 1.2rem;
|
|
149
|
-
color: #6b7280;
|
|
150
|
-
margin-bottom: 4rem;
|
|
151
|
-
max-width: 700px;
|
|
152
|
-
margin-left: auto;
|
|
153
|
-
margin-right: auto;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/* Features Grid */
|
|
157
|
-
.features-grid {
|
|
158
|
-
display: grid;
|
|
159
|
-
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
|
160
|
-
gap: 2.5rem;
|
|
161
|
-
margin-top: 3rem;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
.feature-card {
|
|
165
|
-
background: white;
|
|
166
|
-
border: 1px solid #e5e7eb;
|
|
167
|
-
border-radius: 12px;
|
|
168
|
-
padding: 2rem;
|
|
169
|
-
transition: all 0.3s ease;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
.feature-card:hover {
|
|
173
|
-
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
|
|
174
|
-
transform: translateY(-5px);
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
.feature-icon {
|
|
178
|
-
font-size: 2.5rem;
|
|
179
|
-
margin-bottom: 1rem;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
.feature-card h3 {
|
|
183
|
-
font-size: 1.3rem;
|
|
184
|
-
margin-bottom: 0.8rem;
|
|
185
|
-
color: #1f2937;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
.feature-card p {
|
|
189
|
-
color: #6b7280;
|
|
190
|
-
line-height: 1.7;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/* Screenshots */
|
|
194
|
-
.screenshot-gallery {
|
|
195
|
-
display: grid;
|
|
196
|
-
grid-template-columns: repeat(3, 1fr);
|
|
197
|
-
gap: 1.5rem;
|
|
198
|
-
margin-top: 3rem;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
.screenshot-gallery.two-col {
|
|
202
|
-
grid-template-columns: repeat(2, 1fr);
|
|
203
|
-
margin-top: 1.5rem;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
.screenshot-item {
|
|
207
|
-
border-radius: 12px;
|
|
208
|
-
overflow: hidden;
|
|
209
|
-
box-shadow: 0 4px 24px rgba(0,0,0,0.12);
|
|
210
|
-
transition: all 0.3s ease;
|
|
211
|
-
background: #1f2937;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
.screenshot-item:hover {
|
|
215
|
-
transform: translateY(-4px);
|
|
216
|
-
box-shadow: 0 12px 40px rgba(0,0,0,0.2);
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
.screenshot-item img {
|
|
220
|
-
width: 100%;
|
|
221
|
-
height: auto;
|
|
222
|
-
display: block;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
.screenshot-caption {
|
|
226
|
-
padding: 0.875rem 1rem;
|
|
227
|
-
background: #1f2937;
|
|
228
|
-
text-align: center;
|
|
229
|
-
font-weight: 600;
|
|
230
|
-
color: #e5e7eb;
|
|
231
|
-
font-size: 0.9rem;
|
|
232
|
-
letter-spacing: 0.02em;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
/* Code Block */
|
|
236
|
-
.code-block {
|
|
237
|
-
background: #1f2937;
|
|
238
|
-
color: #f9fafb;
|
|
239
|
-
padding: 2rem;
|
|
240
|
-
border-radius: 12px;
|
|
241
|
-
font-family: 'Courier New', monospace;
|
|
242
|
-
font-size: 1.1rem;
|
|
243
|
-
position: relative;
|
|
244
|
-
margin: 2rem 0;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
.code-block pre {
|
|
248
|
-
margin: 0;
|
|
249
|
-
overflow-x: auto;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
.copy-btn {
|
|
253
|
-
position: absolute;
|
|
254
|
-
top: 1rem;
|
|
255
|
-
right: 1rem;
|
|
256
|
-
background: #374151;
|
|
257
|
-
color: white;
|
|
258
|
-
border: none;
|
|
259
|
-
padding: 8px 16px;
|
|
260
|
-
border-radius: 6px;
|
|
261
|
-
cursor: pointer;
|
|
262
|
-
font-size: 0.9rem;
|
|
263
|
-
transition: background 0.2s;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
.copy-btn:hover {
|
|
267
|
-
background: #4b5563;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
/* Architecture */
|
|
271
|
-
.architecture {
|
|
272
|
-
background: #f9fafb;
|
|
273
|
-
padding: 3rem;
|
|
274
|
-
border-radius: 12px;
|
|
275
|
-
margin-top: 3rem;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
.architecture pre {
|
|
279
|
-
background: white;
|
|
280
|
-
padding: 2rem;
|
|
281
|
-
border-radius: 8px;
|
|
282
|
-
overflow-x: auto;
|
|
283
|
-
font-size: 0.9rem;
|
|
284
|
-
line-height: 1.6;
|
|
285
|
-
border: 1px solid #e5e7eb;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
/* Footer */
|
|
289
|
-
.footer {
|
|
290
|
-
background: #1f2937;
|
|
291
|
-
color: #9ca3af;
|
|
292
|
-
text-align: center;
|
|
293
|
-
padding: 3rem 20px;
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
.footer-links {
|
|
297
|
-
display: flex;
|
|
298
|
-
gap: 2rem;
|
|
299
|
-
justify-content: center;
|
|
300
|
-
margin-bottom: 1.5rem;
|
|
301
|
-
flex-wrap: wrap;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
.footer-links a {
|
|
305
|
-
color: #9ca3af;
|
|
306
|
-
text-decoration: none;
|
|
307
|
-
transition: color 0.2s;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
.footer-links a:hover {
|
|
311
|
-
color: white;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
/* Responsive */
|
|
315
|
-
@media (max-width: 768px) {
|
|
316
|
-
.hero h1 {
|
|
317
|
-
font-size: 2.5rem;
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
.hero p {
|
|
321
|
-
font-size: 1.1rem;
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
.section-title {
|
|
325
|
-
font-size: 2rem;
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
.features-grid {
|
|
329
|
-
grid-template-columns: 1fr;
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
.screenshot-gallery,
|
|
333
|
-
.screenshot-gallery.two-col {
|
|
334
|
-
grid-template-columns: 1fr;
|
|
335
|
-
}
|
|
336
|
-
}
|
|
11
|
+
.hero-gradient { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }
|
|
12
|
+
.screenshot-item { transition: transform 0.3s ease, box-shadow 0.3s ease; }
|
|
13
|
+
.screenshot-item:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,0.4); }
|
|
14
|
+
pre, code { font-family: 'Courier New', monospace; }
|
|
15
|
+
.arch-diagram { background: #0f172a; border: 1px solid #1e293b; border-radius: 12px; padding: 1.5rem; overflow-x: auto; color: #94a3b8; font-size: 0.8rem; line-height: 1.6; }
|
|
337
16
|
</style>
|
|
338
17
|
</head>
|
|
339
|
-
<body>
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
<
|
|
345
|
-
|
|
346
|
-
<div class="
|
|
18
|
+
<body class="bg-base-1 text-content1">
|
|
19
|
+
|
|
20
|
+
<!-- Hero -->
|
|
21
|
+
<section class="hero-gradient text-white py-24 px-4 text-center">
|
|
22
|
+
<div class="max-w-3xl mx-auto">
|
|
23
|
+
<h1 class="text-5xl font-bold mb-4">AgentGUI</h1>
|
|
24
|
+
<p class="text-xl text-white/80 mb-6">Multi-agent GUI for Claude Code, Gemini CLI, OpenCode & more.<br>Real-time streaming, dark mode, voice, and SQLite persistence.</p>
|
|
25
|
+
<div class="flex flex-wrap justify-center gap-2 mb-8">
|
|
347
26
|
<img src="https://img.shields.io/npm/v/agentgui?color=brightgreen" alt="npm version">
|
|
348
27
|
<img src="https://img.shields.io/npm/dw/agentgui?color=brightgreen" alt="weekly downloads">
|
|
349
28
|
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="license">
|
|
350
29
|
</div>
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
<a href="https://
|
|
354
|
-
<a href="https://www.npmjs.com/package/agentgui" class="btn btn-secondary">npm Package</a>
|
|
30
|
+
<div class="flex flex-wrap justify-center gap-3">
|
|
31
|
+
<a href="https://github.com/AnEntrypoint/agentgui" class="btn btn-primary btn-lg btn-rounded">View on GitHub</a>
|
|
32
|
+
<a href="https://www.npmjs.com/package/agentgui" class="btn btn-ghost btn-lg btn-rounded border border-white/30">npm Package</a>
|
|
355
33
|
</div>
|
|
356
34
|
</div>
|
|
357
35
|
</section>
|
|
358
36
|
|
|
359
37
|
<!-- Quick Start -->
|
|
360
|
-
<section class="
|
|
361
|
-
<div class="
|
|
362
|
-
<h2 class="
|
|
363
|
-
<p class="
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
<
|
|
367
|
-
<pre><code>npx agentgui</code></pre>
|
|
38
|
+
<section class="py-16 px-4 text-center">
|
|
39
|
+
<div class="max-w-2xl mx-auto">
|
|
40
|
+
<h2 class="text-3xl font-bold mb-2">Get Started in Seconds</h2>
|
|
41
|
+
<p class="text-content3 mb-6">No installation required. Run with npx and start coding with AI agents instantly.</p>
|
|
42
|
+
<div class="relative bg-[#0f172a] rounded-xl p-6 text-left border border-[#1e293b]">
|
|
43
|
+
<button class="btn btn-sm btn-ghost absolute top-3 right-3 text-content3" onclick="navigator.clipboard.writeText('npx agentgui');this.textContent='Copied!';setTimeout(()=>this.textContent='Copy',2000)">Copy</button>
|
|
44
|
+
<pre class="text-green-400 text-lg">$ npx agentgui</pre>
|
|
368
45
|
</div>
|
|
369
|
-
|
|
370
|
-
<p style="text-align: center; color: #6b7280; margin-top: 1rem;">
|
|
371
|
-
Server starts at <strong>http://localhost:3000/gm/</strong>
|
|
372
|
-
</p>
|
|
46
|
+
<p class="text-content3 mt-3 text-sm">Server starts at <code class="text-blue-400">http://localhost:3000/gm/</code></p>
|
|
373
47
|
</div>
|
|
374
48
|
</section>
|
|
375
49
|
|
|
376
50
|
<!-- Why AgentGUI -->
|
|
377
|
-
<section class="
|
|
378
|
-
<div class="
|
|
379
|
-
<h2 class="
|
|
380
|
-
<p class="
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
<
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
<div class="feature-card">
|
|
394
|
-
<h3>👁️ See Everything</h3>
|
|
395
|
-
<p>Watch streaming responses, file changes, and tool calls in real-time instead of parsing raw JSON in your terminal.</p>
|
|
51
|
+
<section class="py-16 px-4 bg-base-2">
|
|
52
|
+
<div class="max-w-5xl mx-auto">
|
|
53
|
+
<h2 class="text-3xl font-bold text-center mb-2">Why AgentGUI?</h2>
|
|
54
|
+
<p class="text-content3 text-center mb-10">Stop juggling multiple terminal windows. One interface for all your AI agents.</p>
|
|
55
|
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
|
|
56
|
+
<div class="card p-6">
|
|
57
|
+
<h3 class="font-bold text-lg mb-2">📊 Compare Side-by-Side</h3>
|
|
58
|
+
<p class="text-content3">Test the same prompt across Claude Code, Gemini CLI, OpenCode, and others to find the best approach.</p>
|
|
59
|
+
</div>
|
|
60
|
+
<div class="card p-6">
|
|
61
|
+
<h3 class="font-bold text-lg mb-2">💾 Never Lose Context</h3>
|
|
62
|
+
<p class="text-content3">Every conversation, file change, and terminal output is automatically saved. Resume exactly where you left off.</p>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="card p-6">
|
|
65
|
+
<h3 class="font-bold text-lg mb-2">👁️ See Everything</h3>
|
|
66
|
+
<p class="text-content3">Watch streaming responses, file changes, and tool calls in real-time instead of parsing raw JSON.</p>
|
|
396
67
|
</div>
|
|
397
68
|
</div>
|
|
398
69
|
</div>
|
|
399
70
|
</section>
|
|
400
71
|
|
|
401
72
|
<!-- Features -->
|
|
402
|
-
<section class="
|
|
403
|
-
<div class="
|
|
404
|
-
<h2 class="
|
|
405
|
-
<p class="
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
<
|
|
410
|
-
<
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
<
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
<
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
<
|
|
429
|
-
<
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
<div class="
|
|
433
|
-
<div class="
|
|
434
|
-
<h3>
|
|
435
|
-
<p
|
|
436
|
-
</div>
|
|
437
|
-
|
|
438
|
-
<div class="feature-card">
|
|
439
|
-
<div class="feature-icon">🔧</div>
|
|
440
|
-
<h3>Developer Friendly</h3>
|
|
441
|
-
<p>Hot reload, REST API, WebSocket endpoints, and extensible plugin system for custom agents.</p>
|
|
73
|
+
<section class="py-16 px-4">
|
|
74
|
+
<div class="max-w-5xl mx-auto">
|
|
75
|
+
<h2 class="text-3xl font-bold text-center mb-2">Features</h2>
|
|
76
|
+
<p class="text-content3 text-center mb-10">Everything you need to work with multiple AI coding agents in one place.</p>
|
|
77
|
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
|
|
78
|
+
<div class="card p-6">
|
|
79
|
+
<div class="text-4xl mb-3">🤖</div>
|
|
80
|
+
<h3 class="font-bold text-lg mb-2">Multi-Agent Support</h3>
|
|
81
|
+
<p class="text-content3">Auto-discovers 14 AI coding agents: Claude Code, Gemini CLI, OpenCode, Kilo, Goose, Cline, Codex, Kiro, and more.</p>
|
|
82
|
+
</div>
|
|
83
|
+
<div class="card p-6">
|
|
84
|
+
<div class="text-4xl mb-3">⚡</div>
|
|
85
|
+
<h3 class="font-bold text-lg mb-2">Real-Time Streaming</h3>
|
|
86
|
+
<p class="text-content3">WebSocket-based streaming for instant responses. Watch your agent work live with execution visualization.</p>
|
|
87
|
+
</div>
|
|
88
|
+
<div class="card p-6">
|
|
89
|
+
<div class="text-4xl mb-3">💾</div>
|
|
90
|
+
<h3 class="font-bold text-lg mb-2">Persistent Storage</h3>
|
|
91
|
+
<p class="text-content3">SQLite WAL mode stores all conversations, sessions, and execution history. Resume where you left off.</p>
|
|
92
|
+
</div>
|
|
93
|
+
<div class="card p-6">
|
|
94
|
+
<div class="text-4xl mb-3">📁</div>
|
|
95
|
+
<h3 class="font-bold text-lg mb-2">File Management</h3>
|
|
96
|
+
<p class="text-content3">Integrated file browser with drag-and-drop uploads. Direct file editing and context-aware operations.</p>
|
|
97
|
+
</div>
|
|
98
|
+
<div class="card p-6">
|
|
99
|
+
<div class="text-4xl mb-3">🎤</div>
|
|
100
|
+
<h3 class="font-bold text-lg mb-2">Voice I/O</h3>
|
|
101
|
+
<p class="text-content3">Built-in speech-to-text and text-to-speech via Hugging Face Whisper. No API keys required.</p>
|
|
102
|
+
</div>
|
|
103
|
+
<div class="card p-6">
|
|
104
|
+
<div class="text-4xl mb-3">🔧</div>
|
|
105
|
+
<h3 class="font-bold text-lg mb-2">Developer Friendly</h3>
|
|
106
|
+
<p class="text-content3">Hot reload, REST API, WebSocket endpoints, and extensible plugin system for custom agents.</p>
|
|
442
107
|
</div>
|
|
443
108
|
</div>
|
|
444
109
|
</div>
|
|
445
110
|
</section>
|
|
446
111
|
|
|
447
112
|
<!-- Screenshots -->
|
|
448
|
-
<section class="
|
|
449
|
-
<div class="
|
|
450
|
-
<h2 class="
|
|
451
|
-
<p class="
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
<
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
<
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
<
|
|
464
|
-
<div class="screenshot-caption">Live Agent Streaming</div>
|
|
113
|
+
<section class="py-16 px-4 bg-base-2">
|
|
114
|
+
<div class="max-w-6xl mx-auto">
|
|
115
|
+
<h2 class="text-3xl font-bold text-center mb-2">Screenshots</h2>
|
|
116
|
+
<p class="text-content3 text-center mb-10">See AgentGUI in action</p>
|
|
117
|
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
|
|
118
|
+
<div class="screenshot-item rounded-xl overflow-hidden border border-base-3">
|
|
119
|
+
<img src="screenshot-light.png" alt="Light Mode" class="w-full">
|
|
120
|
+
<div class="bg-base-3 text-center py-2 px-3 text-sm font-semibold">Welcome Screen · Light Mode</div>
|
|
121
|
+
</div>
|
|
122
|
+
<div class="screenshot-item rounded-xl overflow-hidden border border-base-3">
|
|
123
|
+
<img src="screenshot-dark.png" alt="Dark Mode" class="w-full">
|
|
124
|
+
<div class="bg-base-3 text-center py-2 px-3 text-sm font-semibold">Welcome Screen · Dark Mode</div>
|
|
125
|
+
</div>
|
|
126
|
+
<div class="screenshot-item rounded-xl overflow-hidden border border-base-3">
|
|
127
|
+
<img src="screenshot-dark-conversation.png" alt="Live Streaming" class="w-full">
|
|
128
|
+
<div class="bg-base-3 text-center py-2 px-3 text-sm font-semibold">Live Agent Streaming</div>
|
|
465
129
|
</div>
|
|
466
130
|
</div>
|
|
467
|
-
<div class="
|
|
468
|
-
<div class="screenshot-item">
|
|
469
|
-
<img src="screenshot-conversation.png" alt="Tool Use & Code Output">
|
|
470
|
-
<div class="
|
|
131
|
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-4 mt-4">
|
|
132
|
+
<div class="screenshot-item rounded-xl overflow-hidden border border-base-3">
|
|
133
|
+
<img src="screenshot-conversation.png" alt="Tool Use & Code Output" class="w-full">
|
|
134
|
+
<div class="bg-base-3 text-center py-2 px-3 text-sm font-semibold">Tool Use & Code Output</div>
|
|
471
135
|
</div>
|
|
472
|
-
<div class="screenshot-item">
|
|
473
|
-
<img src="screenshot-tools.png" alt="Tools & Extensions">
|
|
474
|
-
<div class="
|
|
136
|
+
<div class="screenshot-item rounded-xl overflow-hidden border border-base-3">
|
|
137
|
+
<img src="screenshot-tools.png" alt="Tools & Extensions" class="w-full">
|
|
138
|
+
<div class="bg-base-3 text-center py-2 px-3 text-sm font-semibold">Tools & Extensions Manager</div>
|
|
475
139
|
</div>
|
|
476
140
|
</div>
|
|
477
141
|
</div>
|
|
478
142
|
</section>
|
|
479
143
|
|
|
480
144
|
<!-- Use Cases -->
|
|
481
|
-
<section class="
|
|
482
|
-
<div class="
|
|
483
|
-
<h2 class="
|
|
484
|
-
<p class="
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
<
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
<
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
<div class="
|
|
503
|
-
<h3>
|
|
504
|
-
<p>
|
|
505
|
-
</div>
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
<
|
|
509
|
-
<p>Use local speech-to-text and text-to-speech without API costs or internet dependency.</p>
|
|
510
|
-
</div>
|
|
511
|
-
|
|
512
|
-
<div class="feature-card">
|
|
513
|
-
<h3>Code Review Sessions</h3>
|
|
514
|
-
<p>Review AI-generated changes in a visual diff view with file browser integration.</p>
|
|
145
|
+
<section class="py-16 px-4">
|
|
146
|
+
<div class="max-w-5xl mx-auto">
|
|
147
|
+
<h2 class="text-3xl font-bold text-center mb-2">Use Cases</h2>
|
|
148
|
+
<p class="text-content3 text-center mb-10">Practical scenarios where AgentGUI shines</p>
|
|
149
|
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
|
|
150
|
+
<div class="card p-6">
|
|
151
|
+
<h3 class="font-bold text-lg mb-2">Multi-Agent Comparison</h3>
|
|
152
|
+
<p class="text-content3">Run the same task through different agents to compare approaches, code quality, and execution speed.</p>
|
|
153
|
+
</div>
|
|
154
|
+
<div class="card p-6">
|
|
155
|
+
<h3 class="font-bold text-lg mb-2">Long-Running Projects</h3>
|
|
156
|
+
<p class="text-content3">Build complex features across multiple sessions without losing context or conversation history.</p>
|
|
157
|
+
</div>
|
|
158
|
+
<div class="card p-6">
|
|
159
|
+
<h3 class="font-bold text-lg mb-2">Team Collaboration</h3>
|
|
160
|
+
<p class="text-content3">Share conversation URLs and working directories for pair programming with AI agents.</p>
|
|
161
|
+
</div>
|
|
162
|
+
<div class="card p-6">
|
|
163
|
+
<h3 class="font-bold text-lg mb-2">Agent Development</h3>
|
|
164
|
+
<p class="text-content3">Test and debug custom agents with full visibility into streaming events and tool calls.</p>
|
|
165
|
+
</div>
|
|
166
|
+
<div class="card p-6">
|
|
167
|
+
<h3 class="font-bold text-lg mb-2">Offline Speech</h3>
|
|
168
|
+
<p class="text-content3">Use local speech-to-text and text-to-speech without API costs or internet dependency.</p>
|
|
169
|
+
</div>
|
|
170
|
+
<div class="card p-6">
|
|
171
|
+
<h3 class="font-bold text-lg mb-2">Code Review</h3>
|
|
172
|
+
<p class="text-content3">Review AI-generated changes in a visual view with file browser and conversation history.</p>
|
|
515
173
|
</div>
|
|
516
174
|
</div>
|
|
517
175
|
</div>
|
|
518
176
|
</section>
|
|
519
177
|
|
|
520
|
-
<!--
|
|
521
|
-
<section class="
|
|
522
|
-
<div class="
|
|
523
|
-
<h2 class="
|
|
524
|
-
<p class="section-subtitle">Built for performance, reliability, and extensibility</p>
|
|
178
|
+
<!-- Installation -->
|
|
179
|
+
<section class="py-16 px-4">
|
|
180
|
+
<div class="max-w-2xl mx-auto">
|
|
181
|
+
<h2 class="text-3xl font-bold text-center mb-10">Installation Options</h2>
|
|
525
182
|
|
|
526
|
-
<
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
│ │ UI Layer │ │ WebSocket │ │ Streaming Renderer │ │
|
|
531
|
-
│ │ Components │ │ Manager │ │ (Event Processor) │ │
|
|
532
|
-
│ └──────────────┘ └──────────────┘ └──────────────────────────┘ │
|
|
533
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
534
|
-
│
|
|
535
|
-
┌─────────▼─────────┐
|
|
536
|
-
│ HTTP + WS │
|
|
537
|
-
│ Server │
|
|
538
|
-
│ (server.js) │
|
|
539
|
-
└─────────┬─────────┘
|
|
540
|
-
│
|
|
541
|
-
┌─────────────────────┼─────────────────────┐
|
|
542
|
-
│ │ │
|
|
543
|
-
┌───────▼────────┐ ┌─────────▼─────────┐ ┌───────▼────────┐
|
|
544
|
-
│ SQLite DB │ │ Agent Runner │ │ Speech │
|
|
545
|
-
│ (database.js) │ │ (claude-runner.js)│ │ (speech.js) │
|
|
546
|
-
└────────────────┘ └─────────┬─────────┘ └────────────────┘
|
|
547
|
-
│
|
|
548
|
-
┌─────────▼─────────┐
|
|
549
|
-
│ Agent CLI Tools │
|
|
550
|
-
│ (spawned procs) │
|
|
551
|
-
└───────────────────┘</code></pre>
|
|
183
|
+
<h3 class="font-semibold text-lg mb-3">Quick Start (Recommended)</h3>
|
|
184
|
+
<div class="relative bg-[#0f172a] rounded-xl p-5 border border-[#1e293b] mb-8">
|
|
185
|
+
<button class="btn btn-sm btn-ghost absolute top-3 right-3 text-content3" onclick="navigator.clipboard.writeText('npx agentgui');this.textContent='Copied!';setTimeout(()=>this.textContent='Copy',2000)">Copy</button>
|
|
186
|
+
<pre class="text-green-400">$ npx agentgui</pre>
|
|
552
187
|
</div>
|
|
553
188
|
|
|
554
|
-
<
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
<h3>WebSocket Sync</h3>
|
|
562
|
-
<p>Real-time bidirectional communication with event-based streaming and subscription model.</p>
|
|
563
|
-
</div>
|
|
564
|
-
|
|
565
|
-
<div class="feature-card">
|
|
566
|
-
<h3>SQLite WAL Mode</h3>
|
|
567
|
-
<p>Write-Ahead Logging for concurrent reads and writes without blocking.</p>
|
|
568
|
-
</div>
|
|
189
|
+
<h3 class="font-semibold text-lg mb-3">Manual Installation</h3>
|
|
190
|
+
<div class="relative bg-[#0f172a] rounded-xl p-5 border border-[#1e293b] mb-8">
|
|
191
|
+
<button class="btn btn-sm btn-ghost absolute top-3 right-3 text-content3" onclick="navigator.clipboard.writeText('git clone https://github.com/AnEntrypoint/agentgui.git\ncd agentgui\nnpm install\nnpm run dev');this.textContent='Copied!';setTimeout(()=>this.textContent='Copy',2000)">Copy</button>
|
|
192
|
+
<pre class="text-green-400">$ git clone https://github.com/AnEntrypoint/agentgui.git
|
|
193
|
+
$ cd agentgui
|
|
194
|
+
$ npm install
|
|
195
|
+
$ npm run dev</pre>
|
|
569
196
|
</div>
|
|
570
|
-
</div>
|
|
571
|
-
</section>
|
|
572
|
-
|
|
573
|
-
<!-- Installation Options -->
|
|
574
|
-
<section class="section">
|
|
575
|
-
<div class="container">
|
|
576
|
-
<h2 class="section-title">Installation Options</h2>
|
|
577
|
-
|
|
578
|
-
<div style="max-width: 800px; margin: 0 auto;">
|
|
579
|
-
<h3 style="margin: 2rem 0 1rem;">Quick Start (Recommended)</h3>
|
|
580
|
-
<div class="code-block">
|
|
581
|
-
<button class="copy-btn" onclick="copyCode(this)">Copy</button>
|
|
582
|
-
<pre><code>npx agentgui</code></pre>
|
|
583
|
-
</div>
|
|
584
|
-
|
|
585
|
-
<h3 style="margin: 2rem 0 1rem;">Manual Installation</h3>
|
|
586
|
-
<div class="code-block">
|
|
587
|
-
<button class="copy-btn" onclick="copyCode(this)">Copy</button>
|
|
588
|
-
<pre><code>git clone https://github.com/AnEntrypoint/agentgui.git
|
|
589
|
-
cd agentgui
|
|
590
|
-
npm install
|
|
591
|
-
npm run dev</code></pre>
|
|
592
|
-
</div>
|
|
593
197
|
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
</ul>
|
|
198
|
+
<h3 class="font-semibold text-lg mb-3">System Requirements</h3>
|
|
199
|
+
<div class="card p-5 space-y-2">
|
|
200
|
+
<div class="flex items-center gap-2"><span class="badge badge-success badge-sm">✓</span> <span class="text-content2">Node.js 18+ (LTS recommended)</span></div>
|
|
201
|
+
<div class="flex items-center gap-2"><span class="badge badge-success badge-sm">✓</span> <span class="text-content2">npm or bun package manager</span></div>
|
|
202
|
+
<div class="flex items-center gap-2"><span class="badge badge-success badge-sm">✓</span> <span class="text-content2">At least one AI coding agent (Claude Code, Gemini CLI, etc.)</span></div>
|
|
600
203
|
</div>
|
|
601
204
|
</div>
|
|
602
205
|
</section>
|
|
603
206
|
|
|
604
207
|
<!-- Footer -->
|
|
605
|
-
<footer class="
|
|
606
|
-
<div class="
|
|
607
|
-
<div class="
|
|
608
|
-
<a href="https://github.com/AnEntrypoint/agentgui">GitHub</a>
|
|
609
|
-
<a href="https://www.npmjs.com/package/agentgui">npm</a>
|
|
610
|
-
<a href="https://github.com/AnEntrypoint/agentgui/issues">Issues</a>
|
|
611
|
-
<a href="https://github.com/AnEntrypoint/agentgui#readme">Documentation</a>
|
|
208
|
+
<footer class="bg-base-2 border-t border-base-3 py-10 px-4 text-center">
|
|
209
|
+
<div class="max-w-4xl mx-auto">
|
|
210
|
+
<div class="flex flex-wrap justify-center gap-6 mb-4">
|
|
211
|
+
<a href="https://github.com/AnEntrypoint/agentgui" class="text-content2 hover:text-content1 transition-colors">GitHub</a>
|
|
212
|
+
<a href="https://www.npmjs.com/package/agentgui" class="text-content2 hover:text-content1 transition-colors">npm</a>
|
|
213
|
+
<a href="https://github.com/AnEntrypoint/agentgui/issues" class="text-content2 hover:text-content1 transition-colors">Issues</a>
|
|
214
|
+
<a href="https://github.com/AnEntrypoint/agentgui#readme" class="text-content2 hover:text-content1 transition-colors">Documentation</a>
|
|
612
215
|
</div>
|
|
613
|
-
<p>MIT License © 2025 AnEntrypoint</p>
|
|
614
|
-
<p style="margin-top: 1rem;">Made with ❤️ by the AgentGUI team</p>
|
|
216
|
+
<p class="text-content3 text-sm">MIT License © 2025 AnEntrypoint · Made with ❤️ by the AgentGUI team</p>
|
|
615
217
|
</div>
|
|
616
218
|
</footer>
|
|
617
219
|
|
|
618
|
-
<script>
|
|
619
|
-
function copyCode(btn) {
|
|
620
|
-
const codeBlock = btn.nextElementSibling;
|
|
621
|
-
const text = codeBlock.textContent;
|
|
622
|
-
|
|
623
|
-
navigator.clipboard.writeText(text).then(() => {
|
|
624
|
-
const originalText = btn.textContent;
|
|
625
|
-
btn.textContent = 'Copied!';
|
|
626
|
-
setTimeout(() => {
|
|
627
|
-
btn.textContent = originalText;
|
|
628
|
-
}, 2000);
|
|
629
|
-
});
|
|
630
|
-
}
|
|
631
|
-
</script>
|
|
632
220
|
</body>
|
|
633
221
|
</html>
|