Repository navigation
Expand file tree
/
Copy pathsettings.html
More file actions
116 lines (104 loc) · 5.53 KB
/
Copy pathsettings.html
File metadata and controls
116 lines (104 loc) · 5.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<!doctype html>
<html lang="en" data-theme="dark" data-distribution="public">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Connect a data folder and local AI models to the projects on this site.">
<title>Settings · Peter Edwards</title>
<link rel="canonical" href="https://neuroviz.uk/settings">
<link rel="icon" href="favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<meta name="theme-color" content="#080b12">
<link rel="stylesheet" href="site.css?v=3b2749e850">
<script src="plexus.js?v=af28b17aab" defer></script>
<script type="module" src="settings.js?v=40ad903ef1"></script>
</head>
<body>
<header class="site-header">
<a class="brand" href="./" aria-label="Peter Edwards — home"><span class="brand-mark">PE</span><span>Peter Edwards</span></a>
<nav aria-label="Main navigation">
<a href="./#projects">Projects</a>
<a href="showcase.html">Showcase</a>
<a href="./#about">About</a>
<a href="privacy.html">Privacy</a>
<a href="https://github.com/Techdread/llm-test-bench" data-repository-link>GitHub</a>
</nav>
</header>
<main class="settings-page">
<p class="eyebrow">Local workspace setup</p>
<h1>Connect your tools</h1>
<p class="settings-intro">Choose a data folder and connect an optional local model server. Your files, endpoint details, and generated work stay on your device.</p>
<section class="settings-card" aria-labelledby="folder-title">
<div class="setting-heading">
<div>
<p class="setting-label">Data root</p>
<h2 id="folder-title">Your working folder</h2>
</div>
<span class="local-badge">Local only</span>
</div>
<div class="folder-status" id="folder-status" role="status" aria-live="polite">
<span class="status-dot" aria-hidden="true"></span>
<div>
<strong id="status-title">Checking folder access…</strong>
<p id="status-detail">Looking for a folder previously connected to this website.</p>
</div>
</div>
<button class="button primary folder-button" id="choose-folder" type="button" disabled>Choose folder</button>
<p class="setting-help" id="browser-help">Chrome or Edge will show a secure system folder picker. You can revoke access later in your browser's site settings.</p>
</section>
<section class="settings-card model-settings-card" aria-labelledby="models-title">
<div class="setting-heading">
<div>
<p class="setting-label">Local AI</p>
<h2 id="models-title">Your local model server</h2>
</div>
<span class="local-badge">Direct connection</span>
</div>
<p class="setting-help model-intro">The browser talks directly to your own LM Studio or OpenAI-compatible endpoint. Requests are not relayed through this site.</p>
<ol class="model-setup-steps">
<li>Start the server and load a model. For LM Studio, enable CORS in Developer settings or run <code>lms server start --cors</code>.</li>
<li>Add the endpoint below—LM Studio normally uses <code>http://localhost:1234</code>.</li>
<li>Click <strong>Add & test</strong>, then choose <strong>Allow</strong> if Chrome or Edge asks for local-network access.</li>
</ol>
<form class="model-endpoint-form" id="model-endpoint-form">
<label>
<span>Server type</span>
<select id="model-provider-type">
<option value="lmstudio">LM Studio / OpenAI-compatible</option>
<option value="unsloth-studio">Unsloth Studio</option>
</select>
</label>
<label>
<span>Display name</span>
<input id="model-provider-name" value="LM Studio" autocomplete="off">
</label>
<label class="endpoint-url-field">
<span>Base URL</span>
<input id="model-provider-url" type="url" value="http://localhost:1234" required spellcheck="false">
</label>
<label class="endpoint-key-field" id="endpoint-key-field" hidden>
<span>API key</span>
<input id="model-provider-key" type="password" autocomplete="off" placeholder="Optional local token">
</label>
<button class="button primary" id="add-model-provider" type="submit">Add & test</button>
</form>
<div class="model-connect-status" id="model-connect-status" role="status" aria-live="polite"></div>
<div class="model-provider-list" id="model-provider-list" aria-live="polite"></div>
</section>
<section class="folder-explainer" aria-labelledby="created-title">
<div>
<p class="eyebrow">What happens next</p>
<h2 id="created-title">One root, separate app folders</h2>
</div>
<p>The apps create a small registry file and a separate folder for each project you use, such as <code>prompt-gallery</code> or <code>game-forge-v2</code>. Saving is append-only by default.</p>
</section>
<div class="settings-actions" aria-label="Open a project">
<a class="button" href="./#projects">Browse all projects</a>
<a class="button" href="game-forge-v2/">Open Game Forge</a>
<a class="button" href="prompt-gallery/">Open Prompt Gallery</a>
</div>
</main>
<footer><span>Peter Edwards · Projects MIT licensed</span><span><a href="privacy.html">Privacy</a></span></footer>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon='{"token": "087e962bcbbc4be0bc1ba8bf21be0bde"}'></script>
</body>
</html>