agentgui 1.0.622 → 1.0.623
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 +183 -549
- package/package.json +1 -1
package/docs/index.html
CHANGED
|
@@ -1,633 +1,267 @@
|
|
|
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
|
-
<p>Test the same prompt across Claude Code, Gemini CLI, OpenCode, and others to find the best approach for your task.</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>
|
|
386
59
|
</div>
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
<
|
|
390
|
-
<p>Every conversation, file change, and terminal output is automatically saved. Resume interrupted work exactly where you left off.</p>
|
|
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>
|
|
391
63
|
</div>
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
<
|
|
395
|
-
<p>Watch streaming responses, file changes, and tool calls in real-time instead of parsing raw JSON in your terminal.</p>
|
|
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
|
-
<p>Auto-discovers 14 AI coding agents including Claude Code, Gemini CLI, OpenCode, Kilo, Goose, Cline, Codex, Kiro, and more.</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>
|
|
412
82
|
</div>
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
<
|
|
416
|
-
<
|
|
417
|
-
<p>WebSocket-based streaming for instant responses. Watch your agent work in real-time with live execution visualization.</p>
|
|
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>
|
|
418
87
|
</div>
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
<
|
|
422
|
-
<
|
|
423
|
-
<p>SQLite database stores all conversations, sessions, and execution history. Resume where you left off.</p>
|
|
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>
|
|
424
92
|
</div>
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
<
|
|
428
|
-
<
|
|
429
|
-
<p>Integrated file browser with drag-and-drop uploads. Direct file editing and context-aware operations.</p>
|
|
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>
|
|
430
97
|
</div>
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
<
|
|
434
|
-
<
|
|
435
|
-
<p>Built-in speech-to-text and text-to-speech via Hugging Face Whisper. No API keys required.</p>
|
|
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>
|
|
436
102
|
</div>
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
<
|
|
440
|
-
<
|
|
441
|
-
<p>Hot reload, REST API, WebSocket endpoints, and extensible plugin system for custom agents.</p>
|
|
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
|
-
<div class="screenshot-caption">Welcome Screen · Light Mode</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>
|
|
457
121
|
</div>
|
|
458
|
-
<div class="screenshot-item">
|
|
459
|
-
<img src="screenshot-dark.png" alt="
|
|
460
|
-
<div class="
|
|
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>
|
|
461
125
|
</div>
|
|
462
|
-
<div class="screenshot-item">
|
|
463
|
-
<img src="screenshot-dark-conversation.png" alt="Live Streaming">
|
|
464
|
-
<div class="
|
|
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
|
-
<p>Run the same task through different agents to compare approaches, code quality, and execution speed.</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>
|
|
490
153
|
</div>
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
<
|
|
494
|
-
<p>Build complex features across multiple sessions without losing context or conversation history.</p>
|
|
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>
|
|
495
157
|
</div>
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
<
|
|
499
|
-
<p>Share conversation URLs and working directories for pair programming with AI agents.</p>
|
|
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>
|
|
500
161
|
</div>
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
<
|
|
504
|
-
<p>Test and debug custom agents with full visibility into streaming events and tool calls.</p>
|
|
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>
|
|
505
165
|
</div>
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
<
|
|
509
|
-
<p>Use local speech-to-text and text-to-speech without API costs or internet dependency.</p>
|
|
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>
|
|
510
169
|
</div>
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
<
|
|
514
|
-
<p>Review AI-generated changes in a visual diff view with file browser integration.</p>
|
|
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
178
|
<!-- Architecture -->
|
|
521
|
-
<section class="
|
|
522
|
-
<div class="
|
|
523
|
-
<h2 class="
|
|
524
|
-
<p class="
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
│
|
|
529
|
-
│
|
|
530
|
-
│ │
|
|
531
|
-
│
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
│
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
┌─────────▼─────────┐
|
|
549
|
-
│ Agent CLI Tools │
|
|
550
|
-
│ (spawned procs) │
|
|
551
|
-
└───────────────────┘</code></pre>
|
|
179
|
+
<section class="py-16 px-4 bg-base-2">
|
|
180
|
+
<div class="max-w-5xl mx-auto">
|
|
181
|
+
<h2 class="text-3xl font-bold text-center mb-2">Architecture</h2>
|
|
182
|
+
<p class="text-content3 text-center mb-10">Built for performance, reliability, and extensibility</p>
|
|
183
|
+
<div class="arch-diagram">
|
|
184
|
+
<pre>┌─────────────────────────────────────────────────────┐
|
|
185
|
+
│ Browser Client │
|
|
186
|
+
│ ┌─────────────┐ ┌──────────────┐ ┌───────────────┐ │
|
|
187
|
+
│ │ UI Layer │ │ WebSocket │ │ Streaming │ │
|
|
188
|
+
│ │ Components │ │ Manager │ │ Renderer │ │
|
|
189
|
+
│ └─────────────┘ └──────────────┘ └───────────────┘ │
|
|
190
|
+
└─────────────────────────┬───────────────────────────┘
|
|
191
|
+
│ HTTP + WebSocket
|
|
192
|
+
┌────────▼────────┐
|
|
193
|
+
│ server.js │
|
|
194
|
+
│ HTTP + WS API │
|
|
195
|
+
└────────┬────────┘
|
|
196
|
+
┌─────────────────┼─────────────────┐
|
|
197
|
+
┌───────▼──────┐ ┌────────▼────────┐ ┌──────▼──────┐
|
|
198
|
+
│ SQLite DB │ │ Agent Runner │ │ Speech │
|
|
199
|
+
│ (WAL mode) │ │ (claude-runner) │ │ (Whisper) │
|
|
200
|
+
└──────────────┘ └────────┬────────┘ └─────────────┘
|
|
201
|
+
│
|
|
202
|
+
┌────────▼────────┐
|
|
203
|
+
│ CLI Processes │
|
|
204
|
+
│ claude / gemini │
|
|
205
|
+
└─────────────────┘</pre>
|
|
552
206
|
</div>
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
<
|
|
557
|
-
<p>Complete REST API for conversations, messages, agents, tools, and speech operations.</p>
|
|
207
|
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mt-8">
|
|
208
|
+
<div class="card p-6">
|
|
209
|
+
<h3 class="font-bold text-lg mb-2">REST API</h3>
|
|
210
|
+
<p class="text-content3">Complete REST API for conversations, messages, agents, tools, and speech operations.</p>
|
|
558
211
|
</div>
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
<
|
|
562
|
-
<p>Real-time bidirectional communication with event-based streaming and subscription model.</p>
|
|
212
|
+
<div class="card p-6">
|
|
213
|
+
<h3 class="font-bold text-lg mb-2">WebSocket Sync</h3>
|
|
214
|
+
<p class="text-content3">Real-time bidirectional communication with event-based streaming and subscription model.</p>
|
|
563
215
|
</div>
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
<
|
|
567
|
-
<p>Write-Ahead Logging for concurrent reads and writes without blocking.</p>
|
|
216
|
+
<div class="card p-6">
|
|
217
|
+
<h3 class="font-bold text-lg mb-2">SQLite WAL Mode</h3>
|
|
218
|
+
<p class="text-content3">Write-Ahead Logging for concurrent reads and writes without blocking.</p>
|
|
568
219
|
</div>
|
|
569
220
|
</div>
|
|
570
221
|
</div>
|
|
571
222
|
</section>
|
|
572
223
|
|
|
573
|
-
<!-- Installation
|
|
574
|
-
<section class="
|
|
575
|
-
<div class="
|
|
576
|
-
<h2 class="
|
|
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>
|
|
224
|
+
<!-- Installation -->
|
|
225
|
+
<section class="py-16 px-4">
|
|
226
|
+
<div class="max-w-2xl mx-auto">
|
|
227
|
+
<h2 class="text-3xl font-bold text-center mb-10">Installation Options</h2>
|
|
584
228
|
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
229
|
+
<h3 class="font-semibold text-lg mb-3">Quick Start (Recommended)</h3>
|
|
230
|
+
<div class="relative bg-[#0f172a] rounded-xl p-5 border border-[#1e293b] mb-8">
|
|
231
|
+
<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>
|
|
232
|
+
<pre class="text-green-400">$ npx agentgui</pre>
|
|
233
|
+
</div>
|
|
234
|
+
|
|
235
|
+
<h3 class="font-semibold text-lg mb-3">Manual Installation</h3>
|
|
236
|
+
<div class="relative bg-[#0f172a] rounded-xl p-5 border border-[#1e293b] mb-8">
|
|
237
|
+
<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>
|
|
238
|
+
<pre class="text-green-400">$ git clone https://github.com/AnEntrypoint/agentgui.git
|
|
239
|
+
$ cd agentgui
|
|
240
|
+
$ npm install
|
|
241
|
+
$ npm run dev</pre>
|
|
242
|
+
</div>
|
|
593
243
|
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
</ul>
|
|
244
|
+
<h3 class="font-semibold text-lg mb-3">System Requirements</h3>
|
|
245
|
+
<div class="card p-5 space-y-2">
|
|
246
|
+
<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>
|
|
247
|
+
<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>
|
|
248
|
+
<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
249
|
</div>
|
|
601
250
|
</div>
|
|
602
251
|
</section>
|
|
603
252
|
|
|
604
253
|
<!-- 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>
|
|
254
|
+
<footer class="bg-base-2 border-t border-base-3 py-10 px-4 text-center">
|
|
255
|
+
<div class="max-w-4xl mx-auto">
|
|
256
|
+
<div class="flex flex-wrap justify-center gap-6 mb-4">
|
|
257
|
+
<a href="https://github.com/AnEntrypoint/agentgui" class="text-content2 hover:text-content1 transition-colors">GitHub</a>
|
|
258
|
+
<a href="https://www.npmjs.com/package/agentgui" class="text-content2 hover:text-content1 transition-colors">npm</a>
|
|
259
|
+
<a href="https://github.com/AnEntrypoint/agentgui/issues" class="text-content2 hover:text-content1 transition-colors">Issues</a>
|
|
260
|
+
<a href="https://github.com/AnEntrypoint/agentgui#readme" class="text-content2 hover:text-content1 transition-colors">Documentation</a>
|
|
612
261
|
</div>
|
|
613
|
-
<p>MIT License © 2025 AnEntrypoint</p>
|
|
614
|
-
<p style="margin-top: 1rem;">Made with ❤️ by the AgentGUI team</p>
|
|
262
|
+
<p class="text-content3 text-sm">MIT License © 2025 AnEntrypoint · Made with ❤️ by the AgentGUI team</p>
|
|
615
263
|
</div>
|
|
616
264
|
</footer>
|
|
617
265
|
|
|
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
266
|
</body>
|
|
633
267
|
</html>
|