Files
cursor-chat-archive/RESTORE_FOR_AI.md
T
Ruslan PiatrovichandCursor 532ac723cb Add full Cursor chat archive for Documents/repos workspaces.
Includes global state.vscdb, per-repo transcripts, workspace storage,
composer exports, and restore scripts for a new machine.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 11:53:07 +03:00

55 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Инструкция для Cursor Agent (новый ноутбук)
## Контекст пользователя
Пользователь **Руслан** переезжает на новый ноутбук. Репозитории клонируются в **другие пути** (другой `$HOME`, возможно другая структура каталогов). Нужно **вернуть историю чатов Cursor в UI** — те же треды в Agent/Composer при открытии тех же репозиториев.
Этот репозиторий — **полный архив** чатов с предыдущего ноутбука (`cursor-chat-archive`).
## Что внутри архива
| Путь | Содержимое |
|------|------------|
| `manifest.json` | Карта репозиторий → старые пути, workspace id, composer id |
| `source-profile.json` | Старый `$HOME`, `Documents/repos` |
| `global/state.vscdb` | Глобальная SQLite Cursor (все Composer-чаты) |
| `global/storage.json`, `ide_state.json` | Доп. состояние UI |
| `repos/<имя-репо>/agent-transcripts/` | Agent-чаты (jsonl) |
| `repos/<имя-репо>/workspace-storage/<hash>/` | Состояние воркспейса |
| `repos/<имя-репo>/composers/*.json` | Экспорт composer (читаемый бэкап) |
| `scripts/restore-archive.py` | Скрипт восстановления |
Старый профиль: `/home/ruslanpi`, репозитории: `/home/ruslanpi/Documents/repos/<repo>`.
## Задача для агента
1. Убедиться, что пользователь **полностью закрыл Cursor**.
2. Клонировать этот репозиторий (если ещё не клонирован):
`git clone git@91.108.237.249:komehdaht/cursor-chat-archive.git`
3. Создать `restore-config.json` из `restore-config.example.json`:
```json
{
"new_home": "/home/НОВЫЙ_ПОЛЬЗОВАТЕЛЬ",
"new_repos_root": "/home/НОВЫЙ_ПОЛЬЗОВАТЕЛЬ/Documents/repos"
}
```
Пути должны совпадать с реальным расположением клонированных репозиториев.
4. Запустить:
```bash
python3 scripts/restore-archive.py
```
5. **Перезапустить Cursor**, открыть папки репозиториев из `new_repos_root`.
6. Проверить Agent sidebar — должны появиться старые чаты.
7. Если чаты не видны: прочитать `~/.cursor/cursor-chat-restore-report.json`, сверить `new_workspace_id` в отчёте с `manifest.json`, при необходимости адаптировать пути в `state.vscdb` (как делали для `mailgw-salt` → скрипт `fix-mailgw-chat-history.py` на старом ноуте).
## Важно
- Имена папок репозиториев (`mailgw-salt`, `lmru--devops--argocd-apps`, …) должны **совпадать** с `repos/` в архиве.
- Workspace id на новом пути = `md5("file://" + absolute_path)` (три слэша: `file:///home/...`).
- Slug проекта в `~/.cursor/projects/` = путь без ведущего `/`, слэши заменены на `-` (например `home-user-Documents-repos-mailgw-salt`).
- Не пушить этот архив в корпоративный Git — только личная Gitea.
## Если пользователь просит «подхватить чаты»
Кратко: **восстановить из cursor-chat-archive через `restore-archive.py`, не создавать пустой workspace на старом пути.**