Browse Source

Template: sync full memory (23 entries, no directives)

master
Serge Shutov 1 week ago
parent
commit
9032ab839f
  1. 219
      memory/state.template.json

219
memory/state.template.json

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
{
"version": 2,
"updatedAt": "2026-11-07T05:58:15.566Z",
"updatedAt": "2026-11-07T05:58:58.606Z",
"entries": [
{
"id": "0f90dcf0-5d43-4ca4-bf86-ad8b3ee20382",
@ -269,6 +269,223 @@ @@ -269,6 +269,223 @@
"lastRecalled": null,
"recallCount": 0,
"bytes": 1880
},
{
"id": "cb490030-d6ed-4257-adbf-aa3950317f4c",
"track": "agent",
"scope": "user-global",
"workspaceKey": "",
"key": "project_dsh_memory",
"text": "Проект dsh-memory: unified Chrome-расширение. Замена DSH PRO и dsmemory (оба больше не нужны). Версия 1.0.0 — функционально завершено, дальше косметика и расширение.\n\nМост 127.0.0.1:8766, zero npm deps, Node.js. SSE основной путь исполнения вызовов (текст из XHR, минуя DOM-рендерер), DOM резервный (только если SSE сломался после обновления DeepSeek).\n\nПамять v2: Entry-модель, директивы scope workspace, служебная папка .dsh-memory/ в workspace (logs, outputs, notes). Инъекция протокола в первый ход нового чата автоматически. STG-кнопка в настройках панели — принудительная инъекция в старые чаты.\n\nЭтапы 1-5 закрыты. Этап 6 (калибровка контекста) отложен до накопления статистики по чатам. README содержит установку для новичка на Windows, описание протокола и команд, интерфейс панели, режимы моста, заимствования.",
"importance": "called",
"tags": [
"project",
"architecture",
"dsh-memory"
],
"state": null,
"chatId": "",
"version": 2,
"createdAt": "2026-11-03T03:40:13.183Z",
"updatedAt": "2026-11-03T07:44:27.175Z",
"lastRecalled": null,
"recallCount": 0,
"bytes": 1317
},
{
"id": "ced4efed-0c7a-4e5a-a717-4efaf4ad1b9a",
"track": "agent",
"scope": "user-global",
"workspaceKey": "",
"key": "tech_stack_dsh_memory",
"text": "Стек dsh-memory: Node.js без зависимостей, Chrome MV3 extension. MAIN world XHR hook в injected/chat-logger.js перехватывает chat/completion, extractAssistant отделяет thinking от answer. ISOLATED content/content.js парсит вызовы, отправляет в мост через bridge-client.js. Мост: bridge/server.js HTTP, bridge/tools.js инструменты, bridge/memory.js память, bridge/state-dir.js служебная папка, bridge/guard.js безопасность путей. Хранилище: memory/state.json (runtime, gitignore) + memory/state.template.json (в git).",
"importance": "called",
"tags": [
"tech",
"stack",
"dsh-memory"
],
"state": null,
"chatId": "",
"version": 1,
"createdAt": "2026-11-03T03:40:16.201Z",
"updatedAt": "2026-11-03T03:40:16.201Z",
"lastRecalled": null,
"recallCount": 0,
"bytes": 653
},
{
"id": "c075b839-41ed-499e-bdeb-95539477e3f4",
"track": "user",
"scope": "user-global",
"workspaceKey": "",
"key": "pref_language_style",
"text": "Пользователь: русский язык. Технический стиль, минимум воды, конкретика. Не терпит поспешных выводов и гаданий. Требует проверки кода фактами, а не по памяти. Ценит честные ответы 'не знаю' больше чем догадки. Все объяснения с обоснованием, а не просто результат.",
"importance": "called",
"tags": [
"pref",
"communication"
],
"state": null,
"chatId": "",
"version": 1,
"createdAt": "2026-11-03T03:40:19.219Z",
"updatedAt": "2026-11-03T03:40:19.219Z",
"lastRecalled": null,
"recallCount": 0,
"bytes": 476
},
{
"id": "400aecd2-7a3c-46c8-b5e4-ea0039ee3816",
"track": "user",
"scope": "user-global",
"workspaceKey": "",
"key": "pref_workflow_discipline",
"text": "Рабочий процесс: сначала план, потом шаги с согласованием. После блока работы — коммит, после этапа — push. Не делать поспешных выводов о лимитах контекста. Проверять факты в коде, не по памяти. При сомнении спрашивать. Тесты и проверки важнее скорости.",
"importance": "called",
"tags": [
"pref",
"workflow"
],
"state": null,
"chatId": "",
"version": 1,
"createdAt": "2026-11-03T03:40:29.451Z",
"updatedAt": "2026-11-03T03:40:29.451Z",
"lastRecalled": null,
"recallCount": 0,
"bytes": 456
},
{
"id": "54fb4b87-0114-4d1f-a60a-cc5cebfedeb8",
"track": "agent",
"scope": "user-global",
"workspaceKey": "",
"key": "pitfall_mjs_escaping",
"text": "В content .mjs не использовать обратный слэш + n для переводов строк. Многоуровневое экранирование в JSON-маркере (четыре бэкслэша) ломает JSON.parse, парсер молча пропускает вызов. Симптом: packet.sseCalls больше parsedCount. Использовать String.fromCharCode(10) или массив строк с .join(sep). Для литерального бэкслэша — String.fromCharCode(92).",
"importance": "called",
"tags": [
"pitfall",
"escaping",
"mjs"
],
"state": null,
"chatId": "",
"version": 2,
"createdAt": "2026-11-03T03:40:32.461Z",
"updatedAt": "2026-11-03T03:41:22.376Z",
"lastRecalled": null,
"recallCount": 0,
"bytes": 537
},
{
"id": "fbbc5ef3-e6bc-43ed-8d1c-e2631b2b798e",
"track": "agent",
"scope": "user-global",
"workspaceKey": "",
"key": "pitfall_crlf_mixed",
"text": "Смешанные переводы строк (часть CRLF, часть LF) в файле ломают патчи по номерам строк. Индексы съезжают, guard ABORT при корректном содержимом. Нормализовать к LF перед патчем (split CRLF join LF), писать обратно однородным LF. Проверять счётчики CR и LF до патча.",
"importance": "called",
"tags": [
"pitfall",
"crlf",
"patching"
],
"state": null,
"chatId": "",
"version": 1,
"createdAt": "2026-11-03T03:40:35.473Z",
"updatedAt": "2026-11-03T03:40:35.473Z",
"lastRecalled": null,
"recallCount": 0,
"bytes": 438
},
{
"id": "a559d2bb-6a79-43fd-a562-e4a71a594e01",
"track": "agent",
"scope": "user-global",
"workspaceKey": "",
"key": "pitfall_double_patch",
"text": "Патч применяется дважды из-за дублирования вызовов рендерером. Симптом: в файле дубли строк или блоков после одного запуска. Anchor патчера не должен присутствовать в тексте замены. После запуска прогнать патчер второй раз: должно быть SKIP или fixed 0. Защита в самом патчере: if indexOf marker already present then exit.",
"importance": "called",
"tags": [
"pitfall",
"patching"
],
"state": null,
"chatId": "",
"version": 1,
"createdAt": "2026-11-03T03:40:46.974Z",
"updatedAt": "2026-11-03T03:40:46.974Z",
"lastRecalled": null,
"recallCount": 0,
"bytes": 535
},
{
"id": "bef39421-5921-445a-8bb4-2e918d6c7805",
"track": "agent",
"scope": "user-global",
"workspaceKey": "",
"key": "decision_state_dir",
"text": "Папка .dsh-memory/ заменяет .dsh-pro/. Единая служебная папка в корне workspace: logs/ (execution-log.jsonl), outputs/ (большие результаты, git diff), notes/ (чекпоинты, протоколы, README с шаблоном). Создаётся мостом при старте для каждого allowedRoots и при каждом logExecution через ensureStateDir. В .gitignore проекта. Модуль bridge/state-dir.js — единая точка путей. DSH PRO и dsmemory больше не нужны.",
"importance": "called",
"tags": [
"decision",
"architecture",
"dsh-memory"
],
"state": null,
"chatId": "",
"version": 1,
"createdAt": "2026-11-03T03:40:49.982Z",
"updatedAt": "2026-11-03T03:40:49.982Z",
"lastRecalled": null,
"recallCount": 0,
"bytes": 586
},
{
"id": "df427310-12de-4260-bb00-033a6758944d",
"track": "agent",
"scope": "user-global",
"workspaceKey": "",
"key": "decision_dom_sse",
"text": "SSE основной путь: текст из XHR через extractAssistant, минуя DOM-рендерер. Нет линкификации, многострочный oldText работает, любой юникод и пунктуация. Лимит 10 вызовов. DOM резервный: линкификация доменов, многострочный edit падает, лимит 3-4 вызова. Переключатель в панели, ключ storage dshmem-transport, значения dom/sse. При падении DOM сравнивать packet.text с dom-parse-fail.msgText.",
"importance": "called",
"tags": [
"decision",
"modes",
"dsh-memory"
],
"state": null,
"chatId": "",
"version": 1,
"createdAt": "2026-11-03T03:40:52.990Z",
"updatedAt": "2026-11-03T03:40:52.990Z",
"lastRecalled": null,
"recallCount": 0,
"bytes": 608
},
{
"id": "117b3835-5042-46b9-974f-6ef0691d7d76",
"track": "agent",
"scope": "workspace",
"workspaceKey": "V:/Site",
"key": "pitfall_git_push",
"text": "После коммитов в dsh-memory всегда делать git push origin master — иначе коммиты остаются локально и не видны в веб-репозитории git.starvery.ru. git status 'ahead N' = не отправлено.",
"importance": "called",
"tags": [
"git",
"push",
"dsh-memory"
],
"state": null,
"chatId": "",
"version": 1,
"createdAt": "2026-11-06T02:17:17.727Z",
"updatedAt": "2026-11-06T02:17:17.727Z",
"lastRecalled": null,
"recallCount": 0,
"bytes": 273
}
],
"chats": {}

Loading…
Cancel
Save