Give the assistant a standing memory file
A small operator-written file handed to the model at the start of every conversation — who you are, how this install is set up, what has already been decided. Injected ahead of the retrieved passages and marked operator-authored so it outranks anything they contradict, and never cited as a source. Deliberately not indexed and deliberately under DATA_DIR: it changes constantly, vector similarity is the wrong way to retrieve things you were told to remember, and gitignoring it keeps personal notes out of a pushed repository. The character cap is a context budget — this text costs its share of 16k on every single turn.
This commit is contained in:
@@ -59,7 +59,9 @@
|
||||
// REQUEST
|
||||
// GET ?action=stats banner payload
|
||||
// GET ?action=poll&token=<hex32> job state
|
||||
// GET ?action=memory_get the operator memory file and its budget
|
||||
// POST action=ask question=… [history=<JSON>] [kind=…] [think=0|1]
|
||||
// POST action=memory_set memory=… replace the memory file
|
||||
// POST action=clear token=<hex32> discard a finished job
|
||||
//
|
||||
// RESPONSE
|
||||
@@ -131,6 +133,23 @@ if ($action === 'poll') {
|
||||
exit;
|
||||
}
|
||||
|
||||
// ── memory ────────────────────────────────────────────────────────────────────
|
||||
if ($action === 'memory_get') {
|
||||
$m = vv_ai_memory_read();
|
||||
echo json_encode(['ok' => true, 'memory' => $m['text'], 'chars' => $m['chars'],
|
||||
'max' => vv_ai_memory_max(), 'exists' => $m['exists'],
|
||||
'path' => vv_ai_memory_path()]);
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($action === 'memory_set') {
|
||||
if (!$isPost) { http_response_code(405); echo json_encode(['ok' => false, 'error' => 'POST only']); exit; }
|
||||
$r = vv_ai_memory_write((string)($_POST['memory'] ?? ''));
|
||||
vv_ai_log('memory_set ' . ($r['ok'] ? 'ok chars=' . $r['chars'] : 'FAILED: ' . $r['error']));
|
||||
echo json_encode($r + ['max' => vv_ai_memory_max()]);
|
||||
exit;
|
||||
}
|
||||
|
||||
// ── clear ─────────────────────────────────────────────────────────────────────
|
||||
if ($action === 'clear') {
|
||||
if (!$isPost) { http_response_code(405); echo json_encode(['ok' => false, 'error' => 'POST only']); exit; }
|
||||
|
||||
Reference in New Issue
Block a user