diff --git a/DEV_CONTEXT.md b/DEV_CONTEXT.md index ef85900..9456a44 100644 --- a/DEV_CONTEXT.md +++ b/DEV_CONTEXT.md @@ -11,6 +11,14 @@ ## История изменений +### 2026-02-26 — Research Agent-Reach (сессия 8) +- Что сделано: + - Исследован проект Agent-Reach (1.7k stars) + - Проведен анализ "Zero API fees" — подтверждено (скрейпинг, cookies, free tiers) + - Сравнение с Heartbeat Fetch: Cortex легковесен, Agent-Reach избыточен по зависимостям + - Вердикт: Полная замена нецелесообразна, рекомендована точечная интеграция (Jina Reader, bird CLI) + - Отчет: research/agent-reach-analysis.md + ### 2026-02-25 — Council + Research + Personal OS (сессия 7) - Что сделано: - /council → сгенерирован спринт из 4 задач (P2-P5, P1 убран — API ключ не нужен) @@ -116,6 +124,7 @@ heartbeat.yml (cron), code-review.yml (PR review), jules-trigger.yml (auto-trigg - [x] CONTRIBUTING.md + LICENSE (PR #34, Jules) - [x] /new-project scaffold (PR #36, Jules) - [ ] Heartbeat + Product Hunt (#33, Jules — в работе) +- [x] Research: Agent-Reach (research/agent-reach-analysis.md) - [x] AI Mindset дайджест (research/ai-mindset-digest.md) - [x] aboutme.md — персональный контекст (Obsidian vault) - [x] Personal OS v1: Obsidian vault → симлинки → ~/.claude/ (aboutme, rules, knowledge) diff --git a/research/agent-reach-analysis.md b/research/agent-reach-analysis.md new file mode 100644 index 0000000..e54b7ad --- /dev/null +++ b/research/agent-reach-analysis.md @@ -0,0 +1,63 @@ +# Исследование Agent-Reach — Анализ и Рекомендации для Cortex + +> Проект: [Agent-Reach](https://github.com/Panniantong/Agent-Reach) +> Дата исследования: 2026-02-26 +> Предмет: Замена или интеграция с модулем `heartbeat fetch` + +--- + +## 1. Анализ "Zero API Fees" + +Заявление о "нулевой стоимости API" (Zero API fees) в Agent-Reach является правдивым, но со следующими нюансами: + +| Платформа | Метод получения данных | Риски / Ограничения | +|-----------|------------------------|---------------------| +| **Twitter (X)** | Скрейпинг через CLI `bird` с использованием Cookie. | Риск блокировки аккаунта (shadowban/ban). Нужно регулярно обновлять Cookie вручную. | +| **YouTube / Bilibili** | Использование `yt-dlp`. | Стабильно, но требует наличия бинарных зависимостей в системе. | +| **Reddit** | Exa (бесплатный тир) или прямой JSON API. | Exa имеет лимиты на бесплатном плане. Прямой доступ к Reddit часто блокирует IP дата-центров (403). | +| **GitHub** | Официальный `gh CLI`. | Требует авторизации пользователя. По сути использует тот же API, что и текущий модуль. | +| **Jina Reader** | Проксирование через `r.jina.ai`. | Бесплатно и стабильно, отличный способ превращать URL в Markdown для LLM. | + +**Вывод по стоимости**: Экономия достигается за счет использования "серых" методов (скрейпинг по кукам) или бесплатных слоев сторонних сервисов. + +--- + +## 2. Сравнение: Heartbeat Fetch vs Agent-Reach + +| Характеристика | Heartbeat Fetch (Cortex) | Agent-Reach | +|----------------|--------------------------|-------------| +| **Архитектура** | Легковесный Python-модуль. | "Scaffolding" — установщик системных утилит. | +| **Зависимости** | Минимальные (`urllib`, `beartype`). | Высокие (Node.js, Docker, 10+ внешних CLI). | +| **Портативность** | Работает везде, где есть Python. | Требует сложной настройки окружения. | +| **Сфера охвата** | HN, GitHub, Reddit, Product Hunt. | Twitter, Reddit, YT, GitHub, Bilibili, XHS, Douyin и др. | +| **Целевая аудитория** | AI-агенты внутри CI/CD или скриптов. | Локальные AI-агенты (Claude Code, Cursor). | + +--- + +## 3. Оценка целесообразности + +### Почему НЕ стоит заменять `fetch`: +1. **Dependency Bloat**: Переход на Agent-Reach превратит легкий `heartbeat` модуль в громоздкую систему, которую сложно поддерживать в GitHub Actions (потребуется установка Node.js, Docker и множества CLI). +2. **Смена парадигмы**: Heartbeat — это *библиотека* для сбора данных. Agent-Reach — это *инфраструктура* для предоставления агенту доступа к инструментам. +3. **Хрупкость**: Скрейпинг Twitter по кукам крайне нестабилен для автоматизированных систем и требует ручного вмешательства. + +--- + +## 4. Рекомендации по интеграции (Action Plan) + +Вместо полной замены, предлагается точечно заимствовать лучшие практики Agent-Reach: + +1. **Twitter (X)**: Если Twitter критичен, добавить опциональную поддержку `bird` CLI в `fetch_x_trends`, но оставить её выключенной по умолчанию (требует Cookie). +2. **Web Content**: Интегрировать `Jina Reader` (`r.jina.ai`) в качестве стандартного инструмента для "прочтения" найденных ссылок. Это значительно повысит качество дайджестов. +3. **Reddit**: В случае частых 403 ошибок от Reddit, рассмотреть переход на `Exa` или `s.jina.ai` для поиска по Reddit, как это делает Agent-Reach. +4. **Product Hunt**: Мы уже реализовали Product Hunt через RSS (как и рекомендует Agent-Reach для RSS источников). + +### Вердикт +**Интегрировать идеи, а не код.** Agent-Reach — прекрасный справочник инструментов, но как зависимость для Cortex он избыточен. + +--- + +## Ссылка на источники +- [Agent-Reach Repo](https://github.com/Panniantong/Agent-Reach) +- [Jina Reader](https://github.com/jina-ai/reader) +- [bird CLI](https://github.com/steipete/bird)