opencode-config/.opencode/skills/memory/SKILL.md
Sergey 9d654a2201
chore(memory): remove plugin + setup-memory.sh + Rust artifacts (#103)
* chore(memory): remove plugin block from opencode.json

* chore(memory): remove setup-memory.sh and memory-setup.ts

* chore(memory): remove opencode-memory from Dockerfile

* docs(memory): update AGENTS.md and SKILL.md for new tools

* test(memory): drop tests for removed setup-memory.sh and memory-setup.ts

* docs(handoff): add handoff and ADR-045 for plugin/rust removal

* docs(handoff): set PR number

* docs(project-map): update after plugin/rust removal

---------

Co-authored-by: opencode-agent <agent@opencode.local>
2026-07-27 01:47:26 +03:00

109 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: memory
description: Инструкция по работе с файловой памятью opencode-memory (search + save + retro).
---
# File Memory (opencode-memory)
Графовая память (Graphiti/FalkorDB) удалена — была нестабильна и забагована.
Память работает через файловую систему с keyword + semantic search — 5 TS tools (`.opencode/tools/memory-*.ts`), вызывают `python3 -m src.memory`. Плагин `@mathew-cf/opencode-memory` удалён.
## Инструменты
| Инструмент | Назначение |
|---|---|
| `memory-search({ query, category? })` | Гибридный поиск (ripgrep keyword + Python semantic) |
| `memory-list({ category? })` | Список категорий / файлов |
| `memory-save()` | Commit + reindex после записи/редактирования (auto-setup: git init + hook если `OPENCODE_MEMORY_REMOTE` set) |
| `memory-access({ path })` | Отметить файл как прочитанный (bump `last_accessed`/`access_count`) |
| `memory-doctor()` | Read-only диагностика: ripgrep, Python `src.memory`, env vars, index |
## Категории
`preferences` · `repos` · `technical` · `people` · `workflows` · `snippets` · `notes`
## Как работать
1. **Перед началом работы**`memory-search` по теме
2. **В процессе** — сохранять находки сразу (контекст свежий)
3. **В конце сессии** — retrospective: что узнал → сохранить, что было в памяти → обновить, чего не хватало → создать
## Когда сохранять
- gotcha / workaround (неочевидное поведение)
- структура репозитория, команды сборки/тестов
- quirks инструментов
- коренные причины багов (root cause)
- указатели: «для X используй Y, осторожно с
## Когда НЕ сохранять
- данные, которые живой API возвращает свежими каждый раз
- текущий статус тасок / PR / спринтов
- копии вики-страниц и API-документации
- то, что находится за <1 минуты из первых принципов
## Структура файла
```
---
title: Человекочитаемый заголовок
tags: [tag1, tag2]
summary: Описание в одну строку
created: YYYY-MM-DD
updated: YYYY-MM-DD
importance: high | medium | low
source: откуда информация
source_date: YYYY-MM-DD
related: [category/file.md]
---
```
## Путь для репозиториев
Default: `/root/.local/share/opencode/opencode-memory` (переопределяется через `OPENCODE_MEMORY_DIR`).
```
{memory-dir}/repos/{host}/{org}/{repo}.md
```
Используй один путь последовательно во всех примерах default (`~/opencode-memory`) или override (`app_data/opencode-memory`), но не оба сразу.
### Формат записей
```
- [YYYY-MM-DD, PR#N] <суть>
```
Дата и PR-номер в тексте для RAG-поиска и верификации (какой PR принёс знание).
### Что дистиллировать (durable-only)
- gotchas / workaround (неочевидное поведение)
- паттерны, конвенции репозитория
- указатели: «для X используй Y, осторожно с Z»
- коренные причины багов (root cause)
НЕ дистиллировать: статусы, «сейчас делаем», текущие таски, ephemeral контекст.
### ADR — только указатель
```
- [date, PR#N] ADR-NN: <суть> → docs/decisions/NN-title.md
```
Не копируй содержание ADR только указатель на файл.
### Править вместо дублирования
Если факт уже записан обнови запись (bump `updated` в frontmatter). Не создавай дубликаты.
### Квитанция ставится всегда
Даже если durable-записей нет, квитанция обязательна:
```
- [date, PR#N] — (нет durable-записей)
```
Это подтверждает, что memory-sync фаза выполнена (audit trail).