agentgui 1.0.621 → 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
CHANGED
|
@@ -1,616 +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(auto-fit, minmax(350px, 1fr));
|
|
197
|
-
gap: 2rem;
|
|
198
|
-
margin-top: 3rem;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
.screenshot-item {
|
|
202
|
-
border-radius: 12px;
|
|
203
|
-
overflow: hidden;
|
|
204
|
-
box-shadow: 0 4px 20px rgba(0,0,0,0.1);
|
|
205
|
-
transition: all 0.3s ease;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
.screenshot-item:hover {
|
|
209
|
-
transform: scale(1.03);
|
|
210
|
-
box-shadow: 0 8px 30px rgba(0,0,0,0.15);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
.screenshot-item img {
|
|
214
|
-
width: 100%;
|
|
215
|
-
height: auto;
|
|
216
|
-
display: block;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
.screenshot-caption {
|
|
220
|
-
padding: 1rem;
|
|
221
|
-
background: #f9fafb;
|
|
222
|
-
text-align: center;
|
|
223
|
-
font-weight: 600;
|
|
224
|
-
color: #374151;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
/* Code Block */
|
|
228
|
-
.code-block {
|
|
229
|
-
background: #1f2937;
|
|
230
|
-
color: #f9fafb;
|
|
231
|
-
padding: 2rem;
|
|
232
|
-
border-radius: 12px;
|
|
233
|
-
font-family: 'Courier New', monospace;
|
|
234
|
-
font-size: 1.1rem;
|
|
235
|
-
position: relative;
|
|
236
|
-
margin: 2rem 0;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
.code-block pre {
|
|
240
|
-
margin: 0;
|
|
241
|
-
overflow-x: auto;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
.copy-btn {
|
|
245
|
-
position: absolute;
|
|
246
|
-
top: 1rem;
|
|
247
|
-
right: 1rem;
|
|
248
|
-
background: #374151;
|
|
249
|
-
color: white;
|
|
250
|
-
border: none;
|
|
251
|
-
padding: 8px 16px;
|
|
252
|
-
border-radius: 6px;
|
|
253
|
-
cursor: pointer;
|
|
254
|
-
font-size: 0.9rem;
|
|
255
|
-
transition: background 0.2s;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
.copy-btn:hover {
|
|
259
|
-
background: #4b5563;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
/* Architecture */
|
|
263
|
-
.architecture {
|
|
264
|
-
background: #f9fafb;
|
|
265
|
-
padding: 3rem;
|
|
266
|
-
border-radius: 12px;
|
|
267
|
-
margin-top: 3rem;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
.architecture pre {
|
|
271
|
-
background: white;
|
|
272
|
-
padding: 2rem;
|
|
273
|
-
border-radius: 8px;
|
|
274
|
-
overflow-x: auto;
|
|
275
|
-
font-size: 0.9rem;
|
|
276
|
-
line-height: 1.6;
|
|
277
|
-
border: 1px solid #e5e7eb;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
/* Footer */
|
|
281
|
-
.footer {
|
|
282
|
-
background: #1f2937;
|
|
283
|
-
color: #9ca3af;
|
|
284
|
-
text-align: center;
|
|
285
|
-
padding: 3rem 20px;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
.footer-links {
|
|
289
|
-
display: flex;
|
|
290
|
-
gap: 2rem;
|
|
291
|
-
justify-content: center;
|
|
292
|
-
margin-bottom: 1.5rem;
|
|
293
|
-
flex-wrap: wrap;
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
.footer-links a {
|
|
297
|
-
color: #9ca3af;
|
|
298
|
-
text-decoration: none;
|
|
299
|
-
transition: color 0.2s;
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
.footer-links a:hover {
|
|
303
|
-
color: white;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
/* Responsive */
|
|
307
|
-
@media (max-width: 768px) {
|
|
308
|
-
.hero h1 {
|
|
309
|
-
font-size: 2.5rem;
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
.hero p {
|
|
313
|
-
font-size: 1.1rem;
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
.section-title {
|
|
317
|
-
font-size: 2rem;
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
.features-grid {
|
|
321
|
-
grid-template-columns: 1fr;
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
.screenshot-gallery {
|
|
325
|
-
grid-template-columns: 1fr;
|
|
326
|
-
}
|
|
327
|
-
}
|
|
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; }
|
|
328
16
|
</style>
|
|
329
17
|
</head>
|
|
330
|
-
<body>
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
<
|
|
336
|
-
|
|
337
|
-
<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">
|
|
338
26
|
<img src="https://img.shields.io/npm/v/agentgui?color=brightgreen" alt="npm version">
|
|
339
27
|
<img src="https://img.shields.io/npm/dw/agentgui?color=brightgreen" alt="weekly downloads">
|
|
340
28
|
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="license">
|
|
341
29
|
</div>
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
<a href="https://
|
|
345
|
-
<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>
|
|
346
33
|
</div>
|
|
347
34
|
</div>
|
|
348
35
|
</section>
|
|
349
36
|
|
|
350
37
|
<!-- Quick Start -->
|
|
351
|
-
<section class="
|
|
352
|
-
<div class="
|
|
353
|
-
<h2 class="
|
|
354
|
-
<p class="
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
<
|
|
358
|
-
<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>
|
|
359
45
|
</div>
|
|
360
|
-
|
|
361
|
-
<p style="text-align: center; color: #6b7280; margin-top: 1rem;">
|
|
362
|
-
Server starts at <strong>http://localhost:3000/gm/</strong>
|
|
363
|
-
</p>
|
|
46
|
+
<p class="text-content3 mt-3 text-sm">Server starts at <code class="text-blue-400">http://localhost:3000/gm/</code></p>
|
|
364
47
|
</div>
|
|
365
48
|
</section>
|
|
366
49
|
|
|
367
50
|
<!-- Why AgentGUI -->
|
|
368
|
-
<section class="
|
|
369
|
-
<div class="
|
|
370
|
-
<h2 class="
|
|
371
|
-
<p class="
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
<
|
|
376
|
-
<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>
|
|
377
59
|
</div>
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
<
|
|
381
|
-
<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>
|
|
382
63
|
</div>
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
<
|
|
386
|
-
<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>
|
|
387
67
|
</div>
|
|
388
68
|
</div>
|
|
389
69
|
</div>
|
|
390
70
|
</section>
|
|
391
71
|
|
|
392
72
|
<!-- Features -->
|
|
393
|
-
<section class="
|
|
394
|
-
<div class="
|
|
395
|
-
<h2 class="
|
|
396
|
-
<p class="
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
<
|
|
401
|
-
<
|
|
402
|
-
<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>
|
|
403
82
|
</div>
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
<
|
|
407
|
-
<
|
|
408
|
-
<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>
|
|
409
87
|
</div>
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
<
|
|
413
|
-
<
|
|
414
|
-
<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>
|
|
415
92
|
</div>
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
<
|
|
419
|
-
<
|
|
420
|
-
<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>
|
|
421
97
|
</div>
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
<
|
|
425
|
-
<
|
|
426
|
-
<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>
|
|
427
102
|
</div>
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
<
|
|
431
|
-
<
|
|
432
|
-
<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>
|
|
433
107
|
</div>
|
|
434
108
|
</div>
|
|
435
109
|
</div>
|
|
436
110
|
</section>
|
|
437
111
|
|
|
438
112
|
<!-- Screenshots -->
|
|
439
|
-
<section class="
|
|
440
|
-
<div class="
|
|
441
|
-
<h2 class="
|
|
442
|
-
<p class="
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
<
|
|
447
|
-
<div class="screenshot-caption">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>
|
|
448
121
|
</div>
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
<
|
|
452
|
-
<div class="screenshot-caption">Dark Mode</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>
|
|
453
125
|
</div>
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
<
|
|
457
|
-
|
|
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>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
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>
|
|
135
|
+
</div>
|
|
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>
|
|
458
139
|
</div>
|
|
459
140
|
</div>
|
|
460
141
|
</div>
|
|
461
142
|
</section>
|
|
462
143
|
|
|
463
144
|
<!-- Use Cases -->
|
|
464
|
-
<section class="
|
|
465
|
-
<div class="
|
|
466
|
-
<h2 class="
|
|
467
|
-
<p class="
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
<
|
|
472
|
-
<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>
|
|
473
153
|
</div>
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
<
|
|
477
|
-
<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>
|
|
478
157
|
</div>
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
<
|
|
482
|
-
<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>
|
|
483
161
|
</div>
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
<
|
|
487
|
-
<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>
|
|
488
165
|
</div>
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
<
|
|
492
|
-
<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>
|
|
493
169
|
</div>
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
<
|
|
497
|
-
<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>
|
|
498
173
|
</div>
|
|
499
174
|
</div>
|
|
500
175
|
</div>
|
|
501
176
|
</section>
|
|
502
177
|
|
|
503
178
|
<!-- Architecture -->
|
|
504
|
-
<section class="
|
|
505
|
-
<div class="
|
|
506
|
-
<h2 class="
|
|
507
|
-
<p class="
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
│
|
|
512
|
-
│
|
|
513
|
-
│ │
|
|
514
|
-
│
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
│
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
┌─────────▼─────────┐
|
|
532
|
-
│ Agent CLI Tools │
|
|
533
|
-
│ (spawned procs) │
|
|
534
|
-
└───────────────────┘</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>
|
|
535
206
|
</div>
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
<
|
|
540
|
-
<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>
|
|
541
211
|
</div>
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
<
|
|
545
|
-
<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>
|
|
546
215
|
</div>
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
<
|
|
550
|
-
<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>
|
|
551
219
|
</div>
|
|
552
220
|
</div>
|
|
553
221
|
</div>
|
|
554
222
|
</section>
|
|
555
223
|
|
|
556
|
-
<!-- Installation
|
|
557
|
-
<section class="
|
|
558
|
-
<div class="
|
|
559
|
-
<h2 class="
|
|
560
|
-
|
|
561
|
-
<div style="max-width: 800px; margin: 0 auto;">
|
|
562
|
-
<h3 style="margin: 2rem 0 1rem;">Quick Start (Recommended)</h3>
|
|
563
|
-
<div class="code-block">
|
|
564
|
-
<button class="copy-btn" onclick="copyCode(this)">Copy</button>
|
|
565
|
-
<pre><code>npx agentgui</code></pre>
|
|
566
|
-
</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>
|
|
567
228
|
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
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>
|
|
576
243
|
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
</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>
|
|
583
249
|
</div>
|
|
584
250
|
</div>
|
|
585
251
|
</section>
|
|
586
252
|
|
|
587
253
|
<!-- Footer -->
|
|
588
|
-
<footer class="
|
|
589
|
-
<div class="
|
|
590
|
-
<div class="
|
|
591
|
-
<a href="https://github.com/AnEntrypoint/agentgui">GitHub</a>
|
|
592
|
-
<a href="https://www.npmjs.com/package/agentgui">npm</a>
|
|
593
|
-
<a href="https://github.com/AnEntrypoint/agentgui/issues">Issues</a>
|
|
594
|
-
<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>
|
|
595
261
|
</div>
|
|
596
|
-
<p>MIT License © 2025 AnEntrypoint</p>
|
|
597
|
-
<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>
|
|
598
263
|
</div>
|
|
599
264
|
</footer>
|
|
600
265
|
|
|
601
|
-
<script>
|
|
602
|
-
function copyCode(btn) {
|
|
603
|
-
const codeBlock = btn.nextElementSibling;
|
|
604
|
-
const text = codeBlock.textContent;
|
|
605
|
-
|
|
606
|
-
navigator.clipboard.writeText(text).then(() => {
|
|
607
|
-
const originalText = btn.textContent;
|
|
608
|
-
btn.textContent = 'Copied!';
|
|
609
|
-
setTimeout(() => {
|
|
610
|
-
btn.textContent = originalText;
|
|
611
|
-
}, 2000);
|
|
612
|
-
});
|
|
613
|
-
}
|
|
614
|
-
</script>
|
|
615
266
|
</body>
|
|
616
267
|
</html>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|