agent-workbench 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +73 -25
- package/dist/server.js +10147 -4132
- package/dist/web/assets/de-CsDV7Kuv.js +1 -0
- package/dist/web/assets/es-1bnGoSgS.js +1 -0
- package/dist/web/assets/fr-BqyJYy32.js +1 -0
- package/dist/web/assets/{highlight-BXBl9DQv.js → highlight-BVnJ3VdZ.js} +1 -1
- package/dist/web/assets/index-B0Pd_BkE.css +32 -0
- package/dist/web/assets/index-DOfNPF9Z.js +156 -0
- package/dist/web/assets/ja-xHkS6kKf.js +1 -0
- package/dist/web/assets/ko-CC_KhzvE.js +1 -0
- package/dist/web/assets/pt-BR-Dctf7Mfd.js +1 -0
- package/dist/web/assets/ru-B7OPQhs_.js +1 -0
- package/dist/web/assets/zh-CN-Llsx2Xa1.js +1 -0
- package/dist/web/index.html +2 -2
- package/package.json +3 -1
- package/dist/web/assets/de-B1W5R6hb.js +0 -1
- package/dist/web/assets/es-7g4wzPIf.js +0 -1
- package/dist/web/assets/fr-DaY5ttUk.js +0 -1
- package/dist/web/assets/index-Bk0CUikM.css +0 -32
- package/dist/web/assets/index-D8_sieMX.js +0 -139
- package/dist/web/assets/ja-C1rp47bG.js +0 -1
- package/dist/web/assets/ko-D0Bwy-Ri.js +0 -1
- package/dist/web/assets/pt-BR-BVIxhwAC.js +0 -1
- package/dist/web/assets/ru-CCRfyRi5.js +0 -1
- package/dist/web/assets/zh-CN-CaghDQ5n.js +0 -1
package/README.md
CHANGED
|
@@ -38,11 +38,11 @@ CLI.
|
|
|
38
38
|
| **Tabs** | Several agents at once, from any CLI, each in its own folder. A dot on each tab tells you whether the agent is working, idle or waiting for you. Reloading the page doesn't stop anything: the CLIs run on the server, not in the browser. |
|
|
39
39
|
| **Fast start** | When you open the app, your tabs come back **asleep**: you can read them in full, and no CLI starts until you click **Open CLI**. |
|
|
40
40
|
| **History** | Your projects and past conversations in the sidebar, from every CLI, with a filter. Click one to pick it up where you left it, with its CLI. Archive old sessions or a whole project to tidy up: nothing is deleted, and it can be undone. |
|
|
41
|
-
| **Conversation** | The messages as cards, live, with tool calls folded. Older messages load as you scroll up. Search, copy any message or code block, and jump back to your previous message (↑) or to the end (↓). A row at the bottom says when your message reached the CLI and whether the agent is still working. Depending on the CLI, you can answer the agent's questions right there. A file of the project that the agent names opens in the Files tab with one click. |
|
|
42
|
-
| **Message box** | Room to write, paste images, attach files, and long pasted text kept as a tidy chip. What you're typing survives closing the app, and shows up live in every open window. |
|
|
43
|
-
| **Context meter** | How much of the model's context window the conversation is using. Tokens, never money. |
|
|
44
|
-
| **Changes** | The branch, the changed files and their diff. **
|
|
45
|
-
| **Files** | The project's file tree, with search and a preview with syntax highlighting. Open several files at once, each in its own tab; Markdown files open formatted. One click puts a file's path in your message. |
|
|
41
|
+
| **Conversation** | The messages as cards, live, with tool calls folded. Older messages load as you scroll up. Search, copy any message or code block, and jump back to your previous message (↑) or to the end (↓). A row at the bottom says when your message reached the CLI and whether the agent is still working. Depending on the CLI, you can answer the agent's questions right there. A file of the project that the agent names opens in the Files tab with one click. With Claude Code, a message you stop before the agent starts comes back to the box so you can fix it, and **↩** on a message goes back to before it: the conversation and, if you want, the code. A message you send while the agent works waits at the end, marked as queued; depending on the CLI, **Force send now** makes the agent read it right away, and **Edit** (or ↑ in the empty box) brings it back to the box to fix it. |
|
|
42
|
+
| **Message box** | Room to write, paste images, attach files, and long pasted text kept as a tidy chip. What you're typing survives closing the app, and shows up live in every open window. Shift+Enter continues a numbered or bulleted list. |
|
|
43
|
+
| **Context meter** | How much of the model's context window the conversation is using. Tokens, never money. From 70%, **Compact** asks the CLI to compact the conversation. Next to it, with Claude Code, Codex and Antigravity CLI, how much of your plan's usage limits you've used and when they reset. |
|
|
44
|
+
| **Changes** | The branch, the changed files and their diff. **Orchestrates agents in parallel**: open the project on a new branch, in its own folder, and several agents work at once without stepping on each other's changes. Changes shows every branch: what isn't committed yet, how many commits it has and whether it's merged. Another CLI reviews a branch without touching it, and you merge it into main with one click. |
|
|
45
|
+
| **Files** | The project's file tree, with search and a preview with syntax highlighting. Open several files at once, each in its own tab; Markdown files open formatted. One click puts a file's path in your message. Edit a text file, a `.env` for instance, and save it right there: if the agent changed it while you were editing, nothing is overwritten, and you move your changes to the new version. |
|
|
46
46
|
| **Plans** | The plans and `.md` documents the conversation wrote, rendered. One click puts a document's path in your message. |
|
|
47
47
|
| **Notes** | A scratchpad next to the conversation, images included. With Claude Code, one click sends a note to a new conversation. |
|
|
48
48
|
| **Console** | Your system's terminal at the bottom, in the project's folder: PowerShell, cmd or Git Bash on Windows; bash or zsh on macOS and Linux. |
|
|
@@ -53,7 +53,8 @@ CLI.
|
|
|
53
53
|
| **Theme** | Light, dark or the system's. The terminal stays dark by default, so the CLIs' colors stay readable. |
|
|
54
54
|
|
|
55
55
|
Optional, and off by default: [shared memory](#shared-memory-between-clis)
|
|
56
|
-
between CLIs, a [backup](#backup-of-your-history) of your history,
|
|
56
|
+
between CLIs, a [backup](#backup-of-your-history) of your history, Claude
|
|
57
|
+
Code's [plan usage limits](#claude-code-plan-usage-limits),
|
|
57
58
|
[remote access](#remote-access-over-ssh) from another computer or a phone, and
|
|
58
59
|
an [Android app](#the-android-app).
|
|
59
60
|
|
|
@@ -235,12 +236,35 @@ run from the source code ([below](#from-source)) and **write nothing without
|
|
|
235
236
|
|
|
236
237
|
</details>
|
|
237
238
|
|
|
239
|
+
### Claude Code: plan usage limits
|
|
240
|
+
|
|
241
|
+
Claude Code only tells how much of your plan's usage limits you've used (the
|
|
242
|
+
5-hour window and the week) through its *status line*. To see them next to the
|
|
243
|
+
context meter:
|
|
244
|
+
|
|
245
|
+
1. Open a Claude Code tab and click **Configure**, next to the meter.
|
|
246
|
+
2. Copy the line it shows and add it to what `~/.claude/settings.json` already
|
|
247
|
+
has. The app doesn't edit that file: you do.
|
|
248
|
+
3. Within a couple of seconds, or with **Check**, the dialog says
|
|
249
|
+
**Configured**. The limits show up with the next response.
|
|
250
|
+
|
|
251
|
+
Claude Code allows a single status line, so this one replaces any other you
|
|
252
|
+
have, and with it the CLI stops showing some hints at its bottom, such as "esc
|
|
253
|
+
to interrupt". The line runs a small script kept in the app's own folder: it
|
|
254
|
+
saves only the two limits and the session's id, and prints them as a short line
|
|
255
|
+
at the bottom of the CLI. It runs on **every** `claude` session, including the
|
|
256
|
+
ones you open outside the app, and it needs `node` in the `PATH`. Claude Code
|
|
257
|
+
publishes these limits only with a subscription plan, not with an API key.
|
|
258
|
+
|
|
259
|
+
Codex needs nothing: it writes its limits in its own history. Antigravity CLI
|
|
260
|
+
shows them with its status line, below. OpenCode and Pi don't publish them.
|
|
261
|
+
|
|
238
262
|
### Antigravity CLI: status and context meter
|
|
239
263
|
|
|
240
|
-
Antigravity CLI only tells whether it's working or waiting for you,
|
|
241
|
-
|
|
242
|
-
normally, but the tab's dot says the status is
|
|
243
|
-
empty. To turn it on:
|
|
264
|
+
Antigravity CLI only tells whether it's working or waiting for you, how many
|
|
265
|
+
tokens it has used and how much of your quota is left through its *status
|
|
266
|
+
line*. Without it, its tabs work normally, but the tab's dot says the status is
|
|
267
|
+
unknown and the meters stay empty. To turn it on:
|
|
244
268
|
|
|
245
269
|
1. Open an Antigravity tab and click **Configure**, next to the meter.
|
|
246
270
|
2. Copy the line it shows and add it to what
|
|
@@ -250,9 +274,10 @@ empty. To turn it on:
|
|
|
250
274
|
**Configured**.
|
|
251
275
|
|
|
252
276
|
The line runs a small script kept in the app's own folder. It saves only each
|
|
253
|
-
conversation's status, mode, model and tokens
|
|
254
|
-
|
|
255
|
-
|
|
277
|
+
conversation's status, mode, model and tokens, and from your quota only how
|
|
278
|
+
much is left and when it resets. It doesn't save your email, plan or cost,
|
|
279
|
+
which the CLI also passes to it, and it prints nothing, so the CLI's own status
|
|
280
|
+
line stays as it was. Once set, it runs on **every** `agy` session,
|
|
256
281
|
including the ones you open outside the app, and it needs `node` in the
|
|
257
282
|
`PATH`.
|
|
258
283
|
|
|
@@ -405,20 +430,27 @@ app keeps on the phone and the permissions it asks for are in
|
|
|
405
430
|
you to log in, you do it in its own terminal, and the app doesn't even notice.
|
|
406
431
|
- **It reads the CLIs' history and writes nothing in their folders.** The table
|
|
407
432
|
below lists what it reads and what it never opens.
|
|
408
|
-
- **It writes only in its own folders**, plus
|
|
409
|
-
only if you confirm it
|
|
433
|
+
- **It writes only in its own folders**, plus three things in your projects:
|
|
434
|
+
the shared memory, only if you confirm it; a file you edit and save yourself
|
|
435
|
+
in the Files tab; and the separate branches you open, each in its own folder
|
|
436
|
+
next to the project, with the notes that go back to the main folder when you
|
|
437
|
+
remove or merge one.
|
|
410
438
|
- **The server listens only on your computer** (`127.0.0.1`), on a random port,
|
|
411
439
|
with a new random token on every start, and it rejects requests coming from
|
|
412
440
|
other web pages. Remote access doesn't change that: the port becomes a fixed
|
|
413
441
|
one, still on `127.0.0.1`, and SSH —which you turn on and control— does the
|
|
414
442
|
rest.
|
|
415
|
-
- **
|
|
416
|
-
|
|
417
|
-
|
|
443
|
+
- **Git: the app never commits, pushes or rewrites history.** It runs four git
|
|
444
|
+
commands that write, each after a confirmation that shows it:
|
|
445
|
+
`git worktree add` to open a branch in its own folder, `git worktree remove`
|
|
446
|
+
(never with `--force`), `git branch -d` (only for a branch the app created
|
|
447
|
+
and that is already merged) and `git merge --ff-only` to merge a branch into
|
|
448
|
+
main without creating a commit. The agents make the commits, in their
|
|
449
|
+
terminal.
|
|
418
450
|
|
|
419
451
|
| CLI | What it reads | What it never opens |
|
|
420
452
|
|---|---|---|
|
|
421
|
-
| Claude Code | From `~/.claude/`: `projects/` (the history, and each project's memory, to import it), `sessions/` (whether the CLI is waiting for you) and `plans
|
|
453
|
+
| Claude Code | From `~/.claude/`: `projects/` (the history, and each project's memory, to import it), `sessions/` (whether the CLI is waiting for you) and `plans/`; from `settings.json`, only the model and the status line. For the Plans tab, also the `.md` files the conversation wrote in the project or in that session's temp folder — **only the ones named by the conversation you're viewing**, without browsing any folder | `.credentials.json` or any token |
|
|
422
454
|
| Codex | From `~/.codex/` (or `CODEX_HOME`): `sessions/` and `archived_sessions/` | `auth.json`, `config.toml` or its `*.sqlite` databases |
|
|
423
455
|
| OpenCode | Its `opencode.db` database, opened read-only, and from it only the sessions, messages and parts; and its model catalog, for the context window size | `auth.json`, `opencode.json`, or the accounts, credentials, permissions and shared-sessions tables |
|
|
424
456
|
| Antigravity CLI | From `~/.gemini/antigravity-cli/`: each conversation's transcripts, `history.jsonl`, the last conversation of each folder, the model and status line from `settings.json`, and a temporary **copy** of its conversation index; from `~/.gemini/config/projects/`, each project's folder | Its MCP configuration, its entry in the system keychain, the contents of `conversations/`, and `~/.gemini/antigravity/`, which is its IDE |
|
|
@@ -465,18 +497,29 @@ Pi's settings, or the `PI_TELEMETRY=0` environment variable.
|
|
|
465
497
|
**What the app writes:**
|
|
466
498
|
|
|
467
499
|
- **In its own configuration folder:** the open tabs, the index cache, the
|
|
468
|
-
notes, the archived sessions, unsent messages, the
|
|
469
|
-
|
|
500
|
+
notes, the archived sessions, unsent messages, the status line scripts of
|
|
501
|
+
Claude Code and Antigravity with what they save, the separate branches it
|
|
502
|
+
created with a copy of each text note it copied into them (to merge the
|
|
503
|
+
notes later) and, if you turn it on, the backup (or in the folder you
|
|
504
|
+
choose). With
|
|
470
505
|
remote access on, also the list of paired devices: a name, two dates and a
|
|
471
506
|
hash of each one's credential — never the credential itself.
|
|
472
507
|
- **In the temp folder:** the images and files you paste or attach; each
|
|
473
508
|
Antigravity tab's log, which contains your messages, readable only by you and
|
|
474
509
|
deleted on the first start after it's 24 hours old; and the transcript of a
|
|
475
510
|
conversation you continue with another CLI, deleted when you close that tab
|
|
476
|
-
or after 24 hours.
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
511
|
+
or after 24 hours. To check whether a separate branch would conflict, git
|
|
512
|
+
writes its objects in a temporary folder instead of your repository, and the
|
|
513
|
+
folder is deleted right after.
|
|
514
|
+
- **In your projects, three things only:** the shared memory, only if you
|
|
515
|
+
confirm, limited to `.agents/memory/`, to what's between its markers in
|
|
516
|
+
`AGENTS.md` and `CLAUDE.md`, and to a few lines at the end of `.gitignore`;
|
|
517
|
+
a file you edit in the Files tab, when you save it, which only replaces the
|
|
518
|
+
contents of a file that already exists (nothing is created, renamed or
|
|
519
|
+
deleted, and nothing is written in a CLI's folder); and the notes of a
|
|
520
|
+
separate branch, which go back to the main folder when you remove or merge
|
|
521
|
+
the branch. If a note changed on both sides, the two versions are merged the
|
|
522
|
+
way git merges code, and you only choose where both changed the same lines.
|
|
480
523
|
|
|
481
524
|
</details>
|
|
482
525
|
|
|
@@ -515,6 +558,11 @@ if it doesn't start there either, the problem is that OpenCode installation.
|
|
|
515
558
|
**An OpenCode tab says the server closed.** **Relaunch**, in the same bar,
|
|
516
559
|
starts another server and reconnects the tab to the same session.
|
|
517
560
|
|
|
561
|
+
**Claude Code's plan limits don't show.** If the meter offers **Configure**,
|
|
562
|
+
follow [these steps](#claude-code-plan-usage-limits). If it says **no data**,
|
|
563
|
+
the status line is set but hasn't published them yet: they come with each
|
|
564
|
+
session's first response, and only with a subscription plan.
|
|
565
|
+
|
|
518
566
|
**An Antigravity tab doesn't show its status or the meter.** Look at the
|
|
519
567
|
`Status line` entry when the app starts, under the CLI. If it says it isn't
|
|
520
568
|
configured, or that there's another one, follow
|