@oddessentials/agent-guild 0.6.0 → 0.7.1
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 +185 -135
- package/package.json +1 -1
- package/src/manager/config.mjs +1 -0
- package/src/manager/github.mjs +842 -0
- package/src/manager/main.mjs +7 -3
- package/src/manager/server.mjs +43 -0
- package/src/manager/session-manager.mjs +32 -3
- package/src/manager/session.mjs +4 -1
- package/web/app.js +652 -3
- package/web/art/art.css +2 -0
- package/web/index.html +66 -4
- package/web/styles.css +73 -1
package/README.md
CHANGED
|
@@ -1,183 +1,233 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
interactive terminal: type instructions, answer prompts, watch output. Run
|
|
29
|
-
as many sessions at once as you like.
|
|
30
|
-
* **See agents and models at work.** When a coding tool reports helper
|
|
31
|
-
agents, they appear as small icons on that session's card. The card also
|
|
32
|
-
names the main model in use, reported by the tool or, failing that,
|
|
33
|
-
spotted on its screen.
|
|
34
|
-
* **Close the page any time.** A separate local session manager owns the
|
|
35
|
-
terminals. Reopen the page and it reconnects to the same sessions with
|
|
36
|
-
their screens intact, as long as the manager is still running. Sessions do
|
|
37
|
-
not survive a computer restart. **Restart manager** in the top bar ends
|
|
38
|
-
every session and starts a fresh manager, and the page reconnects to it by
|
|
39
|
-
itself; **Stop manager** ends every session and leaves the manager
|
|
40
|
-
stopped. Both ask first while any session is still running. The top bar
|
|
41
|
-
also shows the version you are running.
|
|
42
|
-
* **Stay current.** When a newer Agent Guild is on npm, an **Upgrade**
|
|
43
|
-
button appears in the top bar and runs `npm install -g` in a session you
|
|
44
|
-
can watch. Sessions keep running; once they are done, **Restart to use
|
|
45
|
-
vX.Y.Z** in the top bar switches to the new version.
|
|
46
|
-
* **Light or dark.** The page follows your system theme and the top-bar
|
|
47
|
-
toggle switches it.
|
|
48
|
-
|
|
49
|
-
## Requirements
|
|
50
|
-
|
|
51
|
-
* Windows 10 1809 or later, or macOS 11 or later. Linux works for development.
|
|
52
|
-
* Node.js 22 or newer.
|
|
53
|
-
* Each coding tool you want to use, signed in on its own. Agent Guild can
|
|
54
|
-
install the npm-packaged tools for you; it does not authenticate them.
|
|
55
|
-
|
|
56
|
-
node-pty ships prebuilt binaries for Windows, macOS and Linux on x64 and
|
|
57
|
-
arm64, so no compiler is needed. WSL is not required.
|
|
58
|
-
|
|
59
|
-
## Install and run
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="docs/images/banner.webp" alt="Agent Guild: Work hard, play hard. An agentic UI that enhances instead of hinders." width="100%">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://www.npmjs.com/package/@oddessentials/agent-guild"><img src="https://img.shields.io/npm/v/@oddessentials/agent-guild?color=7c5cff&label=npm" alt="npm version"></a>
|
|
7
|
+
<a href="https://github.com/oddessentials/agent-guild/actions/workflows/release.yml"><img src="https://img.shields.io/github/actions/workflow/status/oddessentials/agent-guild/release.yml?branch=main&label=release" alt="Release status"></a>
|
|
8
|
+
<img src="https://img.shields.io/badge/platforms-Windows%20%7C%20macOS%20%7C%20Linux-e8c47c" alt="Windows, macOS and Linux">
|
|
9
|
+
<img src="https://img.shields.io/node/v/@oddessentials/agent-guild?color=4cc38a" alt="Node.js version">
|
|
10
|
+
<a href="LICENSE"><img src="https://img.shields.io/github/license/oddessentials/agent-guild?color=a67cf6" alt="MIT license"></a>
|
|
11
|
+
<a href="https://www.youtube.com/watch?v=ziT62WtXQ1M"><img src="https://img.shields.io/badge/trailer-watch%20on%20YouTube-e5534b?logo=youtube&logoColor=white" alt="Watch the Agent Guild trailer on YouTube"></a>
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
**Agent Guild** runs Claude Code, Codex CLI, Gemini CLI, Grok Build and your
|
|
15
|
+
own shell side by side, in real terminals, from one local web page. Each
|
|
16
|
+
session is a card that shows what the tool is doing, which model it runs and
|
|
17
|
+
which helper agents it has summoned. Close the page whenever you like; the
|
|
18
|
+
sessions keep working.
|
|
19
|
+
|
|
20
|
+
See it in action in the [Agent Guild trailer](https://www.youtube.com/watch?v=ziT62WtXQ1M).
|
|
21
|
+
|
|
22
|
+
<picture>
|
|
23
|
+
<source media="(prefers-color-scheme: light)" srcset="docs/images/overview-light.webp">
|
|
24
|
+
<img src="docs/images/overview-dark.webp" alt="Agent Guild with one card per coding tool and six sessions at work">
|
|
25
|
+
</picture>
|
|
26
|
+
|
|
27
|
+
## Quick start
|
|
60
28
|
|
|
61
29
|
```sh
|
|
62
30
|
npm install -g @oddessentials/agent-guild
|
|
63
31
|
agent-guild
|
|
64
32
|
```
|
|
65
33
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
34
|
+
The page opens in your browser. Pick a provider, press **New**, and you are
|
|
35
|
+
in a live terminal.
|
|
36
|
+
|
|
37
|
+
**You need** Node.js 22 or newer on Windows 10 1809+, macOS 11+ or Linux
|
|
38
|
+
(x64 or arm64), and each coding tool you want to use, signed in on its own.
|
|
39
|
+
Agent Guild installs the tools for you but never handles your sign-in. No
|
|
40
|
+
compiler and no WSL are needed.
|
|
41
|
+
|
|
42
|
+
## Features
|
|
43
|
+
|
|
44
|
+
**Every major coding CLI, one place.** Claude Code, Codex CLI, Gemini CLI,
|
|
45
|
+
Grok Build and a plain shell each get a card. A tool that is missing shows
|
|
46
|
+
**Install**, which runs the install in a session you can watch. An installed
|
|
47
|
+
tool shows its version and offers **Update** when a newer one is out, using
|
|
48
|
+
the same installer that put it there: npm, Homebrew, WinGet or the vendor's
|
|
49
|
+
own.
|
|
50
|
+
|
|
51
|
+
**Real terminals that outlive the page.** Every session is a full interactive
|
|
52
|
+
terminal: type instructions, answer prompts, watch output. Run as many as you
|
|
53
|
+
like. A local session manager owns them, so you can close or reload the page
|
|
54
|
+
and come back to the same screens.
|
|
55
|
+
|
|
56
|
+
<img src="docs/images/terminal.webp" alt="An open Claude Code session with its helper agents shown in the header">
|
|
57
|
+
|
|
58
|
+
**Agents and models at work.** Helper agents that a tool starts appear on its
|
|
59
|
+
card as familiars while they run, and the card names the model in use. The
|
|
60
|
+
character comes alive while the session works, and the session's level rises
|
|
61
|
+
with every hour it runs.
|
|
62
|
+
|
|
63
|
+
**Several subscriptions per tool.** Add a work account next to your personal
|
|
64
|
+
one and switch with a chip on the card. Each account keeps its own sign-in,
|
|
65
|
+
usage meters and sessions. See [Accounts](docs/configuration.md#accounts).
|
|
66
|
+
|
|
67
|
+
**See what is left of your limits.** Claude Code, Codex CLI and Gemini CLI
|
|
68
|
+
cards show a meter for each rate-limit window, such as 5-hour and 7-day, with
|
|
69
|
+
the time until it resets. They also show your plan, Claude's extra-usage
|
|
70
|
+
spend and Codex's credit balance when the account has them. Any other tool
|
|
71
|
+
can supply a command that prints its usage.
|
|
72
|
+
|
|
73
|
+
**Pick the right model.** Each card grades the tool's newest fully
|
|
74
|
+
benchmarked model on coding, intelligence and agentic work, from S to D. Open it to compare every
|
|
75
|
+
model the tool offers across 13 benchmarks: Artificial Analysis indexes and
|
|
76
|
+
Design Arena results for websites, UI, game dev, data visualization, 3D, SVG,
|
|
77
|
+
web apps, full stack and mobile. It also shows context size and price.
|
|
78
|
+
|
|
79
|
+
<img src="docs/images/models.webp" alt="The Claude Code models dialog with benchmark tiers for each model">
|
|
80
|
+
|
|
81
|
+
**Pick up where you left off.** **Existing…** lists the tool's own earlier
|
|
82
|
+
sessions, newest first, read from where the tool keeps them. Filter by title,
|
|
83
|
+
folder or id and resume one in its own folder, or resume any session by id.
|
|
84
|
+
|
|
85
|
+
<img src="docs/images/history.webp" alt="The Claude Code session history with a filter and Resume buttons">
|
|
86
|
+
|
|
87
|
+
**Agentic development news.** A newsfeed gathers about 20 sources on AI
|
|
88
|
+
coding, agents and local models, including vendor blogs, Hacker News, arXiv,
|
|
89
|
+
and releases of the tools you have installed. The five latest headlines
|
|
90
|
+
appear on the page; **All news** opens the full feed with News, Releases and Research
|
|
91
|
+
filters.
|
|
92
|
+
|
|
93
|
+
<img src="docs/images/news.webp" alt="The news panel with today's items from news sources and tool releases">
|
|
94
|
+
|
|
95
|
+
**Always current.** When a new Agent Guild is published, **Upgrade to
|
|
96
|
+
vX.Y.Z** installs it while your sessions keep running, and **Restart to use
|
|
97
|
+
vX.Y.Z** switches over when you are ready. The version badge opens
|
|
98
|
+
**What's new** with the notes of every release.
|
|
99
|
+
|
|
100
|
+
<img src="docs/images/whats-new.webp" alt="The What's new panel listing the release notes of each version">
|
|
101
|
+
|
|
102
|
+
**Light or dark.** The page follows your system theme, and the top-bar
|
|
103
|
+
toggle switches it.
|
|
104
|
+
|
|
105
|
+
## Commands
|
|
69
106
|
|
|
70
107
|
| Command | What it does |
|
|
71
108
|
| --- | --- |
|
|
72
109
|
| `agent-guild` or `agent-guild open` | Start the manager if needed and open the page. `--no-browser` prints the URL instead. |
|
|
73
110
|
| `agent-guild status` | Show whether the manager is running and list its sessions. |
|
|
74
|
-
| `agent-guild stop` | Stop the manager
|
|
75
|
-
| `agent-guild restart` | Stop the manager and start it again
|
|
111
|
+
| `agent-guild stop` | Stop the manager, ending every session. |
|
|
112
|
+
| `agent-guild restart` | Stop the manager and start it again on the version installed on disk, ending every session. |
|
|
113
|
+
| `agent-guild url` | Print the page URL with its access token. |
|
|
76
114
|
| `agent-guild start` | Run the manager in the foreground, for debugging. |
|
|
77
|
-
| `agent-guild url` | Print the page URL with its token. |
|
|
78
115
|
|
|
79
|
-
|
|
80
|
-
|
|
116
|
+
The page's **Restart manager** and **Stop manager** buttons do the same as
|
|
117
|
+
`restart` and `stop`, but ask first while sessions are running. The page also
|
|
118
|
+
asks before you close it with sessions running. Sessions end when the manager
|
|
119
|
+
stops or the computer restarts.
|
|
81
120
|
|
|
82
|
-
##
|
|
121
|
+
## Configuration
|
|
83
122
|
|
|
84
|
-
|
|
123
|
+
Nothing needs configuring. To add a provider, change a command, sign in with
|
|
124
|
+
more than one account or point usage meters at your own command, create a
|
|
125
|
+
`providers.json` in the data folder:
|
|
85
126
|
|
|
86
127
|
| Platform | Data folder |
|
|
87
128
|
| --- | --- |
|
|
88
129
|
| Windows | `%APPDATA%\AgentGuild` |
|
|
89
130
|
| macOS | `~/Library/Application Support/AgentGuild` |
|
|
131
|
+
| Linux | `~/.config/agent-guild` |
|
|
90
132
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
one platform under a `win32` or `darwin` key. See
|
|
94
|
-
[examples/providers.json](examples/providers.json).
|
|
95
|
-
|
|
96
|
-
| Field | Meaning |
|
|
97
|
-
| --- | --- |
|
|
98
|
-
| `id` | Lowercase identifier. |
|
|
99
|
-
| `vendor`, `tool` | Names shown on the icon. |
|
|
100
|
-
| `command`, `args` | What to run. `command` is looked up on PATH. `@shell` means the user's default shell. |
|
|
101
|
-
| `package` | The tool's npm package, e.g. `@openai/codex`. Enables the **Install** button and the version check. |
|
|
102
|
-
| `channels` | How an installed copy is recognised, so **Update** runs that installation's own updater. A copy installed by npm needs no entry. `brew.names` lists the tool's own Homebrew formula or cask names, e.g. `{ "brew": { "names": ["gemini-cli"] } }`, and `winget.id` is its WinGet package id. A provider you add must set these for its Homebrew or WinGet copy to get an **Update** button or a removal command; without them that copy shows as an unknown install with guidance only. `native.paths` are the launcher and folders the vendor's own installer uses, and `native.update` the arguments that make the tool update itself, e.g. `["update"]`. |
|
|
103
|
-
| `versionArgs` | Arguments that make the command print its version, used instead of `args`, e.g. `["--version"]`. |
|
|
104
|
-
| `usage` | Where the usage meters come from: `"claude"`, `"codex"`, `"gemini"`, `{ "command", "args" }` for a program that prints `{ "windows": [{ "label", "usedPercent", "resetsAt" }] }`, or `null` for none. |
|
|
105
|
-
| `modelPattern` | Regular expression that finds the model name on the tool's screen when the tool does not report it. |
|
|
106
|
-
| `resumeArgs` | Arguments that resume the tool's own session, with `{id}` standing for the id, e.g. `["--resume", "{id}"]`. Without it the card has no **Existing** button. |
|
|
107
|
-
| `history` | Where the list of earlier sessions comes from: `"claude"`, `"codex"`, `"gemini"`, `"grok"` (the tool's own session files under its home folder), `{ "command", "args" }` for a program that prints `{ "sessions": [{ "id", "title", "cwd", "startedAt", "updatedAt" }] }`, or `null` for none, in which case **Existing** asks for an id. |
|
|
108
|
-
| `env` | Extra environment variables for the tool. |
|
|
109
|
-
| `accounts` | Further sign-ins of the tool, each in its own home folder, e.g. `[{ "id": "work", "label": "Work", "dir": "~/.claude-work" }]`. Without `dir`, the folder is `accounts/<provider>/<account>` in the data folder. The card shows one chip per account with its own meters, and a session starts under the chip picked; the tool signs in from inside the first session, and its reporting hooks are copied into the folder on first use. An entry with id `default` renames the tool's own sign-in. Needs `homeVar`. |
|
|
110
|
-
| `homeVar` | The environment variable that moves the tool's home folder, e.g. `CLAUDE_CONFIG_DIR`. Set for Claude Code, Codex CLI, Gemini CLI and Grok Build by default. |
|
|
111
|
-
| `accountEnv` | Further variables set for every account other than the default, with `{dir}` standing for the account's folder. By default Claude Code's secure-storage folder follows the account, and Gemini CLI keeps the account's sign-in in a file rather than the shared OS keychain. |
|
|
112
|
-
| `hooks` | `{ "path", "example" }`: the hooks file inside the home folder and the file in `examples/` copied there for a new account. |
|
|
113
|
-
| `color`, `monogram`, `icon` | Icon appearance. `icon` is a URL path; you can also drop `<id>.svg` into `web/icons/`. |
|
|
114
|
-
| `install`, `docs` | Help shown when the tool is not installed. |
|
|
115
|
-
| `usageUrl`, `billingUrl` | `https://` links to the vendor's usage and billing pages, shown on the card. The defaults point at the subscription pages; set your API console instead, or `null` to hide a link. Google's usage link opens AI Studio, which counts API-key usage only, not the Gemini CLI sign-in quota the card's meters show. |
|
|
116
|
-
|
|
117
|
-
The page's "Working folder" field sets where new sessions start. It defaults
|
|
118
|
-
to your home folder.
|
|
119
|
-
|
|
120
|
-
Version checks, for the tools and for Agent Guild itself, ask the registry
|
|
121
|
-
from npm's global configuration (the one `npm install -g` uses) about once
|
|
122
|
-
an hour, and installs use the same registry. Set `AGENT_GUILD_NPM_REGISTRY`
|
|
123
|
-
to override it for both, or `AGENT_GUILD_NO_UPDATE_CHECK=1` to skip the
|
|
124
|
-
checks.
|
|
133
|
+
The full reference, including every field and environment variable, is in
|
|
134
|
+
[docs/configuration.md](docs/configuration.md).
|
|
125
135
|
|
|
126
136
|
## Show agents and models
|
|
127
137
|
|
|
128
|
-
Agents are reported by the coding tool, not guessed from its output.
|
|
129
|
-
the hooks from the matching file in [examples/](examples/) to
|
|
130
|
-
Codex CLI, Gemini CLI or Grok Build
|
|
131
|
-
while it runs, and the card shows the model in use.
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
+
Agents are reported by the coding tool, not guessed from its output. To see
|
|
139
|
+
them, add the hooks from the matching file in [examples/](examples/) to
|
|
140
|
+
Claude Code, Codex CLI, Gemini CLI or Grok Build. Each helper agent then
|
|
141
|
+
appears on the card while it runs, and the card shows the model in use.
|
|
142
|
+
Without hooks, the card still names the model when it is given with
|
|
143
|
+
`--model` or shown on the tool's screen.
|
|
144
|
+
|
|
145
|
+
The hooks call `agent-guild-report`, which the manager puts on the PATH of
|
|
146
|
+
every session, so nothing else needs installing. Two tools need a one-time
|
|
147
|
+
approval:
|
|
148
|
+
|
|
149
|
+
* Codex CLI runs no hook until you trust it: choose "Trust all and continue"
|
|
150
|
+
when it starts, or run `/hooks`.
|
|
151
|
+
* Claude Code runs none until you accept its workspace-trust prompt.
|
|
152
|
+
|
|
153
|
+
Any other tool or script can report agents and its model too. See
|
|
138
154
|
[docs/agent-reporting.md](docs/agent-reporting.md).
|
|
139
155
|
|
|
140
|
-
## Security
|
|
156
|
+
## Security and privacy
|
|
141
157
|
|
|
142
158
|
* The manager listens on `127.0.0.1` only.
|
|
143
159
|
* Every API call needs a random per-user token, stored in the data folder
|
|
144
|
-
with owner-only permissions.
|
|
145
|
-
|
|
146
|
-
|
|
160
|
+
with owner-only permissions. Anyone who can run programs as your user can
|
|
161
|
+
read it, as with any local developer tool.
|
|
162
|
+
* Requests with a foreign `Host` or `Origin` header are refused, so other
|
|
163
|
+
websites cannot reach your terminals through your browser.
|
|
147
164
|
* Tools inside a session get a separate token that can only report agents
|
|
148
165
|
for that session.
|
|
149
|
-
*
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
166
|
+
* GitHub sign-ins, the SSH key Agent Guild makes for each GitHub account and
|
|
167
|
+
GitHub's SSH host keys are kept in the `github` folder of the data folder,
|
|
168
|
+
readable only by you. A clone uses only that key and those host keys; your
|
|
169
|
+
own `~/.ssh` and Git configuration are not read or changed.
|
|
170
|
+
* Usage meters are fetched by the manager with each tool's own sign-in. The
|
|
171
|
+
page only receives percentages. On macOS the first lookup may ask for
|
|
172
|
+
keychain access to the "Claude Code-credentials" and "gemini-cli-oauth"
|
|
173
|
+
items; choose Always Allow.
|
|
174
|
+
|
|
175
|
+
The manager makes these outbound requests, and none of them carry your code
|
|
176
|
+
or prompts:
|
|
177
|
+
|
|
178
|
+
| To | For | How often |
|
|
179
|
+
| --- | --- | --- |
|
|
180
|
+
| npm registry | Tool and Agent Guild version checks | About hourly; `AGENT_GUILD_NO_UPDATE_CHECK=1` turns them off |
|
|
181
|
+
| Anthropic, OpenAI and Google usage endpoints | Usage meters, with the tool's own sign-in | Every minute while the page is open |
|
|
182
|
+
| OpenRouter's public model list | Benchmarks | Every 6 hours |
|
|
183
|
+
| Public news feeds, Hacker News, arXiv and GitHub | The newsfeed | Every 30 minutes while the page is open |
|
|
184
|
+
| GitHub's releases API | What's new | Hourly |
|
|
185
|
+
| GitHub (sign-in, API, avatars and SSH) | Signing in to GitHub, listing your repositories, adding your SSH key and cloning | When you use **Clone from GitHub…** |
|
|
157
186
|
|
|
158
187
|
## Other front ends
|
|
159
188
|
|
|
160
|
-
The page is
|
|
161
|
-
[docs/api.md](docs/api.md)
|
|
162
|
-
|
|
163
|
-
for the icons, can drive the same sessions. See
|
|
189
|
+
The page is one client of the manager's local API, documented in
|
|
190
|
+
[docs/api.md](docs/api.md). Another interface, such as a planned Unreal Engine
|
|
191
|
+
guild hall, can drive the same sessions at the same time. See
|
|
164
192
|
[docs/architecture.md](docs/architecture.md).
|
|
165
193
|
|
|
166
194
|
## Development
|
|
167
195
|
|
|
168
196
|
```sh
|
|
197
|
+
git clone https://github.com/oddessentials/agent-guild.git
|
|
198
|
+
cd agent-guild
|
|
169
199
|
npm install
|
|
200
|
+
npm start # open the page, starting a manager from this checkout if none runs
|
|
170
201
|
npm test
|
|
171
202
|
```
|
|
172
203
|
|
|
173
|
-
The tests start real managers and real pseudo-terminals, using a small fake
|
|
174
|
-
coding tool in `tests/fixtures`. CI runs them on Windows, macOS and Linux
|
|
204
|
+
* The tests start real managers and real pseudo-terminals, using a small fake
|
|
205
|
+
coding tool in `tests/fixtures`. CI runs them on Windows, macOS and Linux
|
|
206
|
+
with Node.js 22, 24 and 26, and installs the packed package on x64 and
|
|
207
|
+
arm64.
|
|
208
|
+
* In a checkout, `launchers/AgentGuild.cmd` (Windows) and
|
|
209
|
+
`launchers/AgentGuild.command` (macOS) start Agent Guild with a
|
|
210
|
+
double-click.
|
|
211
|
+
* `node docs/capture/capture.mjs --root <folder>` refreshes the screenshots
|
|
212
|
+
in `docs/images` from the real page, with demo sessions in place of real
|
|
213
|
+
tools. The cards show the folder's path, so pick a neutral one such as
|
|
214
|
+
`D:\code` or `/work`. It needs Chrome or Edge and leaves any running
|
|
215
|
+
manager alone. See the comment at the top of the script for options.
|
|
216
|
+
* Pull request titles follow
|
|
217
|
+
[Conventional Commits](https://www.conventionalcommits.org/). Merging to
|
|
218
|
+
`main` publishes a release to npm and GitHub when it includes a `feat`,
|
|
219
|
+
`fix`, `perf` or `revert`.
|
|
175
220
|
|
|
176
221
|
## Current limits
|
|
177
222
|
|
|
178
223
|
* Sessions end when the manager stops or the computer restarts.
|
|
224
|
+
* Grok Build has no usage meter.
|
|
179
225
|
* Gemini CLI usage meters read its sign-in where Gemini CLI keeps it:
|
|
180
|
-
`oauth_creds.json`, or with `GEMINI_FORCE_ENCRYPTED_FILE_STORAGE=true`
|
|
181
|
-
|
|
182
|
-
credentials file. A sign-in kept in the Windows Credential Manager
|
|
183
|
-
|
|
226
|
+
`oauth_creds.json`, or with `GEMINI_FORCE_ENCRYPTED_FILE_STORAGE=true` the
|
|
227
|
+
OS keychain (macOS, or Linux with `secret-tool`) or its encrypted
|
|
228
|
+
credentials file. A sign-in kept in the Windows Credential Manager cannot
|
|
229
|
+
be read.
|
|
230
|
+
|
|
231
|
+
## License
|
|
232
|
+
|
|
233
|
+
[MIT](LICENSE) © Odd Essentials
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oddessentials/agent-guild",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Launch and watch AI coding-assistant terminal sessions from one local web page. A bundled session manager owns the terminals so the page can close and reconnect.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
package/src/manager/config.mjs
CHANGED
|
@@ -43,6 +43,7 @@ export const paths = {
|
|
|
43
43
|
get runtime() { return path.join(dataDir(), 'manager.json'); },
|
|
44
44
|
get providers() { return path.join(dataDir(), 'providers.json'); },
|
|
45
45
|
get accounts() { return path.join(dataDir(), 'accounts'); },
|
|
46
|
+
get github() { return path.join(dataDir(), 'github'); },
|
|
46
47
|
get log() { return path.join(dataDir(), 'manager.log'); },
|
|
47
48
|
/** Launchers for agent-guild-report, put first on every session's PATH. */
|
|
48
49
|
get shims() { return path.join(dataDir(), 'bin'); },
|