You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(web): rebrand the web output as the "OpenTab browser", not a "report"
OpenTab is a browser for your AI spend, not a report generator -- so the
--html/--serve/--web output is the "OpenTab browser" everywhere users read it:
the page title/brand/footer, the CLI help for --html/--serve/--web/--theme/
--bind, the console lines, the TUI theme picker, and the README/CLAUDE docs.
The product name is "OpenTab" (never "opentab"/"Opentab") in prose; the
command, package, import, theme id, config paths, and the default
opentab-report.html filename stay lowercase/unchanged, and internal symbols
(ReportServer, open_report) are untouched. No behaviour change.
Copy file name to clipboardExpand all lines: README.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,8 +10,8 @@
10
10
</p>
11
11
12
12
<palign="center">
13
-
<imgsrc="https://github.com/user-attachments/assets/a84029a3-7887-42c7-ba5a-d8c905f3fa19"alt="OpenTab web report — the same data as a self-contained page"width="900">
14
-
<br><sub><b>Also a web report</b> — <code>opentab --web</code> renders the same data as one self-contained, shareable page</sub>
13
+
<imgsrc="https://github.com/user-attachments/assets/a84029a3-7887-42c7-ba5a-d8c905f3fa19"alt="OpenTab web browser — the same data as a self-contained page"width="900">
14
+
<br><sub><b>Also a web browser</b> — <code>opentab --web</code> renders the same data as one self-contained, shareable page</sub>
15
15
</p>
16
16
17
17
A local, standard-library terminal UI for your AI coding spend. It reads the records your
@@ -39,13 +39,13 @@ no accounts — it opens those files **read-only**. Standard-library-only at run
39
39
- Git worktrees folded into their main repo
40
40
- Live fuzzy filter (fzf-style, title / project / id) and live date-range scoping
41
41
- CSV export of any view
42
-
- A self-contained **HTML report** (`--html`) — same drill-in, calendar heatmap, and
42
+
- A self-contained **HTML browser** (`--html`) — same drill-in, calendar heatmap, and
43
43
`$` toggle in one shareable file — and a local live server for it (`--serve`, or
44
44
`--web` to also pop it open in your browser)
45
45
- Keyboard- and mouse-driven (scroll, click to select, double-click to drill)
46
46
- Remembers your range, sort, ignored projects, and the `$` view between runs
47
47
- Colour themes (opentab, Catppuccin, Tokyo Night, Gruvbox, Nord, Dracula, Rosé Pine —
48
-
light and dark) shared by the TUI (`C`) and the web report, set with `--theme`
48
+
light and dark) shared by the TUI (`C`) and the web browser, set with `--theme`
49
49
- Read-only, local-only, standard-library runtime (nothing extra to pull in)
50
50
- Demo mode for screenshots and live demos
51
51
@@ -87,7 +87,7 @@ touches, all on your own machine:
87
87
source, range, and sort; disable with `--no-state`), an optional model-price cache at
88
88
`~/.config/opentab/prices.json` (only when you run `--refresh-models` or press `r` in the
89
89
`P` overlay), and — only when you press `e` or run `--html` — an `opentab-*.csv`
90
-
export or the HTML report file in the current directory.
90
+
export or the HTML browser file in the current directory.
91
91
-**Runs** external programs only on the key you press: your file opener
92
92
(`open`/`xdg-open`, or Explorer on Windows) for `o`, and for `L` either `tmux`, your own
93
93
[launcher hook](#custom-launchers) (`~/.config/opentab/launcher`), or your clipboard tool
opentab --source claude # browse Claude Code spend instead (see below)
156
156
opentab --demo # safe for live demos / screenshots (see below)
157
157
opentab --html # write opentab-report.html and exit (see below)
158
-
opentab --serve # same report on http://localhost:8321, live
158
+
opentab --serve # same browser on http://localhost:8321, live
159
159
opentab --web # --serve, and open it in your browser
160
160
```
161
161
@@ -235,7 +235,7 @@ and months, and the model mix (which models, in what ratio) — but the absolute
235
235
numbers do not. A `DEMO — synthetic` tag shows in the header so synthetic figures
236
236
are never mistaken for real ones.
237
237
238
-
### Web report (`--html` / `--serve` / `--web`)
238
+
### Web browser (`--html` / `--serve` / `--web`)
239
239
240
240
`opentab --html` writes the whole browser as **one self-contained HTML file** —
241
241
no server, no dependencies, works from disk or any static host. It's the TUI in
@@ -255,12 +255,12 @@ this year, or a custom span). The **theme** button switches the palette live
255
255
Pine — light and dark) and remembers your pick; `--theme <name>` bakes the
256
256
default. Combine with `--demo` for a page you can publish.
257
257
258
-
`opentab --serve` serves the same report on `http://localhost:8321` (`--port`)
258
+
`opentab --serve` serves the same browser on `http://localhost:8321` (`--port`)
259
259
and adds what a static file can't have: the per-session **Turns** timeline and
260
260
**Tools** attribution fetched live on drill-in, plus a refresh button that
261
-
re-reads your data. `opentab --web` is the same thing but also opens the report in
262
-
your default browser (cross-platform — `open` on macOS, `xdg-open` on Linux, the
263
-
shell association on Windows). It binds to localhost only — the report shows prompt
261
+
re-reads your data. `opentab --web` is the same thing but also opens it in
262
+
your default web browser (cross-platform — `open` on macOS, `xdg-open` on Linux, the
263
+
shell association on Windows). It binds to localhost only — the browser shows prompt
264
264
titles, project paths, and spend, so if you want it on another machine put it behind
265
265
something like Tailscale (`--bind`), never a public interface.
266
266
@@ -295,7 +295,7 @@ detail — cost split, model mix, and subagent tree. `Esc` steps back out.
295
295
|`o`| Open the selected session's / project's directory |
296
296
|`L`| Launch the selected session in its own tool (`opencode --session <id>` / `claude --resume <id>` / `codex resume <id>`). Inside tmux a one-key menu opens it in a new **w**indow, **s**plit, **v**split, or **p**opup (cd'd to the project), with **y** copying the `cd <project> && …` command to the clipboard; outside tmux the menu offers only the copy. See [Custom launchers](#custom-launchers) to route launches through your own tooling |
297
297
|`c`| Switch data source — any present backend (OpenCode, Claude Code, Codex, Hermes, Copilot CLI, VS Code, pi, OpenClaw, CSV, JSONL), or all merged |
298
-
|`C`| Colours — pick a theme (opentab, Catppuccin Mocha/Latte, Tokyo Night/Day, Gruvbox, Nord, Dracula, Rosé Pine — the same set as the web report). `j`/`k` live-preview, `Enter` keeps, `Esc` reverts; light themes light up the whole screen. `--theme` sets it at launch |
298
+
|`C`| Colours — pick a theme (opentab, Catppuccin Mocha/Latte, Tokyo Night/Day, Gruvbox, Nord, Dracula, Rosé Pine — the same set as the web browser). `j`/`k` live-preview, `Enter` keeps, `Esc` reverts; light themes light up the whole screen. `--theme` sets it at launch |
0 commit comments