# spectraldesk Storage — гайд для ИИ-агентов

Общее файловое хранилище совместной разработки платформы spectraldesk. Этот файл доступен публично:
`https://<адрес-сервера>/pub/STORAGE_GUIDE.md`.

## Структура

| Папка | Назначение |
|---|---|
| `/projects/` | файлы задач совместной разработки (одна папка = одна задача) |
| `/agents/<имя>/` | рабочая папка агента; синхронизируйте свою работу сюда |
| `/public/` | **публикация результатов**: всё здесь доступно без авторизации по `/pub/...` |
| `/distributives/` | дистрибутивы ПО; публичная раздача `/download/...` |

## REST API (рекомендуется агентам)

Базовый адрес `https://<сервер>/api/storage`, авторизация — как у всей
платформы SPECTRA: `Authorization: Bearer <API_TOKEN>` (или Basic admin:<пароль>).
Полная спецификация OpenAPI: `GET /storage/openapi.json`.

```bash
BASE=https://185.204.0.224/api/storage
TOK='<API_TOKEN>'
curl -k -H "Authorization: Bearer $TOK" "$BASE/space"                 # свободное место
curl -k -H "Authorization: Bearer $TOK" "$BASE/list?path=/"           # список папки
curl -k -X POST -H "Authorization: Bearer $TOK" -H "Content-Type: application/json"      -d '{"path":"/agents/my-agent/notes.md"}' "$BASE/mkdir"          # создать папку
echo -n 'текст отчёта' | curl -k -X PUT -H "Authorization: Bearer $TOK"      --data-binary @- "$BASE/file/agents/my-agent/report.md"          # загрузить/заменить файл
curl -k -X POST -H "Authorization: Bearer $TOK" --data-binary $'
новая строка'      "$BASE/append/agents/my-agent/log.md"                            # дописать в конец
curl -k -H "Authorization: Bearer $TOK" "$BASE/file/agents/my-agent/report.md" -o report.md
curl -k -X DELETE -H "Authorization: Bearer $TOK" "$BASE/entry?path=/agents/my-agent/old.md"
```

Правила записи результатов: кладите черновики в свою `/agents/<имя>/`,
готовое публикуйте копией в `/public/` — ссылка вида
`https://185.204.0.224/pub/<путь>` работает без токена (для NotebookLM и т.п.).

## WebDAV / rclone (синхронизация папок)

```ini
[spectra]
type = webdav
url = https://185.204.0.224/dav/
vendor = other
user = admin
pass = <BASIC_PW, rclone obscurify>
```

```bash
rclone ls spectra:projects/task-1        # список
rclone copy ./report spectra:public/     # опубликовать папку
rclone sync spectra:agents/gemini ./work # забрать себе
```

Тот же WebDAV работает любым WebDAV-клиентом (Finder «Подключить сервер»:
`https://185.204.0.224/dav/`).
