From 064966c92efefb8a826a06e3cae9243178111cf0 Mon Sep 17 00:00:00 2001 From: VasilevNStas Date: Thu, 18 Jun 2026 23:04:50 +0300 Subject: [PATCH] release: v0.6.1 - --db-path global flag + OPENCODE_DB env var for custom DB location - README (en + ru) updated with DB path documentation --- README.md | 25 +++++++++++++++++++++++++ README.ru.md | 25 +++++++++++++++++++++++++ cli.py | 10 ++++++++++ config.py | 4 +++- pyproject.toml | 2 +- 5 files changed, 64 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6302592..850f01e 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,31 @@ opencode-db costs --total # total token costs - OpenCode (must have been run at least once — the database is created automatically) - macOS / Linux +### Database location + +By default, `opencode-db` looks for OpenCode's database at: + +``` +~/.local/share/opencode/opencode.db +``` + +If your OpenCode stores the database at a custom path, you have two options: + +**1. Environment variable** — set it once in your shell profile (`.zshrc`, `.bashrc`): + +```bash +export OPENCODE_DB=/path/to/opencode.db +``` + +**2. Global `--db-path` flag** — for ad-hoc use or inspecting another database: + +```bash +opencode-db --db-path /path/to/opencode.db list +opencode-db --db-path /path/to/opencode.db stats +``` + +The `--db-path` flag takes precedence over the environment variable. + ### One-command install (recommended) ```bash diff --git a/README.ru.md b/README.ru.md index f20b599..a48c71e 100644 --- a/README.ru.md +++ b/README.ru.md @@ -22,6 +22,31 @@ opencode-db costs --total # общие расходы - OpenCode (должен быть хотя бы раз запущен — создаётся БД) - macOS / Linux +### Расположение базы данных + +По умолчанию `opencode-db` ищет БД OpenCode в стандартном пути: + +``` +~/.local/share/opencode/opencode.db +``` + +Если твой OpenCode хранит БД в другом месте — есть два способа указать путь: + +**1. Переменная окружения** — задаётся один раз в профиле (`.zshrc`, `.bashrc`): + +```bash +export OPENCODE_DB=/путь/к/opencode.db +``` + +**2. Глобальный флаг `--db-path`** — для разовых задач или просмотра другой БД: + +```bash +opencode-db --db-path /путь/к/opencode.db list +opencode-db --db-path /путь/к/opencode.db stats +``` + +Флаг `--db-path` имеет приоритет над переменной окружения. + ### Быстрая установка ```bash diff --git a/cli.py b/cli.py index f817152..b529339 100644 --- a/cli.py +++ b/cli.py @@ -8,6 +8,7 @@ """ import argparse +import os import sys from typing import Any, Literal @@ -28,6 +29,12 @@ def build_parser() -> argparse.ArgumentParser: default=None, help="Output language / язык вывода (en/ru)", ) + parser.add_argument( + "--db-path", + type=str, + default=None, + help="Path to opencode.db (default: ~/.local/share/opencode/opencode.db)", + ) subparsers = parser.add_subparsers(dest="command", required=True) for _name, mod in commands.get_all().items(): @@ -58,6 +65,9 @@ def main(argv=None) -> Any | Literal[0] | Literal[1]: if args.lang: set_lang(args.lang) + if args.db_path: + os.environ["OPENCODE_DB"] = args.db_path + db = get_db() try: diff --git a/config.py b/config.py index 948e780..43de9b5 100644 --- a/config.py +++ b/config.py @@ -8,7 +8,9 @@ # --- Пути --- # База данных opencode. Стандартное расположение для Linux/macOS. -OPENCODE_DB = os.path.expanduser("~/.local/share/opencode/opencode.db") +OPENCODE_DB = os.environ.get("OPENCODE_DB") or os.path.expanduser( + "~/.local/share/opencode/opencode.db" +) # Директории, игнорируемые при сборе snapshot'а проекта IGNORE_DIRS = {".git", "node_modules", ".venv", "__pycache__", ".opencode"} diff --git a/pyproject.toml b/pyproject.toml index 839befa..dc10361 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "opencode-db" -version = "0.6.0" +version = "0.6.1" description = "OpenCode database CLI manager — browse, export, analyze, clean up sessions" readme = "README_PYPI.md" requires-python = ">=3.12"