goto-assistant 0.1.8 → 0.1.9

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/README.md CHANGED
@@ -1,3 +1,7 @@
1
+ <p align="center">
2
+ <img src="public/logo.svg" alt="goto-assistant" width="200">
3
+ </p>
4
+
1
5
  # goto-assistant
2
6
 
3
7
  Lightweight, self-hosted AI assistant with first-class MCP support. Supports both Claude (Anthropic) and OpenAI as providers, with a web-based chat interface.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "goto-assistant",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "Lightweight, self-hosted personal AI assistant",
5
5
  "license": "MIT",
6
6
  "packageManager": "pnpm@10.29.3",
package/public/index.html CHANGED
@@ -21,6 +21,7 @@
21
21
  <div class="chat-main">
22
22
  <div class="chat-header">
23
23
  <button class="hamburger-btn" id="hamburgerBtn">&#9776;</button>
24
+ <img src="/logo.svg" alt="goto" class="header-logo">
24
25
  <h2 id="chatTitle">New Conversation</h2>
25
26
  <button class="settings-btn" id="settingsBtn" title="Settings">&#9881;</button>
26
27
  </div>
@@ -0,0 +1,6 @@
1
+ <svg width="280" height="140" viewBox="0 0 280 140" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <text x="140" y="70" text-anchor="middle" fill="#f97316" font-size="64" font-family="monospace" font-weight="700">goto</text>
3
+ <rect x="117" y="46" width="8" height="8" fill="#f97316"/>
4
+ <rect x="194" y="46" width="8" height="8" fill="#f97316"/>
5
+ <path d="M 145 82 L 152 89 L 168 89 L 175 82" stroke="#f97316" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
6
+ </svg>
package/public/style.css CHANGED
@@ -93,9 +93,10 @@ body {
93
93
  .chat-main { flex: 1; display: flex; flex-direction: column; }
94
94
 
95
95
  .chat-header {
96
- padding: 12px 20px; border-bottom: 1px solid #e0e0e0; background: #fff;
96
+ padding: 12px 20px; border-bottom: 1px solid #e0e0e0; background: #fff; height: 65px;
97
97
  display: flex; justify-content: space-between; align-items: center;
98
98
  }
99
+ .header-logo { height: 40px; width: auto; }
99
100
  .chat-header h2 { font-size: 16px; }
100
101
  .settings-btn {
101
102
  background: none; border: none; cursor: pointer; font-size: 20px; padding: 4px 8px;
@@ -198,3 +199,56 @@ body {
198
199
  .setup-container { margin: 16px; padding: 20px; }
199
200
  .radio-group { flex-direction: column; gap: 8px; }
200
201
  }
202
+
203
+ /* Dark mode */
204
+ @media (prefers-color-scheme: dark) {
205
+ body { background: #1a1a1a; color: #e5e5e5; }
206
+
207
+ /* Setup page */
208
+ .setup-container { background: #2a2a2a; box-shadow: 0 2px 12px rgba(0,0,0,0.3); }
209
+ .form-group input, .form-group select { background: #333; border-color: #444; color: #e5e5e5; }
210
+ .form-group input:focus, .form-group select:focus { border-color: #4a9eff; background: #3a3a3a; }
211
+ .btn-secondary { background: #444; color: #e5e5e5; }
212
+ .btn-secondary:hover { background: #555; }
213
+ .status-msg.error { background: #3a1a1a; color: #f88; }
214
+ .status-msg.success { background: #1a3a1a; color: #8f8; }
215
+
216
+ /* MCP servers */
217
+ .mcp-server { background: #333; border-color: #444; }
218
+ .btn-icon { border-color: #444; color: #e5e5e5; }
219
+
220
+ /* Sidebar */
221
+ .sidebar { background: #222; border-right-color: #333; }
222
+ .sidebar-header { border-bottom-color: #333; }
223
+ .conversation-item:hover { background: #333; }
224
+ .conversation-item.active { background: #2a3a4a; }
225
+ .conversation-item .delete-btn { color: #888; }
226
+ .conversation-item .delete-btn:hover { color: #f88; background: #3a1a1a; border-color: #522; }
227
+
228
+ /* Chat header */
229
+ .chat-header { background: #222; border-bottom-color: #333; }
230
+ .settings-btn:hover { background: #333; }
231
+ .hamburger-btn:hover { background: #333; }
232
+
233
+ /* Messages */
234
+ .message.user { background: #2a3a4a; }
235
+ .message.assistant { background: #2a2a2a; border-color: #444; }
236
+ .message pre { background: #333; }
237
+ .message blockquote { border-left-color: #555; color: #aaa; }
238
+
239
+ /* Input area */
240
+ .input-area { background: #222; border-top-color: #333; }
241
+ .input-row textarea { background: #333; border-color: #444; color: #e5e5e5; }
242
+ .input-row textarea:focus { border-color: #4a9eff; }
243
+
244
+ /* File upload */
245
+ .file-upload-btn { border-color: #444; color: #e5e5e5; }
246
+ .file-upload-btn:hover { background: #333; border-color: #555; }
247
+ .file-preview-item { border-color: #444; }
248
+
249
+ /* Overlay */
250
+ .sidebar-overlay { background: rgba(0,0,0,0.6); }
251
+
252
+ /* Typing indicator */
253
+ .typing-indicator { color: #888; }
254
+ }