agent-workbench 0.5.4 → 0.7.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 +61 -33
- package/dist/server.js +4443 -664
- package/dist/web/assets/de-CmDQFS83.js +1 -0
- package/dist/web/assets/es-kfFlJ6C6.js +1 -0
- package/dist/web/assets/fr-CgQRflYh.js +1 -0
- package/dist/web/assets/{highlight-BeEbartE.js → highlight-DsNwA50i.js} +1 -1
- package/dist/web/assets/index-mQpsIj-O.js +149 -0
- package/dist/web/assets/index-vJBDG99a.css +32 -0
- package/dist/web/assets/ja-BPlbe60x.js +1 -0
- package/dist/web/assets/ko-DeqZlJbl.js +1 -0
- package/dist/web/assets/pt-BR-Czz2tUjz.js +1 -0
- package/dist/web/assets/ru-Dxhm5BY3.js +1 -0
- package/dist/web/assets/zh-CN-CldKBtQb.js +1 -0
- package/dist/web/index.html +2 -2
- package/package.json +5 -2
- package/dist/web/assets/de-Dn90shDf.js +0 -1
- package/dist/web/assets/es-ssi17uPF.js +0 -1
- package/dist/web/assets/fr-CqnouzuH.js +0 -1
- package/dist/web/assets/index-D4OE_EfT.css +0 -32
- package/dist/web/assets/index-zFKk_FJ_.js +0 -139
- package/dist/web/assets/ja-1U-Ks_ON.js +0 -1
- package/dist/web/assets/ko-Ce2gOy44.js +0 -1
- package/dist/web/assets/pt-BR-BC8Km40N.js +0 -1
- package/dist/web/assets/ru-DFCLMfWY.js +0 -1
- package/dist/web/assets/zh-CN-VwZ7SeiK.js +0 -1
package/README.md
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
**English** · [Español](https://github.com/cvelasquez/agent-workbench/blob/main/README.es.md) · [简体中文](https://github.com/cvelasquez/agent-workbench/blob/main/README.zh-CN.md) · [日本語](https://github.com/cvelasquez/agent-workbench/blob/main/README.ja.md) · [Português (Brasil)](https://github.com/cvelasquez/agent-workbench/blob/main/README.pt-BR.md) · [Русский](https://github.com/cvelasquez/agent-workbench/blob/main/README.ru.md) · [한국어](https://github.com/cvelasquez/agent-workbench/blob/main/README.ko.md) · [Français](https://github.com/cvelasquez/agent-workbench/blob/main/README.fr.md) · [Deutsch](https://github.com/cvelasquez/agent-workbench/blob/main/README.de.md)
|
|
9
9
|
|
|
10
10
|
**A visual workbench for the coding agents you already use: the Claude Code,
|
|
11
|
-
Codex, OpenCode and
|
|
12
|
-
your browser. It uses the CLIs you already have installed and logged in, never
|
|
11
|
+
Codex, OpenCode, Antigravity and Pi CLIs.** It runs on your computer and opens
|
|
12
|
+
in your browser. It uses the CLIs you already have installed and logged in, never
|
|
13
13
|
touches your credentials, and makes no network calls of its own.
|
|
14
14
|
|
|
15
15
|
```bash
|
|
@@ -21,8 +21,8 @@ npx agent-workbench
|
|
|
21
21
|
## How it works
|
|
22
22
|
|
|
23
23
|
Agent Workbench doesn't talk to any AI service. It starts the CLI you already
|
|
24
|
-
have —`claude`, `codex`, `opencode` or `
|
|
25
|
-
around it what a terminal alone doesn't give you: tabs, your past
|
|
24
|
+
have —`claude`, `codex`, `opencode`, `agy` or `pi`— inside a real terminal, and
|
|
25
|
+
adds around it what a terminal alone doesn't give you: tabs, your past
|
|
26
26
|
conversations, the conversation as easy-to-read cards, a context meter, the
|
|
27
27
|
files that changed and a file tree.
|
|
28
28
|
|
|
@@ -38,12 +38,12 @@ 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. |
|
|
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. |
|
|
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. |
|
|
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
43
|
| **Context meter** | How much of the model's context window the conversation is using. Tokens, never money. |
|
|
44
44
|
| **Changes** | The branch, the changed files and their diff. **Read-only**: no commit or push buttons. |
|
|
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. |
|
|
46
|
-
| **Plans** | The plans and `.md` documents the conversation wrote, rendered. |
|
|
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
|
+
| **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. |
|
|
49
49
|
| **Continue with…** | With more than one CLI, continue a conversation with another one in the same folder. The new agent starts from a transcript of the last turns. |
|
|
@@ -68,20 +68,20 @@ Each session and each tab shows a small badge with its CLI, and the `+` for a
|
|
|
68
68
|
new tab lets you pick which one to open. With a single CLI you see none of
|
|
69
69
|
this.
|
|
70
70
|
|
|
71
|
-
<img src="https://raw.githubusercontent.com/cvelasquez/agent-workbench/main/assets/captura-clis.png" width="45%" alt="The projects sidebar with sessions from several CLIs, each with its badge, and the + menu with the
|
|
71
|
+
<img src="https://raw.githubusercontent.com/cvelasquez/agent-workbench/main/assets/captura-clis.png" width="45%" alt="The projects sidebar with sessions from several CLIs, each with its badge, and the + menu with the five CLIs and their versions">
|
|
72
72
|
|
|
73
73
|
**Not every CLI shares the same information**, so a few features depend on the
|
|
74
74
|
CLI:
|
|
75
75
|
|
|
76
|
-
| | Claude Code | Codex | OpenCode | Antigravity CLI |
|
|
77
|
-
|
|
78
|
-
| Tab dot: working, idle, waiting for you | ✓ | — | ✓ ¹ | ✓ ² |
|
|
79
|
-
| Answer the agent's questions from the conversation | ✓ | — | ✓ ¹ | — |
|
|
80
|
-
| Context meter | ✓ | ✓ | ✓ | ✓ ² |
|
|
81
|
-
| Mode and model pickers | ✓ | — | — | ✓ |
|
|
82
|
-
| Paste images | ✓ | ✓ | ✓ | — |
|
|
83
|
-
| Plans tab | ✓ | — | — | — |
|
|
84
|
-
| Send a note to a new conversation | ✓ | — | — | — |
|
|
76
|
+
| | Claude Code | Codex | OpenCode | Antigravity CLI | Pi |
|
|
77
|
+
|---|:---:|:---:|:---:|:---:|:---:|
|
|
78
|
+
| Tab dot: working, idle, waiting for you | ✓ | — | ✓ ¹ | ✓ ² | ✓ |
|
|
79
|
+
| Answer the agent's questions from the conversation | ✓ | — | ✓ ¹ | — | — |
|
|
80
|
+
| Context meter | ✓ | ✓ | ✓ | ✓ ² | ✓ |
|
|
81
|
+
| Mode and model pickers | ✓ | — | — | ✓ | ✓ ³ |
|
|
82
|
+
| Paste images | ✓ | ✓ | ✓ | — | ✓ ³ |
|
|
83
|
+
| Plans tab | ✓ | — | — | — | — |
|
|
84
|
+
| Send a note to a new conversation | ✓ | — | — | — | — |
|
|
85
85
|
|
|
86
86
|
The CLI's own terminal is always there for the rest: where there's a "—",
|
|
87
87
|
questions, for example, are answered in it.
|
|
@@ -90,6 +90,9 @@ questions, for example, are answered in it.
|
|
|
90
90
|
([details](#your-data-and-security)).
|
|
91
91
|
² Only if you set up its status line
|
|
92
92
|
([how](#antigravity-cli-status-and-context-meter)).
|
|
93
|
+
³ Pi has no permission modes: its pickers are the model and the thinking level.
|
|
94
|
+
And it doesn't attach what you paste: an image travels as a file path that the
|
|
95
|
+
model opens itself.
|
|
93
96
|
|
|
94
97
|
---
|
|
95
98
|
|
|
@@ -107,6 +110,7 @@ questions, for example, are answered in it.
|
|
|
107
110
|
| Codex | `codex` | [guide](https://learn.chatgpt.com/docs/codex/cli) |
|
|
108
111
|
| OpenCode | `opencode` | [documentation](https://opencode.ai/docs/) |
|
|
109
112
|
| Antigravity CLI | `agy` | [guide](https://antigravity.google/docs/cli/getting-started) |
|
|
113
|
+
| Pi | `pi` | [pi.dev](https://pi.dev) |
|
|
110
114
|
|
|
111
115
|
Agent Workbench doesn't include or download any CLI: it finds the ones in your
|
|
112
116
|
`PATH`. If there are none, it tells you so and doesn't open sessions.
|
|
@@ -172,7 +176,7 @@ as in Windows Terminal.
|
|
|
172
176
|
### Shared memory between CLIs
|
|
173
177
|
|
|
174
178
|
Each CLI keeps what it learns about a project in its own place, and the others
|
|
175
|
-
can't see it. The **Memory** tab sets up one memory for all
|
|
179
|
+
can't see it. The **Memory** tab sets up one memory for all of them: notes in the
|
|
176
180
|
project's `.agents/memory/` folder, which every CLI reads and writes —from here
|
|
177
181
|
or from its own terminal— through `AGENTS.md` and `CLAUDE.md`. The tab is hidden
|
|
178
182
|
at first: show it from ⚙ Settings.
|
|
@@ -182,7 +186,7 @@ touched until you confirm. Setting it up imports the memory Claude Code already
|
|
|
182
186
|
had for that project. The app doesn't edit each CLI's global settings: it gives
|
|
183
187
|
you the snippet to paste yourself.
|
|
184
188
|
|
|
185
|
-
<img src="https://raw.githubusercontent.com/cvelasquez/agent-workbench/main/assets/captura-memoria.png" width="70%" alt="The Memory tab with the bridge installed for the
|
|
189
|
+
<img src="https://raw.githubusercontent.com/cvelasquez/agent-workbench/main/assets/captura-memoria.png" width="70%" alt="The Memory tab with the bridge installed for the five CLIs and the imported notes">
|
|
186
190
|
|
|
187
191
|
### Backup of your history
|
|
188
192
|
|
|
@@ -390,15 +394,20 @@ app keeps on the phone and the permissions it asks for are in
|
|
|
390
394
|
|
|
391
395
|
## Your data and security
|
|
392
396
|
|
|
393
|
-
- **
|
|
394
|
-
of its own.
|
|
395
|
-
|
|
397
|
+
- **Agent Workbench sends nothing anywhere.** No telemetry, no analytics, no
|
|
398
|
+
network calls of its own. The Android app talks only to your computer.
|
|
399
|
+
- **Each CLI still does on its own what it would do if you opened it by hand:**
|
|
400
|
+
it talks to its AI provider, and it may check for updates or send its own
|
|
401
|
+
usage data. Agent Workbench doesn't add anything to that, and it doesn't turn
|
|
402
|
+
it off either: it doesn't change any CLI's settings. What each CLI sends is
|
|
403
|
+
in its own documentation.
|
|
396
404
|
- **It never touches your credentials.** There's no login screen: if a CLI asks
|
|
397
405
|
you to log in, you do it in its own terminal, and the app doesn't even notice.
|
|
398
406
|
- **It reads the CLIs' history and writes nothing in their folders.** The table
|
|
399
407
|
below lists what it reads and what it never opens.
|
|
400
|
-
- **It writes only in its own folders**, plus
|
|
401
|
-
only if you confirm it
|
|
408
|
+
- **It writes only in its own folders**, plus two things in your projects: the
|
|
409
|
+
shared memory, only if you confirm it, and a file you edit and save yourself
|
|
410
|
+
in the Files tab.
|
|
402
411
|
- **The server listens only on your computer** (`127.0.0.1`), on a random port,
|
|
403
412
|
with a new random token on every start, and it rejects requests coming from
|
|
404
413
|
other web pages. Remote access doesn't change that: the port becomes a fixed
|
|
@@ -414,6 +423,7 @@ app keeps on the phone and the permissions it asks for are in
|
|
|
414
423
|
| Codex | From `~/.codex/` (or `CODEX_HOME`): `sessions/` and `archived_sessions/` | `auth.json`, `config.toml` or its `*.sqlite` databases |
|
|
415
424
|
| 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 |
|
|
416
425
|
| 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 |
|
|
426
|
+
| Pi | From `~/.pi/agent/` (or `PI_CODING_AGENT_DIR`): the sessions in `sessions/`, and `models-store.json`, its model catalog, for the context window size and the model picker. From the installed Pi package: its `package.json`, to know the version without running Pi, and its built-in model list | `auth.json`, `models.json`, `settings.json` or its MCP configuration |
|
|
417
427
|
|
|
418
428
|
The [backup importers](#backup-of-your-history), when you run them, also read
|
|
419
429
|
what their section says. The full list, file by file, is in
|
|
@@ -448,6 +458,11 @@ password, and it doesn't reach any tab: each OpenCode tab gets it on its command
|
|
|
448
458
|
line (`attach --password`), where other programs running as your user can see
|
|
449
459
|
it. It only works for that server and stops working when you close the app.
|
|
450
460
|
|
|
461
|
+
**What Pi sends on its own.** When it starts, Pi checks pi.dev for its latest
|
|
462
|
+
version and its model catalog, and it reports each install and update there.
|
|
463
|
+
You turn that report off in Pi, not here: `enableInstallTelemetry: false` in
|
|
464
|
+
Pi's settings, or the `PI_TELEMETRY=0` environment variable.
|
|
465
|
+
|
|
451
466
|
**What the app writes:**
|
|
452
467
|
|
|
453
468
|
- **In its own configuration folder:** the open tabs, the index cache, the
|
|
@@ -460,9 +475,12 @@ it. It only works for that server and stops working when you close the app.
|
|
|
460
475
|
deleted on the first start after it's 24 hours old; and the transcript of a
|
|
461
476
|
conversation you continue with another CLI, deleted when you close that tab
|
|
462
477
|
or after 24 hours.
|
|
463
|
-
- **In your projects,
|
|
464
|
-
|
|
465
|
-
`AGENTS.md` and `CLAUDE.md`, and to a few lines at the end of `.gitignore
|
|
478
|
+
- **In your projects, two things only:** the shared memory, only if you
|
|
479
|
+
confirm, limited to `.agents/memory/`, to what's between its markers in
|
|
480
|
+
`AGENTS.md` and `CLAUDE.md`, and to a few lines at the end of `.gitignore`;
|
|
481
|
+
and a file you edit in the Files tab, when you save it. That only replaces the
|
|
482
|
+
contents of a file that already exists: nothing is created, renamed or
|
|
483
|
+
deleted, and nothing is written in a CLI's folder.
|
|
466
484
|
|
|
467
485
|
</details>
|
|
468
486
|
|
|
@@ -473,10 +491,20 @@ it. It only works for that server and stops working when you close the app.
|
|
|
473
491
|
## Troubleshooting
|
|
474
492
|
|
|
475
493
|
**"The "claude" command wasn't found in the PATH", followed by "Also works
|
|
476
|
-
with: …"** — the app didn't find any of the
|
|
494
|
+
with: …"** — the app didn't find any of the CLIs. Check with
|
|
477
495
|
`where claude` on Windows (`which claude` elsewhere), and the same with `codex`,
|
|
478
|
-
`opencode` or `
|
|
479
|
-
the app was open, restart it.
|
|
496
|
+
`opencode`, `agy` or `pi`. CLIs are looked up at startup: if you installed one
|
|
497
|
+
while the app was open, restart it.
|
|
498
|
+
|
|
499
|
+
**Pi is installed, but the app doesn't see it.** The app doesn't run `pi` to
|
|
500
|
+
find it: it reads the version from Pi's package, next to the command. That
|
|
501
|
+
works when Pi was installed with npm or with the pi.dev installer; a standalone
|
|
502
|
+
`pi` binary isn't recognized. And if another program called `pi` comes first
|
|
503
|
+
in your `PATH`, the app ignores it and says so in its console.
|
|
504
|
+
|
|
505
|
+
**In a Pi tab, the message box says the CLI is waiting for an answer.** Pi is
|
|
506
|
+
asking whether to trust the project folder. Answer it in the **CLI** tab: the
|
|
507
|
+
app never answers that for you.
|
|
480
508
|
|
|
481
509
|
**OpenCode's history doesn't show up.** Look at the `History` line when the app
|
|
482
510
|
starts. If it says that Node version doesn't include `node:sqlite`, update Node
|
|
@@ -607,5 +635,5 @@ once per version, in a strip you can close, and never again until the next one.
|
|
|
607
635
|
MIT. See [`LICENSE`](LICENSE).
|
|
608
636
|
|
|
609
637
|
Agent Workbench is an independent project. It works with the Claude Code,
|
|
610
|
-
Codex, OpenCode and
|
|
611
|
-
by Anthropic, OpenAI, the OpenCode authors or
|
|
638
|
+
Codex, OpenCode, Antigravity and Pi CLIs, but it is not affiliated with or
|
|
639
|
+
endorsed by Anthropic, OpenAI, the OpenCode authors, Google or Earendil.
|