Ship Assistent 0.12.1: training tab, dataset pipeline, and heard RAG.

Restructure UI with app-level tabs and chat history drawer; add dataset curation,
HF import, Modelfile/QLoRA hooks, and link approved samples to the agent immediately
via heard vector memory without waiting for fine-tuning.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-22 14:27:59 +03:00
co-authored by Cursor
parent e8bb012885
commit 1a03c3178f
21 changed files with 4919 additions and 638 deletions
+14 -1
View File
@@ -37,8 +37,12 @@ public sealed partial class AssistentMemory : IDisposable
["note"] = 4,
["model"] = 2,
["aspect"] = 1,
["heard"] = 3,
};
public static Dictionary<string, int> CopyDefaultQuotas()
=> new(DefaultQuotas, StringComparer.OrdinalIgnoreCase);
readonly string _dataRoot;
readonly string _dbPath;
readonly HttpClient _http;
@@ -139,6 +143,14 @@ public sealed partial class AssistentMemory : IDisposable
Logs.Debug($"AssistentMemory store schema: {ex.Message}");
}
try
{
EnsureTrainingSchema();
}
catch (Exception ex)
{
Logs.Debug($"AssistentMemory training schema: {ex.Message}");
}
try
{
EnsureUserPrefsSchema();
}
@@ -857,7 +869,7 @@ public sealed partial class AssistentMemory : IDisposable
{
EnsureOpen();
using SqliteCommand cmd = _conn.CreateCommand();
cmd.CommandText = "SELECT kind, key, text, source, persona, updated FROM memories WHERE kind = $kind AND key = $key";
cmd.CommandText = "SELECT kind, key, text, source, persona, updated, meta_json FROM memories WHERE kind = $kind AND key = $key";
cmd.Parameters.AddWithValue("$kind", kind);
cmd.Parameters.AddWithValue("$key", key);
using SqliteDataReader reader = cmd.ExecuteReader();
@@ -885,6 +897,7 @@ public sealed partial class AssistentMemory : IDisposable
["scope"] = shared ? "shared" : "personal",
["persona"] = shared ? "shared" : persona,
["updated"] = reader.IsDBNull(5) ? 0 : reader.GetInt64(5),
["meta_json"] = reader.IsDBNull(6) ? null : reader.GetString(6),
};
}
}