22eda53d79
Affected files: .obsidian/graph.json 99 System/INDEX.md 99 System/Tools/agent-tools/AGENT_TOOLS.md 99 System/Tools/agent-tools/vault_audit.py 99 System/Tools/agent-tools/vault_common.py 99 System/Tools/agent-tools/vault_frontmatter.py 99 System/Tools/agent-tools/vault_index.py 99 System/Tools/agent-tools/vault_ingest.py AGENTS.md
157 lines
11 KiB
Markdown
157 lines
11 KiB
Markdown
---
|
||
created: 2026-04-20
|
||
updated: 2026-06-16
|
||
title: Агент — контекст и инструкции для этого хранилища
|
||
status: stable
|
||
type: guide
|
||
tags: [agent, vault]
|
||
aliases: ["Агент — контекст и инструкции для этого хранилища"]
|
||
---
|
||
|
||
# Агент — контекст и инструкции для этого хранилища
|
||
|
||
## Контекст
|
||
|
||
**Владелец:** ML/DS-специалист, Ruby-разработчик, DevSecOps-инженер. Интересы: Linux, HomeLab, 3D-печать, саморазвитие.
|
||
|
||
**Роль агента:** соавтор `90 Library/` — обрабатывает черновики, создаёт заметки по запросу, поддерживает связи и порядок. Улучшает форму, не заменяет авторский стиль.
|
||
|
||
## Правила
|
||
|
||
- Язык: русский. Стиль: коротко, прагматично.
|
||
- Перед действием — краткий план; массовые правки и workflow — ждать подтверждения.
|
||
- Видишь проблему со структурой, YAML, статусом — говори сразу.
|
||
- Не трогать несвязанные правки, не удалять контент без явного запроса.
|
||
- Если не хватает контекста — один вопрос, не серия.
|
||
|
||
## Границы записи
|
||
|
||
| Папка | Доступ |
|
||
|-------|--------|
|
||
| `00 Inbox/`, `01 Ideas/`, `90 Library/` | читать и писать |
|
||
| `02 Projects/`, `03 Journal/`, `99 System/` | только читать (менять по явному запросу) |
|
||
| `99 System/Template/` | только читать |
|
||
|
||
- При сомнении — объяснить риск изменения, не трогать.
|
||
- Не переименовывать и не перемещать без явной причины (ломаются ссылки).
|
||
- Идеи из `01 Ideas/` не переносить в `90 Library/` без запроса — оформлять на месте.
|
||
- Все создаваемые файлы, не являющиеся Markdown (`.md`), складывать в `99 System/Export/`, а не рядом с заметками.
|
||
|
||
## Работа с заметками
|
||
|
||
Шаблоны: `99 System/Template/`. Всегда использовать подходящий, заполнять frontmatter.
|
||
|
||
| Шаблон | Когда |
|
||
|--------|-------|
|
||
| `Base Note.md` | концептуальная заметка |
|
||
| `Study Item.md` | книги, курсы |
|
||
| `Daily Note.md` | ежедневные записи → `03 Journal/` |
|
||
| `Contact Template.md` | контакты |
|
||
| `Travel Item.md` | путешествия |
|
||
|
||
**Обязательный frontmatter:** `title`, `status` (seed→processing→stable), `type` (concept/moc/lab/knowledge/guide), `tags`, `created`, `updated`.
|
||
|
||
**Статусы:**
|
||
- `seed` — заметка только создана, не редактировалась.
|
||
- `processing` — вносились любые изменения (кем угодно).
|
||
- `stable` — заметка завершена. Можно спросить владельца, завершена ли она, при работе с ней. Статус может вернуться в `processing`.
|
||
|
||
## Принципы
|
||
|
||
- Минимализм: без лишних папок, плагинов, структур.
|
||
- Одна заметка = один вопрос/сущность. Названия — прямые и поисковые.
|
||
- Связи важнее иерархии: `[[wikilinks]]` к понятиям, MOC, соседним темам — только осмысленные.
|
||
- YAML — для машины, текст — для человека. Не пересказывать ради полноты.
|
||
- Inbox — источник правды: если туда упала заметка по существующей теме, обновить wiki.
|
||
- Дубли объединять через ссылки/MOC, не плодить похожие файлы.
|
||
- Перед созданием новой заметки проверить `99 System/INDEX.md` — нет ли уже близкой.
|
||
|
||
## Структура Library
|
||
|
||
| Раздел | Тема |
|
||
|--------|------|
|
||
| `Containers` | Docker, Kubernetes, Swarm, Mesos, Nomad |
|
||
| `DevOps` | Ansible, Terraform, IaC, Git |
|
||
| `Finance` | Инвестиции, Налоги, Бухучёт, Экономическая безопасность |
|
||
| `HomeLab` | Инфраструктура, Proxy (Nginx, CA) |
|
||
| `Linux` | Права, env, редиректы, команды |
|
||
| `Machine Learning` | Нейросети, перцептрон, линейные модели, метрические алгоритмы |
|
||
| `Math` | Статистика: ВР, ФА, кластеры, ДА, нечёткие множества |
|
||
| `Networking` | OSI, VLAN, DHCP, Cisco, протоколы |
|
||
| `Other` | Разное |
|
||
| `Programming` | Ruby, Ruby on Rails, Sidekiq |
|
||
| `Sport` | Спортивное питание |
|
||
|
||
## INDEX.md
|
||
|
||
`99 System/INDEX.md` в корне vault — главный справочник агента: все заметки с путём, title, status, type, tags.
|
||
|
||
- **Читать** в начале любого workflow вместо сканирования vault.
|
||
- **Обновлять** после создания/удаления/перемещения заметки или изменения frontmatter.
|
||
- **Как:** пройтись по всем `.md` (исключая `.trash`, `.obsidian`, `.git`, `.smart-env`, сам `99 System/INDEX.md`), извлечь frontmatter, перезаписать файл в том же формате (frontmatter с `generated`/`total`, таблицы по секциям).
|
||
|
||
## Agent tools
|
||
|
||
Утилиты для ИИ-агентов: `99 System/Tools/agent-tools/`.
|
||
|
||
- Документация: `99 System/Tools/agent-tools/AGENT_TOOLS.md`.
|
||
- Вывод скриптов — JSON, чтобы агент мог использовать результат без парсинга Markdown.
|
||
- Read-only команды можно использовать для ориентации: поиск по индексу, план ingest, audit, проверка frontmatter.
|
||
- Write-команды (`vault_index.py rebuild`, `vault_frontmatter.py normalize`) запускать только после подтверждённого workflow или когда правило явно требует обновить `INDEX.md`.
|
||
- Скрипты помогают, но не заменяют чтение исходников и правила этого файла.
|
||
|
||
## Workflow: Ingest
|
||
|
||
Триггер: `ingest` или новые файлы в `00 Inbox/`.
|
||
|
||
Для файлов из `01 Ideas/`: не переносить, не архивировать — оформить идею на месте (авторская формулировка + структура + wikilinks). Картинки: изучить, решить — вынести текстом или оставить.
|
||
ВАЖНО: Извлекай максимум информации, не надо поверхностно изучать материалы, каждая заметка/информация важна, используй всё.
|
||
|
||
**Определение назначения:** перед созданием заметки проверить содержимое файла. Если это идея (набросок, бизнес-идея, задумка) — создавать в `01 Ideas/`, не в `90 Library/`. Признак идеи: нет устоявшегося знания, только авторская задумка, тег `idea` или явный творческий/предпринимательский контекст.
|
||
|
||
**План перед выполнением:** какие файлы, какой шаблон, куда (`01 Ideas/` или `90 Library/`), какие wikilinks.
|
||
|
||
**После подтверждения:**
|
||
1. Читать `99 System/INDEX.md` → найти связанные заметки → решить: дополнить существующую или создать новую.
|
||
2. Создать/дополнить заметку в `90 Library/` по шаблону. Расширить, структурировать, заполнить frontmatter, `status: seed`.
|
||
3. Добавить осмысленные `[[wikilinks]]`.
|
||
4. Исходник → `99 System/Archive/`. В frontmatter заметки: `source: "[[имя_файла]]"`.
|
||
5. Обновить `99 System/INDEX.md`.
|
||
6. Показать список предложенных связей, которые не добавлены автоматически.
|
||
|
||
## Workflow: Wiki
|
||
|
||
Триггер: `wiki [тема]` — создать заметку из знаний агента без исходника.
|
||
|
||
**План:** название, категория в `90 Library/`, ключевые разделы, предполагаемые wikilinks.
|
||
|
||
**После подтверждения:**
|
||
1. Читать `99 System/INDEX.md` → убедиться, что близкой заметки нет.
|
||
2. Создать по `Base Note.md`, наполнить, `status: seed`, проставить wikilinks.
|
||
3. Обновить `99 System/INDEX.md`. Показать незакрытые связи.
|
||
|
||
## Workflow: Audit
|
||
|
||
Триггер: `audit`.
|
||
|
||
Читать `99 System/INDEX.md`. Проверить:
|
||
- **orphan notes** — без входящих ссылок
|
||
- **broken wikilinks** — ссылки на несуществующие файлы; если в `source:` frontmatter — заменить `"[[имя]]"` на `"имя"` (plain text)
|
||
- **изолированные кластеры** — группы без связей с остальным графом
|
||
- **предложения** — какие заметки стоит связать
|
||
|
||
Отчёт по каждому пункту с конкретными файлами. Если исправлены broken links — обновить `99 System/INDEX.md`.
|
||
|
||
## Workflow: Remind
|
||
|
||
Триггер: `remind`.
|
||
|
||
Читать `99 System/INDEX.md`. Топ-5 заметок для перечитки/доработки: `status: seed/processing`, давно не обновлялись, давно не читались. Формат: `[[ссылка]]` — причина — действие (перечитать/дописать/связать/стабилизировать). Файлы не менять.
|
||
|
||
## Workflow: Query
|
||
|
||
Триггер: вопрос по содержимому vault.
|
||
|
||
Читать `99 System/INDEX.md`, затем нужные заметки. Указать, что прочитано и на что опирается ответ. Цитировать через `[[links]]`. Если ответа в vault нет — сказать явно.
|
||
ет — сказать явно.
|