Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 24 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,20 +210,35 @@ If the project directory contains `.obsidian`, a `log.md` file is automatically

---

### `delete` — delete a session
### `delete` — delete sessions

Removes a session and all related data (messages, parts, todos) thanks to CASCADE constraints in the database schema.
Removes sessions and all related data (messages, parts, todos). Supports single deletion by ID or bulk deletion with filters.

```bash
opencode-db delete ses_1c9d --dry-run # show what would be deleted
opencode-db delete ses_1c9d # delete with confirmation
opencode-db delete ses_1c9d --force # delete without confirmation
opencode-db delete ses_1c9d # single session with confirmation
opencode-db delete ses_1c9d --force # single session, no confirmation
opencode-db delete ses_1c9d --dry-run # preview what would be deleted
opencode-db delete --older-than 90d # sessions older than 90 days
opencode-db delete --older-than 6m --dry-run # preview sessions older than 6 months
opencode-db delete --keep-last 30 # keep 30 most recent, delete the rest
opencode-db delete --before 2026-05-20 # sessions before a specific date
opencode-db delete --after 2026-01-01 # sessions after a specific date
opencode-db delete --project proj_xxx # sessions in a specific project
opencode-db delete --older-than 90d --keep-last 20 # combined filters
opencode-db delete --interactive # choose from a list interactively
```

| Flag | Description |
|---|---|
| `session_id` | Session ID (optional with `--interactive`) |
| `--older-than` | Delete sessions older than (e.g. `30d`, `6m`, `1y`) |
| `--before` | Delete sessions before date (`YYYY-MM-DD`) |
| `--after` | Delete sessions after date (`YYYY-MM-DD`) |
| `--keep-last` | Keep N most recent, delete the rest |
| `--project` | Limit to a specific project |
| `--dry-run` | Only show what would be deleted |
| `--force`, `-f` | Skip confirmation prompt |
| `--interactive` | Pick sessions from a list |

---

Expand Down Expand Up @@ -252,31 +267,17 @@ Costs are taken directly from the database (`session.cost`), which stores the ac

---

### `prune` — bulk cleanup of old sessions
### `prune` — alias for `delete` (bulk cleanup)

Deletes sessions by age, project, or keeps a specified number of the most recent ones.
Alias for `delete` with the same flags: `--older-than`, `--keep-last`, `--project`, `--dry-run`, `--force`.

```bash
opencode-db prune --older-than 30d --dry-run # preview deletions
opencode-db prune --older-than 90d # delete sessions older than 90 days
opencode-db prune --older-than 6m # older than 6 months
opencode-db prune --older-than 1y # older than 1 year
opencode-db prune --keep-last 20 # keep the 20 most recent
opencode-db prune --older-than 30d --keep-last 10 # combined filters
opencode-db prune --project proj_xxx # per project
opencode-db prune --older-than 30d --force # skip confirmation
opencode-db prune --older-than 90d # same as opencode-db delete --older-than 90d
opencode-db prune --keep-last 20 # same as opencode-db delete --keep-last 20
```

Time spec formats: `30d` (days), `6m` (months), `1y` (years).

| Flag | Description |
|---|---|
| `--older-than SPEC` | Delete sessions older than the given duration |
| `--keep-last N` | Keep N most recent sessions |
| `--project ID` | Limit to a specific project |
| `--dry-run` | Only show what would be deleted |
| `--force`, `-f` | Skip confirmation prompt |

---

### `search` — search across messages
Expand Down
41 changes: 24 additions & 17 deletions README.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -198,22 +198,35 @@ opencode-db export -o ~/backup # сохранить в друг

---

### `delete` — удаление сессии
### `delete` — удаление сессий

Удаляет сессию и все связанные данные (сообщения, части, todo) благодаря CASCADE в схеме БД.
Удаляет сессии и все связанные данные (сообщения, части, todo). Поддерживает удаление по ID или массовое с фильтрами.

```bash
opencode-db delete ses_1c9d --dry-run # показать что будет удалено
opencode-db delete ses_1c9d # с подтверждением
opencode-db delete ses_1c9d --force # без подтверждения
opencode-db delete ses_1c9d # одна сессия с подтверждением
opencode-db delete ses_1c9d --force # одна сессия без подтверждения
opencode-db delete ses_1c9d --dry-run # показать что будет удалено
opencode-db delete --older-than 90d # сессии старше 90 дней
opencode-db delete --older-than 6m --dry-run # предпросмотр старше 6 месяцев
opencode-db delete --keep-last 30 # оставить 30 последних
opencode-db delete --before 2026-05-20 # сессии до даты
opencode-db delete --after 2026-01-01 # сессии после даты
opencode-db delete --project proj_xxx # по проекту
opencode-db delete --older-than 90d --keep-last 20 # комбинация фильтров
opencode-db delete --interactive # выбор из списка
```

Всегда показывает информацию о сессии перед удалением.

| Флаг | Описание |
|---|---|
| `session_id` | ID сессии (опционально с `--interactive`) |
| `--older-than` | Удалить старше (например `30d`, `6m`, `1y`) |
| `--before` | Удалить до даты (`ГГГГ-ММ-ДД`) |
| `--after` | Удалить после даты (`ГГГГ-ММ-ДД`) |
| `--keep-last` | Оставить N последних |
| `--project` | Фильтр по проекту |
| `--dry-run` | Только показать что будет удалено |
| `--force`, `-f` | Без подтверждения |
| `--interactive` | Выбор из списка |

---

Expand Down Expand Up @@ -242,19 +255,13 @@ opencode-db costs ses_1c9d --json # в JSON

---

### `prune` — массовая очистка старых сессий
### `prune` — alias для `delete`

Удаляет сессии по возрасту, проекту или с ограничением на количество сохраняемых.
Псевдоним команды `delete` с теми же флагами: `--older-than`, `--keep-last`, `--project`, `--dry-run`, `--force`.

```bash
opencode-db prune --older-than 30d --dry-run # что можно удалить
opencode-db prune --older-than 90d # удалить сессии старше 90 дней
opencode-db prune --older-than 6m # старше 6 месяцев
opencode-db prune --older-than 1y # старше года
opencode-db prune --keep-last 20 # оставить 20 последних
opencode-db prune --older-than 30d --keep-last 10 # комбинация
opencode-db prune --project proj_xxx # по проекту
opencode-db prune --older-than 30d --force # без подтверждения
opencode-db prune --older-than 90d # то же что opencode-db delete --older-than 90d
opencode-db prune --keep-last 20 # то же что opencode-db delete --keep-last 20
```

Форматы `--older-than`: `30d` (дни), `6m` (месяцы), `1y` (года).
Expand Down
Loading