@christopherlittle51/postclaw 1.3.0 β 1.3.2
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 +69 -695
- package/dashboard/README.md +89 -0
- package/dashboard/public/app.js +903 -542
- package/dashboard/public/index.html +184 -73
- package/dashboard/public/styles.css +583 -126
- package/dist/dashboard/routes/graph.d.ts +2 -2
- package/dist/dashboard/routes/graph.d.ts.map +1 -1
- package/dist/dashboard/routes/graph.js +61 -23
- package/dist/dashboard/routes/graph.js.map +1 -1
- package/dist/dashboard/routes/memories.d.ts.map +1 -1
- package/dist/dashboard/routes/memories.js +66 -0
- package/dist/dashboard/routes/memories.js.map +1 -1
- package/dist/dashboard/routes/workspace.d.ts +4 -3
- package/dist/dashboard/routes/workspace.d.ts.map +1 -1
- package/dist/dashboard/routes/workspace.js +119 -7
- package/dist/dashboard/routes/workspace.js.map +1 -1
- package/dist/dashboard/server.js +1 -1
- package/dist/dashboard/server.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +84 -27
- package/dist/index.js.map +1 -1
- package/dist/schemas/validation.d.ts +32 -3
- package/dist/schemas/validation.d.ts.map +1 -1
- package/dist/schemas/validation.js +22 -4
- package/dist/schemas/validation.js.map +1 -1
- package/dist/scripts/setup-db.d.ts.map +1 -1
- package/dist/scripts/setup-db.js +28 -30
- package/dist/scripts/setup-db.js.map +1 -1
- package/dist/scripts/sleep_cycle.d.ts +1 -0
- package/dist/scripts/sleep_cycle.d.ts.map +1 -1
- package/dist/scripts/sleep_cycle.js +114 -21
- package/dist/scripts/sleep_cycle.js.map +1 -1
- package/dist/services/config.d.ts +1 -0
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +5 -22
- package/dist/services/config.js.map +1 -1
- package/dist/services/memoryService.d.ts +2 -1
- package/dist/services/memoryService.d.ts.map +1 -1
- package/dist/services/memoryService.js +90 -24
- package/dist/services/memoryService.js.map +1 -1
- package/dist/services/personaService.d.ts +25 -0
- package/dist/services/personaService.d.ts.map +1 -1
- package/dist/services/personaService.js +79 -0
- package/dist/services/personaService.js.map +1 -1
- package/dist/tests/dashboard-schemas.test.js +71 -1
- package/dist/tests/dashboard-schemas.test.js.map +1 -1
- package/package.json +1 -1
- package/schemas/README.md +64 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<html lang="en">
|
|
3
|
+
|
|
3
4
|
<head>
|
|
4
5
|
<meta charset="UTF-8" />
|
|
5
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
@@ -15,14 +16,22 @@
|
|
|
15
16
|
<!-- Custom styles -->
|
|
16
17
|
<link rel="stylesheet" href="/styles.css" />
|
|
17
18
|
</head>
|
|
18
|
-
|
|
19
|
+
|
|
20
|
+
<body>
|
|
19
21
|
<!-- Header -->
|
|
20
|
-
<header class="dashboard-header ambient amb-surface
|
|
22
|
+
<header class="dashboard-header ambient amb-surface amb-chamfer amb-elevation-3">
|
|
21
23
|
<div class="header-content">
|
|
22
24
|
<h1>π¦ PostClaw</h1>
|
|
23
25
|
<div class="header-controls">
|
|
26
|
+
<div class="light-slider-group">
|
|
27
|
+
<label for="key-light-slider">π</label>
|
|
28
|
+
<input type="range" id="key-light-slider" class="light-slider" min="0.08" max="0.92" step="0.01"
|
|
29
|
+
value="0.22" />
|
|
30
|
+
<label for="key-light-slider">βοΈ</label>
|
|
31
|
+
<span id="key-light-value" class="light-value">0.22</span>
|
|
32
|
+
</div>
|
|
24
33
|
<label for="agent-select">Agent:</label>
|
|
25
|
-
<select id="agent-select" class="ambient amb-surface amb-fillet amb-elevation-
|
|
34
|
+
<select id="agent-select" class="ambient amb-surface-concave amb-fillet amb-elevation-0">
|
|
26
35
|
<option value="main">main</option>
|
|
27
36
|
</select>
|
|
28
37
|
</div>
|
|
@@ -30,12 +39,14 @@
|
|
|
30
39
|
</header>
|
|
31
40
|
|
|
32
41
|
<!-- Tab Navigation -->
|
|
33
|
-
<nav class="tab-nav ambient amb-surface amb-chamfer amb-elevation-
|
|
34
|
-
<button class="tab-btn active" data-tab="personas">π
|
|
35
|
-
|
|
36
|
-
<button class="tab-btn" data-tab="
|
|
37
|
-
|
|
38
|
-
<button class="tab-btn" data-tab="
|
|
42
|
+
<nav class="tab-nav ambient amb-surface amb-chamfer amb-elevation-2">
|
|
43
|
+
<button class="tab-btn active ambient amb-surface-convex amb-fillet amb-elevation-1" data-tab="personas">π
|
|
44
|
+
Personas</button>
|
|
45
|
+
<button class="tab-btn ambient amb-surface-convex amb-fillet amb-elevation-1" data-tab="memories">π§
|
|
46
|
+
Memories</button>
|
|
47
|
+
<button class="tab-btn ambient amb-surface-convex amb-fillet amb-elevation-1" data-tab="graph">πΈοΈ Graph</button>
|
|
48
|
+
<button class="tab-btn ambient amb-surface-convex amb-fillet amb-elevation-1" data-tab="scripts">β‘ Scripts</button>
|
|
49
|
+
<button class="tab-btn ambient amb-surface-convex amb-fillet amb-elevation-1" data-tab="config">βοΈ Config</button>
|
|
39
50
|
</nav>
|
|
40
51
|
|
|
41
52
|
<!-- Tab Panels -->
|
|
@@ -45,23 +56,23 @@
|
|
|
45
56
|
<section id="tab-personas" class="tab-panel active">
|
|
46
57
|
<div class="panel-header">
|
|
47
58
|
<h2>Persona Manager</h2>
|
|
48
|
-
<button id="btn-new-persona" class="btn-primary ambient amb-surface amb-chamfer amb-elevation-
|
|
59
|
+
<button id="btn-new-persona" class="btn-primary ambient amb-surface-convex amb-chamfer amb-elevation-2">
|
|
49
60
|
+ New Persona
|
|
50
61
|
</button>
|
|
51
62
|
</div>
|
|
52
63
|
|
|
53
64
|
<!-- Create/Edit form (hidden by default) -->
|
|
54
|
-
<div id="persona-form" class="form-card ambient amb-surface amb-
|
|
65
|
+
<div id="persona-form" class="form-card ambient amb-surface amb-chamfer amb-elevation-2" style="display:none;">
|
|
55
66
|
<input type="hidden" id="persona-form-id" />
|
|
56
67
|
<div class="form-row">
|
|
57
68
|
<label for="persona-category">Category</label>
|
|
58
69
|
<input id="persona-category" type="text" placeholder="e.g., communication_style" maxlength="50"
|
|
59
|
-
|
|
70
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
60
71
|
</div>
|
|
61
72
|
<div class="form-row">
|
|
62
73
|
<label for="persona-content">Content</label>
|
|
63
74
|
<textarea id="persona-content" rows="4" placeholder="Persona rule or instruction..."
|
|
64
|
-
|
|
75
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0"></textarea>
|
|
65
76
|
</div>
|
|
66
77
|
<div class="form-row form-row-inline">
|
|
67
78
|
<label>
|
|
@@ -69,10 +80,10 @@
|
|
|
69
80
|
</label>
|
|
70
81
|
</div>
|
|
71
82
|
<div class="form-actions">
|
|
72
|
-
<button id="btn-save-persona" class="btn-primary ambient amb-surface amb-chamfer amb-elevation-1
|
|
83
|
+
<button id="btn-save-persona" class="btn-primary ambient amb-surface-convex amb-chamfer amb-elevation-1">
|
|
73
84
|
Save
|
|
74
85
|
</button>
|
|
75
|
-
<button id="btn-cancel-persona" class="btn-secondary ambient amb-surface amb-fillet amb-elevation-1">
|
|
86
|
+
<button id="btn-cancel-persona" class="btn-secondary ambient amb-surface-convex amb-fillet amb-elevation-1">
|
|
76
87
|
Cancel
|
|
77
88
|
</button>
|
|
78
89
|
</div>
|
|
@@ -83,9 +94,10 @@
|
|
|
83
94
|
<!-- Workspace files panel -->
|
|
84
95
|
<div class="panel-section">
|
|
85
96
|
<h3>π Workspace Files</h3>
|
|
86
|
-
<p class="hint">View .md files from the
|
|
97
|
+
<p class="hint">View .md files from the workspace. Import directly into personas or memories.</p>
|
|
87
98
|
<div id="workspace-files" class="workspace-files"></div>
|
|
88
|
-
<pre id="workspace-content" class="workspace-content ambient amb-surface-
|
|
99
|
+
<pre id="workspace-content" class="workspace-content ambient amb-surface-concave amb-fillet amb-elevation-0"
|
|
100
|
+
style="display:none;"></pre>
|
|
89
101
|
</div>
|
|
90
102
|
</section>
|
|
91
103
|
|
|
@@ -93,19 +105,19 @@
|
|
|
93
105
|
<section id="tab-memories" class="tab-panel">
|
|
94
106
|
<div class="panel-header">
|
|
95
107
|
<h2>Memory Manager</h2>
|
|
96
|
-
<button id="btn-new-memory" class="btn-primary ambient amb-surface amb-chamfer amb-elevation-
|
|
108
|
+
<button id="btn-new-memory" class="btn-primary ambient amb-surface-convex amb-chamfer amb-elevation-2">
|
|
97
109
|
+ New Memory
|
|
98
110
|
</button>
|
|
99
|
-
<button id="btn-import-memory" class="btn-secondary ambient amb-surface amb-fillet amb-elevation-1">
|
|
111
|
+
<button id="btn-import-memory" class="btn-secondary ambient amb-surface-convex amb-fillet amb-elevation-1">
|
|
100
112
|
π₯ Import
|
|
101
113
|
</button>
|
|
102
114
|
</div>
|
|
103
115
|
|
|
104
116
|
<!-- Filters -->
|
|
105
|
-
<div class="filters ambient amb-surface amb-fillet amb-elevation-
|
|
117
|
+
<div class="filters ambient amb-surface-concave amb-fillet amb-elevation-0">
|
|
106
118
|
<input id="memory-search" type="text" placeholder="Search memories..."
|
|
107
|
-
|
|
108
|
-
<select id="memory-tier-filter" class="ambient amb-surface-
|
|
119
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
120
|
+
<select id="memory-tier-filter" class="ambient amb-surface-concave amb-fillet amb-elevation-0">
|
|
109
121
|
<option value="">All Tiers</option>
|
|
110
122
|
<option value="permanent">Permanent</option>
|
|
111
123
|
<option value="stable">Stable</option>
|
|
@@ -113,7 +125,7 @@
|
|
|
113
125
|
<option value="session">Session</option>
|
|
114
126
|
<option value="volatile">Volatile</option>
|
|
115
127
|
</select>
|
|
116
|
-
<select id="memory-archived-filter" class="ambient amb-surface-
|
|
128
|
+
<select id="memory-archived-filter" class="ambient amb-surface-concave amb-fillet amb-elevation-0">
|
|
117
129
|
<option value="false">Active</option>
|
|
118
130
|
<option value="true">Archived</option>
|
|
119
131
|
<option value="all">All</option>
|
|
@@ -121,22 +133,22 @@
|
|
|
121
133
|
</div>
|
|
122
134
|
|
|
123
135
|
<!-- Memory form -->
|
|
124
|
-
<div id="memory-form" class="form-card ambient amb-surface amb-
|
|
136
|
+
<div id="memory-form" class="form-card ambient amb-surface amb-chamfer amb-elevation-2" style="display:none;">
|
|
125
137
|
<input type="hidden" id="memory-form-id" />
|
|
126
138
|
<div class="form-row">
|
|
127
139
|
<label for="memory-content">Content</label>
|
|
128
140
|
<textarea id="memory-content" rows="3" placeholder="Memory content..."
|
|
129
|
-
|
|
141
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0"></textarea>
|
|
130
142
|
</div>
|
|
131
143
|
<div class="form-row form-row-grid">
|
|
132
144
|
<div>
|
|
133
145
|
<label for="memory-category">Category</label>
|
|
134
146
|
<input id="memory-category" type="text" placeholder="e.g., preference"
|
|
135
|
-
|
|
147
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
136
148
|
</div>
|
|
137
149
|
<div>
|
|
138
150
|
<label for="memory-tier">Tier</label>
|
|
139
|
-
<select id="memory-tier" class="ambient amb-surface-
|
|
151
|
+
<select id="memory-tier" class="ambient amb-surface-concave amb-fillet amb-elevation-0">
|
|
140
152
|
<option value="daily">Daily</option>
|
|
141
153
|
<option value="stable">Stable</option>
|
|
142
154
|
<option value="permanent">Permanent</option>
|
|
@@ -145,29 +157,52 @@
|
|
|
145
157
|
</select>
|
|
146
158
|
</div>
|
|
147
159
|
</div>
|
|
160
|
+
|
|
161
|
+
<!-- Memory Links Section -->
|
|
162
|
+
<div class="memory-links-section">
|
|
163
|
+
<h4>π Linked Nodes</h4>
|
|
164
|
+
<div id="memory-edge-list" class="edge-list"></div>
|
|
165
|
+
<div class="link-form">
|
|
166
|
+
<input id="link-target-search" type="text" placeholder="Search for target memory or persona..."
|
|
167
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
168
|
+
<div id="link-target-results" class="link-search-results" style="display:none;"></div>
|
|
169
|
+
<input type="hidden" id="link-target-id" />
|
|
170
|
+
<input type="hidden" id="link-target-type" />
|
|
171
|
+
<input id="link-relationship" type="text" placeholder="Relationship (e.g., related_to, supports)"
|
|
172
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
173
|
+
<button id="btn-add-link"
|
|
174
|
+
class="btn-secondary btn-sm ambient amb-surface-convex amb-fillet amb-elevation-1">
|
|
175
|
+
+ Add Link
|
|
176
|
+
</button>
|
|
177
|
+
</div>
|
|
178
|
+
</div>
|
|
179
|
+
|
|
148
180
|
<div class="form-actions">
|
|
149
|
-
<button id="btn-save-memory"
|
|
150
|
-
|
|
181
|
+
<button id="btn-save-memory"
|
|
182
|
+
class="btn-primary ambient amb-surface-convex amb-chamfer amb-elevation-1">Save</button>
|
|
183
|
+
<button id="btn-cancel-memory"
|
|
184
|
+
class="btn-secondary ambient amb-surface-convex amb-fillet amb-elevation-1">Cancel</button>
|
|
151
185
|
</div>
|
|
152
186
|
</div>
|
|
153
187
|
|
|
154
188
|
<!-- Import form -->
|
|
155
|
-
<div id="import-form" class="form-card ambient amb-surface amb-
|
|
189
|
+
<div id="import-form" class="form-card ambient amb-surface amb-chamfer amb-elevation-2" style="display:none;">
|
|
156
190
|
<div class="form-row">
|
|
157
191
|
<label for="import-content">Markdown Content</label>
|
|
158
192
|
<textarea id="import-content" rows="8" placeholder="Paste markdown content here..."
|
|
159
|
-
|
|
193
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0"></textarea>
|
|
160
194
|
</div>
|
|
161
195
|
<div class="form-row">
|
|
162
196
|
<label for="import-filename">Source Filename (optional)</label>
|
|
163
197
|
<input id="import-filename" type="text" placeholder="e.g., memory.md"
|
|
164
|
-
|
|
198
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
165
199
|
</div>
|
|
166
200
|
<div class="form-actions">
|
|
167
|
-
<button id="btn-run-import" class="btn-primary ambient amb-surface amb-chamfer amb-elevation-1
|
|
201
|
+
<button id="btn-run-import" class="btn-primary ambient amb-surface-convex amb-chamfer amb-elevation-1">
|
|
168
202
|
Import
|
|
169
203
|
</button>
|
|
170
|
-
<button id="btn-cancel-import"
|
|
204
|
+
<button id="btn-cancel-import"
|
|
205
|
+
class="btn-secondary ambient amb-surface-convex amb-fillet amb-elevation-1">Cancel</button>
|
|
171
206
|
</div>
|
|
172
207
|
</div>
|
|
173
208
|
|
|
@@ -180,26 +215,27 @@
|
|
|
180
215
|
<div class="panel-header">
|
|
181
216
|
<h2>Knowledge Graph</h2>
|
|
182
217
|
<div class="graph-controls">
|
|
183
|
-
<button id="btn-fit-graph" class="btn-secondary ambient amb-surface amb-fillet amb-elevation-1">
|
|
218
|
+
<button id="btn-fit-graph" class="btn-secondary ambient amb-surface-convex amb-fillet amb-elevation-1">
|
|
184
219
|
π Fit
|
|
185
220
|
</button>
|
|
186
|
-
<button id="btn-toggle-labels" class="btn-secondary ambient amb-surface amb-fillet amb-elevation-1">
|
|
221
|
+
<button id="btn-toggle-labels" class="btn-secondary ambient amb-surface-convex amb-fillet amb-elevation-1">
|
|
187
222
|
π·οΈ Labels On
|
|
188
223
|
</button>
|
|
189
|
-
<button id="btn-refresh-graph" class="btn-secondary ambient amb-surface amb-fillet amb-elevation-1">
|
|
224
|
+
<button id="btn-refresh-graph" class="btn-secondary ambient amb-surface-convex amb-fillet amb-elevation-1">
|
|
190
225
|
π Refresh
|
|
191
226
|
</button>
|
|
192
227
|
</div>
|
|
193
228
|
</div>
|
|
194
229
|
<div class="graph-wrapper">
|
|
195
|
-
<div id="graph-container" class="graph-container ambient amb-surface-
|
|
230
|
+
<div id="graph-container" class="graph-container ambient amb-surface-concave amb-chamfer amb-elevation-0">
|
|
196
231
|
<svg id="graph-svg"></svg>
|
|
197
232
|
<div id="graph-legend" class="graph-legend"></div>
|
|
198
233
|
</div>
|
|
199
234
|
<div id="graph-info" class="graph-info ambient amb-surface amb-fillet amb-elevation-1">
|
|
200
|
-
<span id="graph-stats">Scroll to zoom β’ Drag to pan β’ Click a node for details</span>
|
|
235
|
+
<span id="graph-stats">Scroll to zoom β’ Drag to pan β’ Click a node for details β’ Shift+drag to link</span>
|
|
201
236
|
</div>
|
|
202
|
-
<div id="graph-detail" class="graph-detail-panel ambient amb-surface amb-chamfer amb-elevation-2"
|
|
237
|
+
<div id="graph-detail" class="graph-detail-panel ambient amb-surface amb-chamfer amb-elevation-2"
|
|
238
|
+
style="display:none;"></div>
|
|
203
239
|
</div>
|
|
204
240
|
</section>
|
|
205
241
|
|
|
@@ -211,8 +247,9 @@
|
|
|
211
247
|
<div class="scripts-grid">
|
|
212
248
|
<div class="script-card ambient amb-surface amb-chamfer amb-elevation-2">
|
|
213
249
|
<h3>π€ Sleep Cycle</h3>
|
|
214
|
-
<p>Run knowledge graph maintenance: episodic consolidation, duplicate detection, low-value cleanup, and link
|
|
215
|
-
|
|
250
|
+
<p>Run knowledge graph maintenance: episodic consolidation, duplicate detection, low-value cleanup, and link
|
|
251
|
+
discovery.</p>
|
|
252
|
+
<button id="btn-run-sleep" class="btn-primary ambient amb-surface-convex amb-chamfer amb-elevation-1">
|
|
216
253
|
Run Sleep Cycle
|
|
217
254
|
</button>
|
|
218
255
|
<div id="sleep-status" class="script-status"></div>
|
|
@@ -222,9 +259,10 @@
|
|
|
222
259
|
<p>Bootstrap a Markdown persona file into the agent_persona table.</p>
|
|
223
260
|
<div class="form-row">
|
|
224
261
|
<input id="persona-import-file" type="text" placeholder="/path/to/SOUL.md"
|
|
225
|
-
|
|
262
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
226
263
|
</div>
|
|
227
|
-
<button id="btn-run-persona-import"
|
|
264
|
+
<button id="btn-run-persona-import"
|
|
265
|
+
class="btn-primary ambient amb-surface-convex amb-chamfer amb-elevation-1">
|
|
228
266
|
Import Persona
|
|
229
267
|
</button>
|
|
230
268
|
<div id="persona-import-status" class="script-status"></div>
|
|
@@ -237,10 +275,10 @@
|
|
|
237
275
|
<div class="panel-header">
|
|
238
276
|
<h2>Plugin Configuration</h2>
|
|
239
277
|
<div class="header-actions">
|
|
240
|
-
<button id="btn-reset-config" class="btn-secondary ambient amb-surface amb-fillet amb-elevation-1">
|
|
278
|
+
<button id="btn-reset-config" class="btn-secondary ambient amb-surface-convex amb-fillet amb-elevation-1">
|
|
241
279
|
Reset to Defaults
|
|
242
280
|
</button>
|
|
243
|
-
<button id="btn-save-config" class="btn-primary ambient amb-surface amb-chamfer amb-elevation-
|
|
281
|
+
<button id="btn-save-config" class="btn-primary ambient amb-surface-convex amb-chamfer amb-elevation-2">
|
|
244
282
|
Save All Settings
|
|
245
283
|
</button>
|
|
246
284
|
</div>
|
|
@@ -250,91 +288,163 @@
|
|
|
250
288
|
<!-- RAG Settings -->
|
|
251
289
|
<div class="config-card ambient amb-surface amb-chamfer amb-elevation-2">
|
|
252
290
|
<h3>π RAG & Search</h3>
|
|
253
|
-
<p class="hint">
|
|
291
|
+
<p class="hint">Controls how memories are retrieved and injected into the agent's context window.</p>
|
|
254
292
|
<div class="form-row">
|
|
255
293
|
<label for="cfg-rag-semantic-limit">Semantic Matches (Direct)</label>
|
|
256
|
-
<input id="cfg-rag-semantic-limit" type="number" min="1" max="50"
|
|
257
|
-
|
|
294
|
+
<input id="cfg-rag-semantic-limit" type="number" min="1" max="50" placeholder="7"
|
|
295
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
296
|
+
<small>Number of memories fetched via vector cosine similarity before graph traversal. Higher = more direct
|
|
297
|
+
context but slower.</small>
|
|
258
298
|
</div>
|
|
259
299
|
<div class="form-row">
|
|
260
300
|
<label for="cfg-rag-total-limit">Total Matches (Final)</label>
|
|
261
|
-
<input id="cfg-rag-total-limit" type="number" min="1" max="100"
|
|
262
|
-
|
|
301
|
+
<input id="cfg-rag-total-limit" type="number" min="1" max="100" placeholder="15"
|
|
302
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
303
|
+
<small>Maximum total memories injected into context after adding graph-linked results. Cap this to avoid
|
|
304
|
+
overloading the context window.</small>
|
|
263
305
|
</div>
|
|
264
306
|
<div class="form-row">
|
|
265
307
|
<label for="cfg-rag-linked-similarity">Linked Similarity Floor</label>
|
|
266
|
-
<input id="cfg-rag-linked-similarity" type="number" step="0.01" min="0" max="1"
|
|
267
|
-
|
|
308
|
+
<input id="cfg-rag-linked-similarity" type="number" step="0.01" min="0" max="1" placeholder="0.80"
|
|
309
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
310
|
+
<small>Boosted similarity score assigned to memories found via graph traversal (linked). Higher = more
|
|
311
|
+
weight given to linked results. (0.0β1.0)</small>
|
|
312
|
+
</div>
|
|
313
|
+
<div class="form-row">
|
|
314
|
+
<label for="cfg-rag-max-traversal-depth">Graph Traversal Depth</label>
|
|
315
|
+
<input id="cfg-rag-max-traversal-depth" type="number" min="1" max="10" placeholder="3"
|
|
316
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
317
|
+
<small>Maximum number of edge hops during recursive graph traversal (AβBβC = depth 2). Higher depth
|
|
318
|
+
discovers distant connections but increases query time.</small>
|
|
268
319
|
</div>
|
|
269
320
|
</div>
|
|
270
321
|
|
|
271
322
|
<!-- Persona -->
|
|
272
323
|
<div class="config-card ambient amb-surface amb-chamfer amb-elevation-2">
|
|
273
324
|
<h3>π Persona</h3>
|
|
274
|
-
<p class="hint">
|
|
325
|
+
<p class="hint">Controls how persona traits are selected and injected into the agent's system prompt.</p>
|
|
275
326
|
<div class="form-row">
|
|
276
327
|
<label for="cfg-persona-situational-limit">Situational Persona Limit</label>
|
|
277
|
-
<input id="cfg-persona-situational-limit" type="number" min="1" max="20"
|
|
278
|
-
|
|
328
|
+
<input id="cfg-persona-situational-limit" type="number" min="1" max="20" placeholder="3"
|
|
329
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
330
|
+
<small>Number of context-relevant persona traits injected per prompt (in addition to always-active traits).
|
|
331
|
+
Higher = more identity context.</small>
|
|
279
332
|
</div>
|
|
280
333
|
</div>
|
|
281
334
|
|
|
282
335
|
<!-- System Prompt Templates -->
|
|
283
336
|
<div class="config-card config-card-full ambient amb-surface amb-chamfer amb-elevation-2">
|
|
284
337
|
<h3>π System Prompt Templates</h3>
|
|
285
|
-
<p class="hint">These blocks are injected into the agent's system prompt. Changes take effect on the next user
|
|
338
|
+
<p class="hint">These blocks are injected into the agent's system prompt. Changes take effect on the next user
|
|
339
|
+
message. Use concise, behavior-guiding language.</p>
|
|
286
340
|
<div class="form-row">
|
|
287
341
|
<label for="cfg-prompt-memory">Memory Management Rules</label>
|
|
288
|
-
<textarea id="cfg-prompt-memory" rows="
|
|
342
|
+
<textarea id="cfg-prompt-memory" rows="5"
|
|
343
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0 code-font"></textarea>
|
|
344
|
+
<small>Instructions for how the agent should silently save, update, and link knowledge.</small>
|
|
289
345
|
</div>
|
|
290
346
|
<div class="form-row">
|
|
291
347
|
<label for="cfg-prompt-persona">Persona Management Rules</label>
|
|
292
|
-
<textarea id="cfg-prompt-persona" rows="
|
|
348
|
+
<textarea id="cfg-prompt-persona" rows="4"
|
|
349
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0 code-font"></textarea>
|
|
350
|
+
<small>Instructions for when/how the agent modifies its own persona traits.</small>
|
|
293
351
|
</div>
|
|
294
352
|
<div class="form-row">
|
|
295
353
|
<label for="cfg-prompt-heartbeat">Heartbeat / Autonomous Rules</label>
|
|
296
|
-
<textarea id="cfg-prompt-heartbeat" rows="
|
|
297
|
-
|
|
354
|
+
<textarea id="cfg-prompt-heartbeat" rows="4"
|
|
355
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0 code-font"></textarea>
|
|
356
|
+
<small>Autonomous loop behavior. Use {{heartbeatFilePath}} as a placeholder for the path below.</small>
|
|
298
357
|
</div>
|
|
299
358
|
<div class="form-row">
|
|
300
359
|
<label for="cfg-prompt-heartbeat-path">Heartbeat File Path</label>
|
|
301
|
-
<input id="cfg-prompt-heartbeat-path" type="text"
|
|
360
|
+
<input id="cfg-prompt-heartbeat-path" type="text"
|
|
361
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
362
|
+
<small>Absolute path to the heartbeat task file the agent checks on each autonomous loop.</small>
|
|
302
363
|
</div>
|
|
303
364
|
</div>
|
|
304
365
|
|
|
305
366
|
<!-- Sleep Cycle -->
|
|
306
367
|
<div class="config-card config-card-full ambient amb-surface amb-chamfer amb-elevation-2">
|
|
307
368
|
<h3>π€ Sleep & Maintenance</h3>
|
|
308
|
-
<p class="hint">
|
|
369
|
+
<p class="hint">Thresholds for the background knowledge graph optimization cycle. These run when "Sleep Cycle"
|
|
370
|
+
is triggered.</p>
|
|
309
371
|
<div class="form-row-grid">
|
|
310
372
|
<div class="form-row">
|
|
311
373
|
<label for="cfg-sleep-dedup-threshold">Dedup Similarity</label>
|
|
312
|
-
<input id="cfg-sleep-dedup-threshold" type="number" step="0.01" min="0" max="1"
|
|
313
|
-
|
|
374
|
+
<input id="cfg-sleep-dedup-threshold" type="number" step="0.01" min="0" max="1" placeholder="0.80"
|
|
375
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
376
|
+
<small>Merge memories with cosine similarity above this threshold. Higher = stricter dedup (fewer merges).
|
|
377
|
+
Default 0.80.</small>
|
|
314
378
|
</div>
|
|
315
379
|
<div class="form-row">
|
|
316
380
|
<label for="cfg-sleep-low-value-age">Cleanup Age (Days)</label>
|
|
317
|
-
<input id="cfg-sleep-low-value-age" type="number" min="1" max="365"
|
|
318
|
-
|
|
381
|
+
<input id="cfg-sleep-low-value-age" type="number" min="1" max="365" placeholder="7"
|
|
382
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
383
|
+
<small>Archive unused memories older than this many days. Prevents memory bloat over time.</small>
|
|
319
384
|
</div>
|
|
320
385
|
<div class="form-row">
|
|
321
386
|
<label for="cfg-sleep-link-min">Link Min Similarity</label>
|
|
322
|
-
<input id="cfg-sleep-link-min" type="number" step="0.01" min="0" max="1"
|
|
387
|
+
<input id="cfg-sleep-link-min" type="number" step="0.01" min="0" max="1" placeholder="0.65"
|
|
388
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
389
|
+
<small>During sleep, only auto-create links between memories with similarity above this floor.</small>
|
|
323
390
|
</div>
|
|
324
391
|
<div class="form-row">
|
|
325
392
|
<label for="cfg-sleep-link-max">Link Max Similarity</label>
|
|
326
|
-
<input id="cfg-sleep-link-max" type="number" step="0.01" min="0" max="1"
|
|
393
|
+
<input id="cfg-sleep-link-max" type="number" step="0.01" min="0" max="1" placeholder="0.92"
|
|
394
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
395
|
+
<small>During sleep, skip link creation between memories with similarity above this ceiling (likely
|
|
396
|
+
duplicates).</small>
|
|
397
|
+
</div>
|
|
398
|
+
<div class="form-row">
|
|
399
|
+
<label for="cfg-sleep-episodic-batch">Episodic Batch Limit</label>
|
|
400
|
+
<input id="cfg-sleep-episodic-batch" type="number" min="1" max="100" placeholder="100"
|
|
401
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
402
|
+
<small>Number of episodic log entries to consolidate per sleep cycle.</small>
|
|
403
|
+
</div>
|
|
404
|
+
<div class="form-row">
|
|
405
|
+
<label for="cfg-sleep-dedup-scan">Duplicate Scan Limit</label>
|
|
406
|
+
<input id="cfg-sleep-dedup-scan" type="number" min="1" max="500" placeholder="200"
|
|
407
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
408
|
+
<small>Number of memories to scan for near-duplicates per sleep cycle.</small>
|
|
409
|
+
</div>
|
|
410
|
+
<div class="form-row">
|
|
411
|
+
<label for="cfg-sleep-link-candidates">Link Candidates Per Memory</label>
|
|
412
|
+
<input id="cfg-sleep-link-candidates" type="number" min="1" max="50" placeholder="5"
|
|
413
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
414
|
+
<small>Number of similar memories to consider for link creation per source memory.</small>
|
|
415
|
+
</div>
|
|
416
|
+
<div class="form-row">
|
|
417
|
+
<label for="cfg-sleep-link-batch">Link Batch Size</label>
|
|
418
|
+
<input id="cfg-sleep-link-batch" type="number" min="1" max="100" placeholder="20"
|
|
419
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
420
|
+
<small>Number of candidate pairs to send to LLM for classification in each batch.</small>
|
|
421
|
+
</div>
|
|
422
|
+
<div class="form-row">
|
|
423
|
+
<label for="cfg-sleep-link-scan">Link Scan Limit</label>
|
|
424
|
+
<input id="cfg-sleep-link-scan" type="number" min="1" max="500" placeholder="50"
|
|
425
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
426
|
+
<small>Total number of memories to scan for potential links per sleep cycle.</small>
|
|
427
|
+
</div>
|
|
428
|
+
<div class="form-row">
|
|
429
|
+
<label for="cfg-sleep-protected-tiers">Protected Tiers (Low-Value Cleanup)</label>
|
|
430
|
+
<input id="cfg-sleep-protected-tiers" type="text"
|
|
431
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" placeholder="permanent,stable" />
|
|
432
|
+
<small>Comma-separated list of memory tiers exempt from low-value archival. Default: permanent,
|
|
433
|
+
stable.</small>
|
|
327
434
|
</div>
|
|
328
435
|
</div>
|
|
329
436
|
</div>
|
|
330
437
|
|
|
331
|
-
<!--
|
|
438
|
+
<!-- Technical -->
|
|
332
439
|
<div class="config-card ambient amb-surface amb-chamfer amb-elevation-2">
|
|
333
440
|
<h3>π οΈ Technical</h3>
|
|
441
|
+
<p class="hint">Internal settings for deduplication and event processing.</p>
|
|
334
442
|
<div class="form-row">
|
|
335
443
|
<label for="cfg-dedup-cache">Event Cache Size</label>
|
|
336
|
-
<input id="cfg-dedup-cache" type="number" min="100" max="10000"
|
|
337
|
-
|
|
444
|
+
<input id="cfg-dedup-cache" type="number" min="100" max="10000" placeholder="1000"
|
|
445
|
+
class="ambient amb-surface-concave amb-fillet amb-elevation-0" />
|
|
446
|
+
<small>Number of recent event IDs kept in memory to prevent double-processing. Increase for high-throughput
|
|
447
|
+
agents.</small>
|
|
338
448
|
</div>
|
|
339
449
|
</div>
|
|
340
450
|
</div>
|
|
@@ -347,4 +457,5 @@
|
|
|
347
457
|
|
|
348
458
|
<script src="/app.js"></script>
|
|
349
459
|
</body>
|
|
350
|
-
|
|
460
|
+
|
|
461
|
+
</html>
|