# Заметки и папки (/ru/docs/memo/notes)

Эта страница поможет перенести ваши заметки в Memo и вести там собственные заметки. Вы можете добавить
папку с файлами Markdown или папку Obsidian, искать в её документах и писать заметки о людях,
сообщениях и проектах. Memo только читает ваши папки: он записывает файл, только когда вы экспортируете
свои заметки.

Есть два вида заметок:

* **Заметки из ваших файлов.** Memo читает их из папки, которую вы выбрали. Чтобы изменить такую
  заметку, отредактируйте файл и снова выполните импорт. Их ссылки на источник выглядят как `document:3`.
* **Заметки, которые вы пишете в Memo.** Они хранятся в локальном хранилище и могут касаться человека,
  сообщения, проекта или другой заметки. Их ссылки на источник выглядят как `note:12`.

## Добавьте папку [#добавьте-папку]

Это может быть любая папка с заметками на вашем компьютере: заметки по проекту, папка с документами или
папка Obsidian. Memo читает саму папку и все вложенные в неё папки.

**Проще всего попросить агента.**

> ```text prompt
> Use memo CLI to add my notes folder at /path/to/notes and import it.
> Tell me how many notes it found and which files it could not read.
> ```

**Или выполните команды сами.** Замените `/path/to/notes` на полный путь к вашей папке.

Для папки с обычными файлами Markdown:

```sh
memo folders add /path/to/notes --format markdown
memo notes import --no-embed
```

Для папки Obsidian:

```sh
memo folders add /path/to/vault --format obsidian
memo notes import --no-embed
```

`memo folders add` выводит ID папки, например `1`. `memo notes import` читает заметки и сообщает,
сколько их нашлось:

```text
/path/to/notes: 24 notes, 24 changed, 0 moved, 0 gone
```

`--no-embed` пропускает подготовку к поиску по смыслу, поэтому для начала работы модель поиска не нужна.
Запускайте `memo notes import` снова после того, как добавите или измените файлы; читаются только
изменения.

Можно добавить несколько папок. `memo folders list` показывает их все.

### Markdown или Obsidian [#markdown-или-obsidian]

Формат сообщает Memo, как в ваших заметках записаны ссылки и теги. Чтобы пользоваться Memo, Obsidian не
нужен, и Obsidian не обязательно держать открытым.

| Обязательность | `markdown` | `obsidian` (по умолчанию) |
| --- | --- | --- |
| Ссылки на другие заметки | Ссылки Markdown на файл (см. ниже) | `[[Other note]]`, `[[Other note\|label]]`, а также с `#heading` |
| Теги | поле `tags:` в начале файла | поле `tags:` и `#tags` в тексте |
| Другие названия заметки | | поле `aliases:` |

Ссылка в папке формата `markdown` выглядит так:

```md
[label](other-note.md)
```

В папке формата `markdown` слово `#word` в тексте не считается тегом. Оба формата понимают ссылки,
записанные как ссылки на источник, например `[Kai](person:7)` или просто `msg:telegram/1/77/42`.

**Папка Obsidian** (vault) — это папка с заметками Markdown, которую Obsidian открывает как одно рабочее
пространство. Memo пропускает скрытые папки, например `.obsidian`.

### Файлы, которые читает Memo [#файлы-которые-читает-memo]

| Файлы | Расширения | Что сохраняет Memo |
| --- | --- | --- |
| Текст и Markdown | `.txt`, `.md`, `.markdown` | Текст, ссылки и теги |
| Таблицы | `.csv`, `.tsv`, `.xlsx`, `.ods` | Значения ячеек с листом, строкой и столбцом |
| Документы, презентации и электронные книги | `.odt`, `.pptx`, `.epub` | Текст без оформления |
| PDF и Word | `.pdf`, `.docx` | Текст с номерами страниц PDF. Нужны дополнительные программы чтения (см. ниже) |

Чтобы читать файлы PDF и Word, установите рядом с Memo две дополнительные программы чтения:

```sh
npm install -g unpdf mammoth
```

Некоторые файлы прочитать нельзя: отсканированные PDF (изображения страниц без текста), старые файлы
`.doc` и `.xls`, а также файлы больше 50 МБ. Memo сохраняет до 200 000 символов из каждого файла. В отчёте
об импорте перечислены все файлы, которые не удалось прочитать, и причина, поэтому пропавший файл
никогда не выпадает из поиска незаметно.

### Пропустите некоторые файлы [#пропустите-некоторые-файлы]

Чтобы не пускать некоторые файлы в Memo, перечислите их в `notes.ignore` в
[файле настроек](/llms.mdx/docs/ru/memo/configuration/content.md#notes). Правило — это путь внутри папки, папка (всё в ней
пропускается) или шаблон:

```json
{ "notes": { "ignore": ["Journal/Private.md", "Archive", "**/Private*"] } }
```

`memo notes import --ignore Drafts` пропускает папку только при одном импорте.

## Найдите свои заметки [#найдите-свои-заметки]

```sh
memo search notes 'budget'
memo search notes 'budget' --tag work
memo notes show document:3
```

Каждый результат показывает файл и первую подходящую строку. `memo notes show` показывает одну заметку
с её тегами, заметками, на которые она ссылается, и заметками, которые ссылаются на неё. Другие слова для
поиска описаны в разделе [Поиск](/llms.mdx/docs/ru/memo/search/content.md).

## Пишите свои заметки [#пишите-свои-заметки]

Заметка, которую вы пишете в Memo, может касаться человека, сообщения, проекта или другой заметки.
Запись заметки ничего никому не отправляет и не меняет сообщение, к которому она относится.

> ```text prompt
> Use memo CLI to save a note that Kai Sample prefers morning meetings, linked to Kai on Telegram.
> Show me the saved note.
> ```

Или сами:

```sh
memo notes add 'Prefers morning meetings' --about telegram:'Kai Sample'
memo notes list --about telegram:'Kai Sample'
```

`--about` указывает, к чему относится заметка. Чтобы указать несколько, повторите его:

| К чему относится | Что написать |
| --- | --- |
| Человек в мессенджере | `telegram:'Kai Sample'`, `max:'Kai Sample'` или `email:kai@example.com` (имя или ID) |
| Одно сообщение | его ссылка на источник, например `msg:telegram/1/77/42` |
| Заметка или файл | `note:12` или `document:3` |
| Человек, организация, проект или задача | `person:…`, `organization:…`, `project:…`, `task:…` |

Копируйте ссылки на источник из результатов поиска; не вводите их по памяти. Человек, сообщение или
заметка уже должны быть в локальном хранилище.

### Прочитайте, измените или удалите заметку [#прочитайте-измените-или-удалите-заметку]

```sh
memo notes show note:12
memo notes edit 12 --revision 1 --text 'Prefers early morning meetings'
memo notes remove 12
```

У каждой заметки есть номер **ревизии**, который растёт с каждой правкой. `memo notes edit` запрашивает
текущую ревизию, её показывает `memo notes show note:12 --json`. Если за это время заметку изменил
кто-то другой или другая программа, номера не совпадут и Memo откажется вносить правку, поэтому ни одно изменение не
потеряется. Прочитайте заметку снова и повторите.

Заметку из файла редактируют в самом файле, а не через `memo notes edit`.

### Сохраните заметки в файлы [#сохраните-заметки-в-файлы]

```sh
memo notes export --to /path/to/vault/memo --format obsidian
```

Экспорт записывает заметки, которые вы написали в Memo, в виде файлов Markdown в выбранную вами папку.
Для обычного Markdown используйте `--format markdown`. В начале каждого файла появляются `memo-id` и
`memo-hash`, поэтому при импорте этой папки одна и та же заметка не создаётся дважды. Если вы сами
изменили экспортированный файл, Memo его не перезаписывает и сообщает вам об этом. Чтобы экспортировать
заметку сразу при её записи, добавьте `--export` к `memo notes add` или `memo notes edit`.

## Главная заметка о человеке [#главная-заметка-о-человеке]

Вы можете указать Memo, какой файл — главная заметка о человеке, например `People/Kai.md` в вашей
папке Obsidian:

```sh
memo note telegram:'Kai Sample' /path/to/vault/People/Kai.md
memo note telegram:'Kai Sample'           # shows which note it is
memo note telegram:'Kai Sample' --clear   # forgets it
```

Сначала файл нужно импортировать. После этого эта заметка и заметки, которые ссылаются на неё, появятся в
[контексте человека](/llms.mdx/docs/ru/memo/people/content.md#everything-about-a-person). Если у двух людей одинаковое имя, Memo
откажется и покажет их ID, чтобы вы могли выбрать.

## Те же заметки на другом компьютере [#те-же-заметки-на-другом-компьютере]

Если ваши заметки синхронизируются с другим компьютером, подключите там тот же ID папки вместо того,
чтобы добавлять новую папку:

```sh
memo folders list                                  # shows the folder IDs the local store has
memo folders attach 1 /other/path/to/notes
```

С тем же ID заметки сохраняют свои ссылки и теги на обоих компьютерах.

Дальше: [пометьте заметки тегами](/llms.mdx/docs/ru/memo/tags/content.md) или [найдите их](/llms.mdx/docs/ru/memo/search/content.md).
