Files
knowledge-base/CLAUDE.md
dttb d97e7a4a03 podkop: канонический справочник (модель/списки/грабли/инвентарь)
Свёл разрозненные знания о podkop в один single-source-of-truth: snippets/podkop-reference.md.
Главное — семантика inside/outside (причина НИИКН-косяка), каталог листов + decision guide,
правильный конфиг, каталог граблей (busybox ip -br, слетающие overrides, fwmark vs NetBird,
cache.db lock, disable_quic, MTU), инвентарь podkop по объектам. Линки из runbook + CLAUDE.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 13:31:58 +03:00

6.5 KiB
Raw Blame History

Claude Code — Единая база знаний

Контекст

Это база знаний DevOps-инженера Олега Батлаева. Содержит всю информацию об инфраструктуре, проектах и решениях. Синхронизируется между Claude Code, Cursor, Gitea и Nextcloud.

Язык: русский

Структура (Obsidian vault)

  • projects/dttb/ — домашний сервер (Proxmox, сеть, все сервисы)
    • network-topology.md — полная карта сети 10.0.0.0/24
    • proxmox-inventory.md — все VM/LXC
    • credentials.md — пароли и ключи
    • npm-proxy-hosts.md — домены *.dttb.ru
  • projects/niikn/ — проект НИИКН
  • projects/glavtorg/ — проект Главторг (Windows-сервер, 1С)
  • decisions/ — принятые решения (формат: YYYY-MM-DD-тема.md)
  • snippets/ — полезный код и конфиги
  • notes/ — заметки из чатов с ИИ
  • daily/ — ежедневные заметки (YYYY-MM-DD.md)
  • templates/ — шаблоны (daily-note, decision)

Obsidian-конвенции

  • Используй [[двойные скобки]] для внутренних ссылок
  • Теги #topic для фильтрации
  • Daily notes в формате YYYY-MM-DD
  • Разделяй факты (decisions/) от рабочих заметок (notes/)

Инфраструктура

  • Proxmox: 10.0.0.250 (root/1qaz!QAZ)
  • Gitea: git.dttb.ru (oleg/OL260380eg) — LXC 136 (10.0.0.189)
  • Nextcloud AIO: dttb.ru (admin/1qaz!QAZ) — VM 250 (10.0.0.230:11001)
  • NPM: 10.0.0.195:81 (it5870@yandex.ru/1qaz!QAZ) — LXC 103
  • code-server: ai.dttb.ru — LXC 132 (10.0.0.179) + OmniRoute + CLIProxy
  • OpenClaw: bot.dttb.ru — LXC 137 (10.0.0.239) — основной AI-бот

Синхронизация knowledge-base

См. decisions/2026-04-17-nextcloud-sync-schema. Три-четыре хоста держат vault в синхроне через Gitea:

  • Mac ~/knowledge-base — RW, git + rclone-bisync на Nextcloud (Stop-hook)
  • code-server LXC 132 /root/knowledge-base — RW, cron */5 kb-autosync.sh
  • openclaw LXC 137 /root/knowledge-base — RO, cron */15 kb-pull.sh
  • Nextcloud /Knowledge Base/ — сервисная копия для iPhone/веб-доступа

Частые команды

  • Список VM: sshpass -p '1qaz!QAZ' ssh -o StrictHostKeyChecking=no root@10.0.0.250 qm list
  • Список LXC: sshpass -p '1qaz!QAZ' ssh -o StrictHostKeyChecking=no root@10.0.0.250 pct list
  • Проверить хост: ping -c3 <ip>
  • Домены NPM: смотри projects/dttb/npm-proxy-hosts.md
  • Карта сети: смотри projects/dttb/network-topology.md

Podkop (обход РКН на OpenWrt — почти все объекты)

Канонический справочник: snippets/podkop-reference.md (модель, списки, конфиг, грабли, инвентарь). Диагностика «не работает»: snippets/podkop-fakeip-diagnostics.md. Кардинальные правила (за них уже наступали на грабли):

  • Объект в РФ (выход туннеля зарубежный) → списки russia_inside / точечные meta/youtube/telegram. НИКОГДА russia_outside (это РФ-сайты для тех, кто ЗА границей — сломает gosuslugi/ozon/ЕИС).
  • РФ-сайт «Доступ ограничен» + FakeIP → убирать лишний список, а не лепить per-domain override (overrides слетают при реконфиге podkop).
  • Фейкапится ли домен: ssh root@<router> 'nslookup ДОМЕН 127.0.0.42' (198.18.x = ушёл в туннель).
  • busybox ip -br не работает; disable_quic=1 обязателен; awg0 в firewall WAN-зоне.

Как работать

  • Перед правкой — читай текущее состояние файла
  • Не предлагай решения, которые уже описаны в decisions/
  • При изменениях в инфраструктуре — обнови proxmox-inventory.md и network-topology.md
  • Отвечай кратко, без воды и повторений

Ресёрч через OmniRoute (бесплатные модели)

При работе над задачами используй двухэтапный подход:

  1. Ресёрч — вызывай MCP тул research для поиска решений через бесплатные модели (Sonnet 4.5, GPT-5.4, Gemini)
  2. Исполнение — реализуй найденное решение сам (Opus 4.6 через Max подписку)

MCP тулы omniroute

  • research(query, model?) — запрос к бесплатной модели. По умолчанию kr/claude-sonnet-4.5
  • research_compare(query, models?) — сравнить ответы нескольких моделей
  • models_list() — список доступных бесплатных моделей

Когда использовать research

  • Поиск best practices и подходов к задаче
  • Сравнение технологий/решений
  • Генерация конфигов и шаблонов для проверки
  • НЕ используй для простых задач где ответ очевиден

Правила

  1. Проверяй базу перед работой — решение может уже быть
  2. Сохраняй новые решения в decisions/
  3. Полезный код → snippets/
  4. Обновляй inventory при изменениях в инфраструктуре
  5. Коммить на русском: git add -A && git commit -m "описание" && git push

Рекомендуемые модели для ресёрча через research-тул

  • kr/claude-sonnet-4.5 — основная (Kiro/AWS, бесплатно)
  • cx/gpt-5.4 — альтернатива (Codex/OpenAI, бесплатно)
  • gh/claude-opus-4.6 — GitHub Models (бесплатно, лимиты)
  • gemini-cli/gemini-2.5-pro — Google Gemini

CLI скрипт

research "вопрос"                          # через Sonnet 4.5
research -m cx/gpt-5.4 "вопрос"           # через GPT-5.4