auto-sync: 2026-04-18 16:10:01
This commit is contained in:
@@ -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-slug>/
|
||||
├── PROJECT.md
|
||||
├── docs/
|
||||
├── journal/
|
||||
├── assets/
|
||||
├── meta/
|
||||
└── TASKS/
|
||||
├── backlog/
|
||||
├── active/
|
||||
├── blocked/
|
||||
├── done/
|
||||
└── archive/
|
||||
```
|
||||
|
||||
### Стандарт задачи
|
||||
|
||||
```text
|
||||
tasks/<project-slug>/TASKS/<status>/<task-slug>/
|
||||
├── 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>/PROJECT.md`
|
||||
- `tasks/<project>/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
|
||||
|
||||
Reference in New Issue
Block a user