Obsidian Wiki repo - подходы для Trip2G и Agent Garden

Источник: https://github.com/Ar9av/obsidian-wiki

Дата исследования: 2026-05-05T06:28:24+00:00

Короткий вывод

Ar9av/obsidian-wiki — это не приложение с большим рантаймом, а skill-based framework: набор markdown-инструкций для агентов, которые превращают Obsidian vault в компилируемую базу знаний.

Главная ценность репозитория для Trip2G и Agent Garden: он показывает, как описать knowledge base не как папку заметок, а как операционную систему для агента:

  • setup vault;
  • ingest sources;
  • query compiled knowledge;
  • lint health;
  • cross-link pages;
  • normalize tags;
  • export graph;
  • mine agent histories;
  • keep hot cache;
  • preserve provenance/confidence/lifecycle.

Это очень близко к Trip2G Agent Garden, но с локальным Obsidian-фокусом. Trip2G может взять эти паттерны и сделать сетевой/hosted/MCP слой поверх них.

Что внутри репозитория

Репозиторий состоит в основном из markdown-skills:

  • AGENTS.md — общий контекст и роутинг задач для агентов.
  • setup.sh — установка skills в разные AI-agent директории.
  • .env.example — путь к vault, источники, история агентов, QMD search.
  • .skills/*/SKILL.md — отдельные операционные навыки.

Ключевые skills:

  • llm-wiki — базовая архитектура LLM Wiki.
  • wiki-setup — инициализация vault.
  • wiki-ingest — компиляция источников в страницы.
  • wiki-query — tiered retrieval по уже скомпилированной wiki.
  • wiki-lint — аудит здоровья knowledge graph.
  • cross-linker — автоматическое добавление wikilinks.
  • tag-taxonomy — controlled vocabulary для тегов.
  • wiki-status — delta/status + graph insights.
  • wiki-update — синк знаний из текущего проекта в vault.
  • wiki-capture — превращение беседы в declarative knowledge.
  • wiki-research — multi-round web research с filing в vault.
  • wiki-dashboard — Obsidian Bases dashboards.
  • wiki-export — graph.json / graphml / Neo4j / HTML.
  • graph-colorize — раскраска Obsidian graph.
  • *-history-ingest — Claude/Codex/Hermes/Copilot/OpenClaw history ingest.
  • skill-creator — итеративное создание skills через eval loop.

Самые интересные подходы

1. Repo как набор skills, а не приложение

Репозиторий почти не пытается быть SaaS или CLI-продуктом. Он упаковывает поведение в SKILL.md файлы, которые агент может читать и исполнять.

Это сильный паттерн для Agent Garden: сначала протокол поведения, потом интерфейс.

Для Trip2G:

  • можно иметь trip2g-agent-garden/skills/* как переносимый пакет;
  • каждый участник сети получает одинаковый базовый набор operational skills;
  • дальше локальные агенты мутируют/улучшают эти skills и предлагают изменения в hub.

setup.sh ставит skills сразу в директории разных агентов:

  • Claude Code;
  • Cursor;
  • Windsurf;
  • Gemini;
  • Codex;
  • Hermes;
  • OpenClaw;
  • OpenCode/Aider/generic .agents;
  • Copilot;
  • Trae/Kiro.

Это важный продуктовый ход: не заставлять пользователя выбирать один agent runtime. Knowledge base становится центром, а агенты — сменяемыми исполнителями.

Для Trip2G:

  • Agent Garden должен быть agent-agnostic;
  • Trip2G hub хранит базу и shared protocols;
  • локальный пользователь может подключить Hermes, Claude Code, Codex, Cursor или другого агента.

3. AGENTS.md как роутер операций

AGENTS.md не просто говорит “будь полезным”. Он содержит таблицу роутинга: если пользователь говорит “query”, “ingest”, “lint”, “cross-link”, “history ingest” — какой skill запускать.

Это превращает wiki в операционную среду, где есть понятные команды обслуживания.

Для Agent Garden:

  • нужен AGENTS.md/agent-garden.md, который маршрутизирует:
    • daily log;
    • neighbor scan;
    • import proposal;
    • replication guide;
    • skill promotion;
    • privacy lint;
    • weekly digest.

4. hot.md как дешёвый warm context

Репа использует hot.md как ~500-word semantic snapshot recent activity. Skills обязаны обновлять его после write operations.

Это сильный ответ на проблему “агент каждый раз заново сканирует всю базу”. Вместо этого:

  • hot.md читается первым;
  • index.md читается вторым;
  • full page read — только при необходимости.

Для Trip2G:

  • у каждого агента в сети должен быть hot.md;
  • у hub тоже должен быть network-hot.md;
  • nightly cron сначала читает hot caches соседей, а не весь vault.

5. Tiered retrieval primitives вместо “прочитай всё”

В llm-wiki есть таблица Retrieval Primitives:

  • проверить существование/метаданные через index.md и frontmatter grep;
  • preview через summary:;
  • конкретный claim через grep section;
  • whole-page read — last resort;
  • graph relations через wikilink grep.

Это практически “экономика внимания” для агента.

Для Trip2G/MCP:

  • API/MCP методы должны явно поддерживать уровни чтения:
    • list_pages;
    • frontmatter_search;
    • summary_search;
    • section_search;
    • read_page;
    • neighbors/backlinks.
  • Тогда агент не будет выкачивать базу целиком.

6. summary: frontmatter как индекс для агентов

Каждая страница должна иметь summary: ≤200 chars. Это нужно не для человека, а для cheap retrieval.

Для Agent Garden:

  • все shared lessons/skills/proposals должны иметь короткий summary;
  • neighbor scan может сначала читать только summaries;
  • хаб может строить daily digest из summaries без раскрытия приватного тела заметок.

7. Provenance markers: extracted / inferred / ambiguous

Каждый claim может быть:

  • extracted — без маркера, источник прямо это говорит;
  • inferred — ^[inferred], агент вывел/обобщил;
  • ambiguous — ^[ambiguous], спорно или источники конфликтуют.

Плюс page-level provenance: в frontmatter.

Для Trip2G:

  • это нужно для доверия в сетевом обмене;
  • соседний агент должен понимать: “это факт из источника” или “это гипотеза другого агента”.

Для Agent Garden:

  • импортировать extracted можно смелее;
  • inferred — только как proposal;
  • ambiguous — как question/open issue.

8. Confidence + lifecycle отдельно от staleness

Репа вводит:

  • base_confidence — качество источников и количество независимых source ids;
  • lifecycledraft | reviewed | verified | disputed | archived;
  • stale не хранится как состояние, а вычисляется по updated > 90 days.

Очень важная идея: verified не становится unverified автоматически из-за времени, но query должен показывать, что verified page stale.

Для Trip2G:

  • shared lessons должны иметь lifecycle;
  • человек переводит skill из draft в reviewed/verified;
  • agent-only lessons остаются draft;
  • disputed/archived нужны для эволюции сети без удаления истории.

9. Visibility tags вместо отдельных vaults

visibility/public, visibility/internal, visibility/pii — системные теги. По умолчанию всё visible; filtered mode включается только если пользователь просит public/user-facing/no internal.

Для Trip2G:

  • можно не плодить отдельные базы “public/private/internal”;
  • использовать один vault + visibility filters;
  • при federation/export/neighbor scan blocked tags исключаются.

Для Agent Garden:

  • “share patterns, not private context” можно реализовать как:
    • public/shared proposals без PII;
    • private raw logs только локально;
    • internal team lessons только в private federation.

10. Manifest как ledger ingest-операций

.manifest.json отслеживает source path, mtime/hash, pages_created/pages_updated, projects, stats.

Это делает ingest idempotent и delta-based.

Для Trip2G:

  • нужен network-manifest.json/remote ledger;
  • nightly cron должен видеть: что новое у соседей, что уже импортировано, что изменилось;
  • не нужно каждый день перечитывать всё.

11. wiki-status insights как анализ формы графа

В wiki-status есть insights mode:

  • anchor pages/top hubs;
  • bridge pages;
  • tag cluster cohesion;
  • surprising connections;
  • orphan-adjacent pages;
  • graph delta since last run;
  • suggested questions.

Это почти готовая механика для Agent Garden daily/weekly digest.

Для Trip2G:

  • хаб может каждую ночь строить network-insights.md;
  • людям показывать не “вот 100 новых заметок”, а:
    • новые хабы;
    • мосты между агентами;
    • рассыпающиеся кластеры;
    • skills, которые часто импортировали;
    • вопросы, которые сеть пока не закрыла.

12. Cross-linker с confidence labels

cross-linker предлагает и добавляет links, но различает:

  • EXTRACTED — exact mention, apply inline;
  • INFERRED — reasonable semantic connection;
  • AMBIGUOUS — weak, skip unless requested.

Это переносится на federation:

  • EXTRACTED neighbor lessons можно показывать как “почти точно релевантно”;
  • INFERRED — “возможно стоит импортировать”;
  • AMBIGUOUS — не импортировать, только в backlog.

13. Misc promotion candidates через affinity

Интересный паттерн: страницы в misc/ получают affinity к проектам через incoming/outgoing links. Если affinity к одному проекту ≥3 — страница становится promotion candidate.

Для Agent Garden:

  • shared lesson сначала может жить в misc/proposals;
  • если несколько агентов/проектов на неё ссылаются, она повышается до shared-skills/accepted;
  • promotion должен зависеть от usage/links/human approval, а не от красоты текста.

14. Wiki-lint как иммунная система

wiki-lint проверяет:

  • orphans;
  • broken wikilinks;
  • missing frontmatter/summary;
  • stale content;
  • contradictions;
  • provenance drift;
  • fragmented tag clusters;
  • visibility mistakes;
  • lifecycle/confidence errors;
  • synthesis gaps.

Для Agent Garden это почти “nightly cleanup”:

  • агент сам не только учится, но и чистит свою базу;
  • сеть не должна только расти, она должна удалять/архивировать/оспаривать плохие подходы.

15. History ingest для разных агентов

Репа содержит отдельные history ingest skills для Claude/Codex/Hermes/Copilot/OpenClaw и router wiki-history-ingest.

Это очень важно для Agent Garden: пользователь уже учил разных агентов в разных местах, и эти истории можно mining-ить в базу.

Trip2G wedge:

“Подключи историю своего Claude/Codex/Hermes — мы вытащим durable lessons, не сырые чаты.”

16. Declarative capture вместо transcript dump

wiki-capture явно говорит: не сохранять чат как чат, а переписать substance as declarative knowledge.

Это совпадает с нашим правилом dobireports:

  • не raw chat;
  • durable notes;
  • выводы, решения, mental models, procedures.

Для Agent Garden это обязательный privacy/quality guardrail.

17. Wiki-export в graph formats

wiki-export делает:

  • graph.json;
  • graph.graphml;
  • cypher.txt для Neo4j;
  • self-contained graph.html.

Для Trip2G:

  • можно экспортировать network graph;
  • можно показывать агентам и людям разные views;
  • можно строить leaderboard skills/agents/lineages поверх graph metrics.

18. Skill-creator с eval loop

skill-creator — самый Agent Garden-подходящий кусок: skill создаётся, тестируется на prompts, сравнивается with/without skill, оценивается человеком и улучшается.

Для Agent Garden:

  • каждый новый shared skill должен проходить mini-eval;
  • “выжил” = помог на тестах и был human-approved;
  • это не просто prompt marketplace, а breeding/evaluation loop.

Что можно прямо перенести в Trip2G / Agent Garden

Минимальный Agent Garden vault skeleton

agent-garden/
├── AGENTS.md
├── index.md
├── hot.md
├── log.md
├── .manifest.json
├── _meta/
│   ├── taxonomy.md
│   └── dashboards/
├── agents/
│   └── <agent-id>/
│       ├── profile.md
│       ├── hot.md
│       ├── daily/
│       ├── private-lessons/
│       └── replication-guides/
├── shared-skills/
│   ├── proposals/
│   ├── accepted/
│   ├── disputed/
│   └── archived/
├── network/
│   ├── network-hot.md
│   ├── network-manifest.json
│   ├── network-insights.md
│   └── import-log.md
├── privacy/
│   ├── visibility-rules.md
│   └── redaction-log.md
└── lineage/
    ├── branches/
    ├── mutations/
    └── scores/

Nightly cron для агента

1. Read own hot.md, log.md, manifest delta.
2. Read network-hot.md and summaries of new neighbor proposals.
3. Filter out visibility/internal/pii unless allowed.
4. Rank candidate lessons:
   - exact fit to current tasks;
   - human-reviewed/verified lifecycle;
   - high base_confidence;
   - imported by multiple agents;
   - not already present locally.
5. Write import proposals, not direct mutation.
6. Update own hot.md.
7. If useful lessons emerged today, write daily lesson + replication-guide delta.
8. Ask human to approve top 1–3 imports next morning.

Metadata для shared lesson

title: >-
  <Lesson title>
category: shared-skill
tags: [agent-garden, skill, workflow]
visibility: public
sources:
  - agent:<agent-id>/<daily-log-or-replication-guide>
summary: >-
  One sentence saying what this lesson helps an agent do.
provenance:
  extracted: 0.5
  inferred: 0.45
  ambiguous: 0.05
base_confidence: 0.42
lifecycle: draft
lifecycle_changed: YYYY-MM-DD
fitness:
  human_approved: false
  imported_by: []
  successful_uses: 0
  failed_uses: 0
lineage:
  parent_lessons: []
  mutation_reason: ""

Что Trip2G может сделать лучше, чем obsidian-wiki

1. Сетевой слой

obsidian-wiki локален. Trip2G может дать:

  • hosted vault;
  • private federation;
  • public network;
  • MCP access;
  • agent-to-agent querying;
  • controlled exports;
  • webhooks/cron.

2. Двухсторонний hub

В obsidian-wiki агент работает с одним vault. В Agent Garden нужна схема:

agent base ↔ Trip2G hub ↔ neighbor agent bases

Не просто query, а:

  • proposals;
  • approvals;
  • imports;
  • lineage;
  • fitness scoring;
  • rollback/archive.

3. Human-in-the-loop evolution

obsidian-wiki даёт maintenance skills. Agent Garden добавляет эволюцию:

agents explore → humans select → network remembers → next agents replicate

4. Replication guide как обязательный артефакт

В obsidian-wiki есть wiki-capture и history ingest, но нет явного требования: “агент после прогона пишет инструкцию для следующего агента”.

Agent Garden должен сделать это центральным:

context dies; knowledge base remains; replication guide breeds the next agent

5. Privacy-preserving federation

visibility/ теги — хорошая база. Trip2G может добавить:

  • public summaries без bodies;
  • redacted lesson export;
  • per-agent trust groups;
  • approval before sharing;
  • audit trail of what left the private base.

Практические next steps для нашего Agent Garden

  1. Сделать agent-garden/AGENTS.md по образцу obsidian-wiki/AGENTS.md, но с роутингом Agent Garden операций.
  2. Ввести обязательные файлы:
    • hot.md;
    • log.md;
    • .manifest.json;
    • network-hot.md;
    • replication-guide.md.
  3. Сделать skill agent-garden-nightly-review:
    • own delta;
    • neighbor summaries;
    • proposal ranking;
    • top 1–3 imports for human approval.
  4. Сделать skill agent-garden-replication-guide:
    • after-task reflection;
    • what next agent should read;
    • what mistakes to avoid;
    • what skills to copy/mutate.
  5. Сделать skill agent-garden-lint на базе wiki-lint:
    • privacy leaks;
    • stale lessons;
    • broken lineage;
    • unreviewed high-spread skills;
    • disputed but still-used skills.
  6. Сделать Trip2G page/API level primitives:
    • summaries only;
    • frontmatter search;
    • neighbor graph;
    • filtered exports;
    • import proposal endpoint.
  7. Использовать base_confidence + lifecycle + fitness как три разных сигнала:
    • confidence = качество источника;
    • lifecycle = human trust state;
    • fitness = реально помогало ли в работе.

Главная формулировка для продукта

obsidian-wiki показывает, как один агент может поддерживать локальную LLM Wiki.

Agent Garden поверх Trip2G — это следующий шаг:

не один агент поддерживает одну wiki, а сеть агентов выращивает, проверяет и реплицирует рабочие подходы через приватный или публичный knowledge hub.

Коротко:

Obsidian Wiki = local compiled memory for one agent.
Trip2G Agent Garden = federated evolutionary memory for many agents and humans.