diff --git a/tasks/workspace-structure.md b/tasks/workspace-structure.md index d8ab6a2..24b4b43 100644 --- a/tasks/workspace-structure.md +++ b/tasks/workspace-structure.md @@ -1,233 +1,147 @@ -# Workspace — полное описание файловой структуры +# Workspace structure Рабочая директория: `/home/node/.openclaw/workspace` +Этот файл описывает актуальную структуру workspace после перехода к стандарту **Projects + Tasks**. + --- -## 📁 Корневые файлы +## Корень workspace -| Файл | Описание | +| Путь | Назначение | |---|---| -| `AGENTS.md` | Инструкция для всех агентов: порядок сессий, память, правила работы, heartbeats | -| `SOUL.md` | Личность ассистента Стрим: стиль, ценности, подход к работе | -| `USER.md` | Профиль Славы: имя, интересы, предпочтения в общении | -| `TOOLS.md` | Заметки по конкретной конфигурации инструментов (камеры, SSH, голоса и т.д.) | -| `IDENTITY.md` | Идентичность ассистента: имя, пол, эмодзи, vibe | -| `MEMORY.md` | Долгосрочная память: правила, люди, проекты, принятые решения | -| `HEARTBEAT.md` | Список задач, выполняемых каждые 30–60 минут в фоне | -| `BACKLOG_GENERAL.md` | Общий бэклог идей и задач | -| `BACKLOG_NOISEMAP.md` | Бэклог проекта noisemap (шумовая карта) | +| `AGENTS.md` | Общие правила поведения агентов и порядок работы | +| `SOUL.md` | Личность и стиль ассистента | +| `USER.md` | Профиль пользователя | +| `TOOLS.md` | Локальные заметки по окружению | +| `IDENTITY.md` | Идентичность ассистента | +| `MEMORY.md` | Долгосрочная память | +| `HEARTBEAT.md` | Регулярные фоновые проверки | +| `memory/` | Дневные записи и онтология | +| `tasks/` | Проекты и задачи | +| `skills/` | AgentSkills | +| `data/` | Данные и артефакты | +| `scripts/` | Общие утилиты | +| `temp/` | Временные файлы | +| `dumps/` | Бэкапы и дампы | --- -## 📁 memory/ — Дневные записи памяти +## `tasks/` — стандарт проектов и задач -| Файл | Описание | -|---|---| -| `2026-03-27.md` | События за 27 марта 2026 (текущий день) | +`tasks/` больше не является складом скриптов и разрозненных файлов. Это корень для проектной структуры. -Создаётся `memory/YYYY-MM-DD.md` для каждого дня. Содержит сырые заметки: что делали, что приняли, что решили. Обновляется после компакции контекста. +### Стандарт проекта + +```text +tasks// +├── PROJECT.md +├── docs/ +├── journal/ +├── assets/ +├── meta/ +└── TASKS/ + ├── backlog/ + ├── active/ + ├── blocked/ + ├── done/ + └── archive/ +``` + +### Стандарт задачи + +```text +tasks//TASKS/// +├── TASK.md +├── context.md +├── report.md +└── attachments/ +``` + +### Правила + +1. **Task без Project не существует** +2. У проекта должны быть `folder` и `doc_path` +3. У задачи должны быть `project`, `folder` и `doc_path` +4. Имена папок и документов — читаемые slug-и +5. Внутренние `id` не используются как человекочитаемые имена +6. Проектная документация живёт рядом с проектом, а не в общем `tasks/` +7. Временные и технические файлы не смешиваются с проектной структурой + +### Примеры проектов + +- `tasks/video-notes/` +- `tasks/proxy-vm/` +- `tasks/wiki-memory/` +- `tasks/snowbike-rag/` +- `tasks/ha/` --- -## 📁 data/ — Данные скиллов +## `memory/` — память и онтология -### data/telegram-collector/raw/ -Сырые дампы сообщений из Telegram-каналов, разделённые по каналу и топику. +### Дневные записи -- Каналы: `snowbikerussia/`, `snowbike_msk/`, `crossmania/` -- В каждом топике: файлы сообщений (`messages_*.jsonl`), медиафайлы, метаданные +- `memory/YYYY-MM-DD.md` — дневные логи и решения + +### Долгосрочная память + +- `MEMORY.md` — сжатые и важные долгосрочные факты + +### Онтология + +- `memory/ontology/graph.jsonl` — журнал сущностей и связей +- `memory/ontology/schema.yaml` — схема онтологии +- `memory/ontology/RULES.md` — правила ведения онтологии --- -## 📁 skills/ — Скиллы (AgentSkills) +## `skills/` — AgentSkills -### skills/telegram-collector/ -Сбор и анализ сообщений из Telegram-каналов через Telethon (пользовательский аккаунт). - -- `SKILL.md` — инструкция по запуску -- `scripts/collector.py` — основной скрипт -- `scripts/analyzer.py` — двухпроходный анализ (GPT-4o mini → Claude Sonnet) - -### skills/telegram-monitor/ -Мониторинг публичных каналов (bots API, чтение через Meilisearch + токенизатор). - -### skills/summarize-chat/ -Генерация саммари сообщений из Telegram-чатов. - -### skills/summarize-pdf/ -Извлечение и суммаризация текста из PDF-файлов. - -### skills/summarize-url/ -Извлечение текста из веб-страниц и его суммаризация. - -### skills/weather/ -Получение погоды через wttr.in или Open-Meteo. - -### skills/rag/ -Retrieval-Augmented Generation — поиск по векторной базе. - -### skills/openai-image-gen/ -Генерация изображений через OpenAI Images API. +- `skills/ontology/` — работа с онтологией +- `skills/telegram-collector/` — сбор Telegram-данных +- `skills/youtube-search/` — поиск по YouTube +- `skills/yandex-search/` — поиск по русскому вебу +- `skills/weather/` — погода +- `skills/voice-tts/` — голосовые сообщения +- `skills/diagram-png/` — PNG-диаграммы и схемы --- -## 📁 scripts/ — Общие скрипты +## `data/` — данные и артефакты -| Файл | Описание | -|---|---| -| `scripts/send_video_note.sh` | Pipeline для отправки видео-кружочков (TTS → fal.ai → VEED → Telegram) | +Используется для файлов, которые не относятся к конкретному проекту напрямую: +- выгрузки +- медиаресурсы +- промежуточные результаты анализа +- общие наборы данных --- -## 📁 tasks/ — Задачи и проекты +## `scripts/` — общие утилиты -### tasks/flightradar24/ -Проект «Карта шумового загрязнения» — визуализация трёков самолётов над МО. +Сюда попадают скрипты общего назначения, не привязанные жёстко к одному проекту. -| Файл | Описание | -|---|---| -| `prototype/app.py` | Flask-сервер (порт 5555) | -| `prototype/index.html` | Карта: OpenLayers, треки, зоны шума | -| `prototype/noise_model.py` | Модель шума (радиус по высоте) | -| `prototype/density_model.py` | Плотность пролётов (рейсов/час) | -| `prototype/fr24_client.py` | Клиент для Flightradar24 API | -| `prototype/fetch_tablo.py` | Скачивание табло вылетов из Яндекс.Расписаний | -| `prototype/fetch_strategy_b.py` | Загрузка рейсов через табло + live-снимки | -| `prototype/fetch_strategy_b_v2.py` | Тот же скрипт, с исправлениями (CLI-дата, sys) | -| `prototype/fetch_airport.py` | Стратегия А: снимки зоны аэропорта | -| `prototype/fetch_tracks.py` | Загрузка трёков по fr24_id | -| `prototype/fetch_svo_tracks.py` | Загрузка трёков SVO (Серпухов) | -| `prototype/generate_sample_data.py` | Генерация тестовых данных | -| `prototype/sample_flights.json` | Пример данных трёков | - -**Документация:** -| Файл | Описание | -|---|---| -| `prototype/docs/FR24_API.md` | Описание API Flightradar24 | -| `prototype/docs/ARCHITECTURE.md` | Архитектура приложения | -| `prototype/docs/NOISE_MODEL.md` | Модель шума | -| `prototype/docs/DATA_LOADING.md` | Загрузка данных | -| `prototype/docs/UI.md` | Описание UI карты | -| `prototype/docs/TZ_DENSITY_LAYER.md` | ТЗ слоя плотности | -| `prototype/docs/DEVLOG.md` | dev-журнал | -| `reports/ТЗ_Карта_шумового_загрязнения_Flightradar24.md` | Главное ТЗ | - -**Данные:** -- `prototype/data/cache_SVO/` — кэш трёков SVO -- `prototype/data/cache_svo/` — кэш трёков SVO (стратегия А) -- `prototype/data/cache_SVO_b/` — кэш рейсов SVO (стратегия Б) -- `prototype/data/cache_DME/` — кэш трёков DME -- `prototype/data/cache_VKO/` — кэш трёков VKO -- `prototype/data/cache_ZIA/` — кэш трёков ZIA -- `prototype/data/cache_SVO_offset90m/` — кэш SVO, смещение на 90 мин -- `prototype/data/cache_VKO_offset90m/` — кэш VKO, смещение на 90 мин -- `prototype/data/flights_SVO_2026-03-20_offset90m.json` — рейсы SVO за 20 марта -- `prototype/data/flights_SVO_2026-03-21.json` — рейсы SVO за 21 марта -- `prototype/data/flights_DME_*.json` — рейсы DME -- `prototype/data/flights_VKO_*.json` — рейсы VKO -- `prototype/data/flights_ZIA_*.json` — рейсы ZIA -- `prototype/data/flights_SVO_2026-03-21_strategy_b.json` — SVO, стратегия Б -- `prototype/data/flights_SVO_2026-03-26_strategy_b.json` — **пустой файл** (дубль 21.03) -- `prototype/data/tablo_SVO_2026-03-21.json` — табло вылетов SVO -- `prototype/data/tablo_SVO_2026-03-26.json` — табло вылетов SVO (26.03) -- `prototype/data/tablo_need_load.json` — табло, данные для загрузки -- `prototype/data/density_cache*.json/.gz` — кэш слоя плотности (gzip сжатие) -- `prototype/data/raw_*.json` — сырые данные с API - -**Кредиты FR24:** потрачены (~16 161 из 120 000 промо), все попытки загрузить 26 марта → HTTP 402. +Если скрипт становится частью устойчивого процесса, его лучше оформить как skill или перенести в соответствующий проект. --- -### tasks/snowbike-rag/ -RAG-система для базы знаний о сноубайках. +## `temp/` и `dumps/` -| Файл | Описание | -|---|---| -| `server.py` | Flask-сервер поиска | -| `scripts/parse_messages.py` | Парсинг сообщений | -| `scripts/index_chromadb.py` | Индексация в ChromaDB | -| `scripts/index_meilisearch.py` | Индексация в Meilisearch | -| `scripts/search.py` | Скрипт поиска | -| `start.sh` | Запуск всего | -| `templates/index.html` | UI для поиска | -| `config/docker-compose.yml` | Docker для Meilisearch | -| `data/messages.jsonl` | Сообщения из Telegram | -| `data/chromadb/` | База ChromaDB | -| `data/meilisearch/` | База Meilisearch | -| `bin/meilisearch` | Бинарник Meilisearch | -| `BRD.md`, `TZ.md` | ТЗ и Бизнес-требования | -| `README.md` | Документация | +- `temp/` — временные файлы, удаляются после использования +- `dumps/` — резервные копии, дампы, архивы --- -### tasks/snowbike-kb/ -Веб-просмотрщик базы знаний о сноубайках. +## Что считать актуальным источником правды -| Файл | Описание | -|---|---| -| `server.py` | Flask-сервер (порт 5556) | -| `viewer/index.html` | UI просмотра | -| `run_analysis.sh` | Скрипт запуска анализа | +Для проектной структуры источниками правды являются: +- `tasks//PROJECT.md` +- `tasks//TASKS/.../TASK.md` +- `memory/ontology/*` + +Этот файл — только обзорная карта workspace. --- -### tasks/video-notes/ -Видеокружочки (lip sync). - -| Файл | Описание | -|---|---| -| `TZ.md` | ТЗ для генерации видео-кружочков | - ---- - -### tasks/legal-agent/ -Юрист по законам РФ. - -| Файл | Описание | -|---|---| -| `AGENTS.md` | Инструкции для юриста | -| `SOUL.md` | Личность юриста | - ---- - -### tasks/planner-agent/ -Агент-планировщик (подготовлен промпт, не развёрнут). - -| Файл | Описание | -|---|---| -| `SOUL.md` | Личность планировщика | - ---- - -### tasks/scripts/ -| Файл | Описание | -|---|---| -| `token_summary.py` | Суммаризация расходов токенов | -| `usage_summary.py` | Суммаризация использования | - ---- - -### tasks/token-log.md -Лог расхода токенов по задачам (DEV-XXX / XK in / XK out → $X.XX). - ---- - -## 📁 dumps/ -Пустая папка (для backup-ов). - ---- - -## 📁 temp/ -Пустая папка (временные файлы). - ---- - -## Вне workspace (system) - -| Путь | Описание | -|---|---| -| `~/.openclaw/.env` | Секреты: OPENROUTER_API_KEY, TELEGRAM_BOT_TOKEN, OPENSKY_CLIENT_ID/SECRET, YANDEX_API_KEY и др. | -| `~/.openclaw/openclaw.json` | Конфиг OpenClaw: модель, каналы, скиллы | -| `/app/docs/` | Документация OpenClaw | -| `/app/skills/` | Встроенные скиллы (voice-tts, node-connect, healthcheck) | +**Обновлено:** 2026-04-18