@hanskristoffer/agentpool 0.9.0 → 0.11.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 +12 -14
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ npm install -g @hanskristoffer/agentpool # installs the `agentgate` command (a
|
|
|
28
28
|
Without npm:
|
|
29
29
|
|
|
30
30
|
```sh
|
|
31
|
-
curl -fsSL https://raw.githubusercontent.com/HansKristoffer/agentgate/main/install.sh |
|
|
31
|
+
curl -fsSL https://raw.githubusercontent.com/HansKristoffer/agentgate/main/install.sh | sh
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
Or from source: `bun install && bun run build` (binaries land in `dist/`), or run `bun run cli -- …` directly.
|
|
@@ -54,16 +54,14 @@ There are two ways to connect machines, and a machine can use both:
|
|
|
54
54
|
- **Same network (Tailscale):** both machines are on your tailnet. Pairing uses a code that expires after 10 minutes.
|
|
55
55
|
- **Relay:** works across any network, without Tailscale. Every record is encrypted before it leaves the machine; the relay stores only ciphertext and can't read your credentials.
|
|
56
56
|
|
|
57
|
-
On the first machine, run `agentgate pair
|
|
57
|
+
On the first machine, run `agentgate pair` or use **Pair a machine** in the app. In a terminal it asks which method to use; `--tailnet` and `--relay` skip the question. It prints one command to run on the server, which installs agentgate, joins, runs `agentgate setup` and installs the service (on Linux this also runs `loginctl enable-linger` so it survives logout/reboot):
|
|
58
58
|
|
|
59
59
|
```sh
|
|
60
|
-
agentgate
|
|
61
|
-
agentgate join http://mac.<tailnet>.ts.net:7878 <code> # Tailscale
|
|
62
|
-
agentgate join agr1.… # relay
|
|
63
|
-
agentgate setup
|
|
64
|
-
agentgate service install # also runs `loginctl enable-linger` so it survives logout/reboot
|
|
60
|
+
curl -fsSL https://raw.githubusercontent.com/HansKristoffer/agentgate/main/install.sh | sh -s -- join agr1.…
|
|
65
61
|
```
|
|
66
62
|
|
|
63
|
+
If agentgate is already installed there, `agentgate join agr1.…` (relay) or `agentgate join http://mac.<tailnet>.ts.net:7878 <code>` (Tailscale) joins without reinstalling. Mark an always-on server with `agentgate init --always-on` or the **Always on** switch.
|
|
64
|
+
|
|
67
65
|
The server now has every account, MCP instance and repo mapping, and takes over token refreshes.
|
|
68
66
|
|
|
69
67
|
**The relay invite never expires and is a master key.** Anyone who has it can read every account and MCP login, so share it privately. If it leaks, run `agentgate relay rotate` and have every relay machine join again with the new command. Removing a relay machine (`agentgate unpair <node>` or **Remove** in the app) rotates the same way. A rotation can't revoke Tailscale links, so also unpair the removed machine on every machine you keep. By default it uses the hosted relay at `https://agentgate-relay.hanskristoffer.dk`. To use your own instead, deploy `apps/relay` to your Cloudflare account (see [the relay](docs/operations/relay.md#deploying-and-self-hosting)) and pass `--relay-url`, or set `AGENTGATE_RELAY_URL`. `agentgate relay status` shows sync state and errors.
|
|
@@ -105,11 +103,11 @@ agentgate project set Lullu-ai/lullu posthog=posthog-lullu
|
|
|
105
103
|
agentgate mcp test posthog-lullu
|
|
106
104
|
```
|
|
107
105
|
|
|
108
|
-
|
|
106
|
+
A server can have any name, such as "PostHog Lullu"; its slug (`posthog-lullu`) becomes its id and the default tool prefix, and `agentgate mcp label <id> <name>` changes only the name shown in the app. The alias is the tool prefix: in every repo mapped to `posthog-lullu` under the alias `posthog`, the agent sees `posthog__…` tools that reach that repo's PostHog project. The repo is taken from `git remote get-url origin` in the session's working directory (override with `AGENTGATE_PROJECT=owner/repo`). Mapping changes reach running sessions without a restart.
|
|
109
107
|
|
|
110
108
|
## Skills per repo
|
|
111
109
|
|
|
112
|
-
Skills are installed once and synced to every machine like MCP servers; you choose which repos use each one. In the native app
|
|
110
|
+
Skills are installed once and synced to every machine like MCP servers; you choose which repos use each one. In the native app, **Skills → Add skills** offers each source as a tab: **skills.sh** searches the [skills.sh](https://skills.sh) directory, **Source** uses the pinned `skills@1.7.0` CLI and accepts (`owner/repo`, `owner/repo@skill`, a Git or GitHub URL, a folder), and **Write** writes a SKILL.md by hand. Then pick **Every session** or specific repos.
|
|
113
111
|
|
|
114
112
|
```sh
|
|
115
113
|
agentgate skills find postgres
|
|
@@ -117,11 +115,11 @@ agentgate skills add vercel-labs/agent-skills --skill web-design-guidelines --pr
|
|
|
117
115
|
agentgate skills add ./my-skill --project '*'
|
|
118
116
|
agentgate skills new release-notes --file SKILL.md
|
|
119
117
|
agentgate skills projects web-design-guidelines Lullu-ai/lullu other/repo
|
|
120
|
-
agentgate skills update # refetch every installed skill
|
|
118
|
+
agentgate skills update # refetch every installed skill now (the daemon does it hourly)
|
|
121
119
|
agentgate skills prepare . # wait for checkout links before launching an agent
|
|
122
120
|
```
|
|
123
121
|
|
|
124
|
-
**
|
|
122
|
+
**Synced repo** keeps a public repository's skills in sync instead of copying them once: agentgate installs every skill in its `.claude/skills` and `.agents/skills` folders, asks whether they are for every session or specific repos, and checks for new commits every 10 minutes. New skills in the repository are used where it is connected, and skills removed from it are removed. To stop using one of its skills, unlink it from its projects; disconnecting removes them all.
|
|
125
123
|
|
|
126
124
|
```sh
|
|
127
125
|
agentgate skills repo add https://github.com/owner/team-skills --project '*'
|
|
@@ -134,13 +132,13 @@ Fetching needs Node (`npx`) or Bun (`bunx`) on the daemon's machine, and connect
|
|
|
134
132
|
- **Every session**: the Claude and Codex folders `agentgate setup` writes (`~/.config/agentgate/{claude,codex}/skills`), plus `~/.claude/skills` and `~/.codex/skills` while `setup --primary` is on.
|
|
135
133
|
- **One repo**: `.claude/skills/<name>` in the main checkout (Claude Code falls back to it from worktrees) and `.agents/skills/<name>` in the main checkout and every worktree (Codex). The entries are added to `.git/info/exclude`.
|
|
136
134
|
|
|
137
|
-
Claude Code and Codex read skills before a session's MCP servers start, so repo links must exist ahead of time. A repo is known on a machine after its first agentgate session there, or after **
|
|
135
|
+
Claude Code and Codex read skills before a session's MCP servers start, so repo links must exist ahead of time. A repo is known on a machine after its first agentgate session there, or after a scan under Projects → **Add project** → **Find on this machine**; from then on its worktrees are watched and new ones are linked with bounded retries and independent periodic repair. Register or scan a checkout before launching its first session; watcher timing cannot guarantee first-session readiness. Changes apply to new sessions. Agentgate never replaces a folder it did not create: a name clash is listed under Skills → Skills need attention. Skills run with your agent's permissions and are copied to every paired machine, so install only sources you trust; the app shows the skills.sh audit before installing.
|
|
138
136
|
|
|
139
|
-
The app installs the exact files shown in a preview. Previews expire after ten minutes or cache eviction; preview again to continue. Editing checks the saved revision and reports a conflict if another client or peer changed the skill. Skills → **Skills need attention** shows failed local materialization/link work, which the daemon retries automatically.
|
|
137
|
+
The app installs the exact files shown in a preview. Previews expire after ten minutes or cache eviction; preview again to continue. Skills installed from skills.sh, a source or a connected repository follow it and can't be edited; only hand-written skills can. Editing checks the saved revision and reports a conflict if another client or peer changed the skill. Skills → **Skills need attention** shows failed local materialization/link work, which the daemon retries automatically.
|
|
140
138
|
|
|
141
139
|
Bundles must contain a nonempty root `SKILL.md`, with unique portable paths and regular files. Symlinks and special files cannot be synced. Each bundle is limited to 3 MiB of base64 data (about 2.25 MiB of files) and 5,000 files; imports are limited to 100 skills and 24 MiB per pack. Large sources can be imported with `--skill` one skill at a time.
|
|
142
140
|
|
|
143
|
-
Repository-owned skills are mirrored only when you opt in
|
|
141
|
+
Repository-owned skills are mirrored only when you opt in with **Share repo skills between Claude and Codex** in a project's ⋯ menu in Projects. Mirroring creates relative links that can be reviewed and committed. Stopping mirroring stops future maintenance and leaves existing links in place; repository-owned links are preserved.
|
|
144
142
|
|
|
145
143
|
## Your MCP servers and skills in Grok
|
|
146
144
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hanskristoffer/agentpool",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
"agentgate": "bin/agentpool.js"
|
|
23
23
|
},
|
|
24
24
|
"optionalDependencies": {
|
|
25
|
-
"agentpool-darwin-arm64": "0.
|
|
26
|
-
"agentpool-darwin-x64": "0.
|
|
27
|
-
"agentpool-linux-x64": "0.
|
|
28
|
-
"agentpool-linux-arm64": "0.
|
|
25
|
+
"agentpool-darwin-arm64": "0.11.0",
|
|
26
|
+
"agentpool-darwin-x64": "0.11.0",
|
|
27
|
+
"agentpool-linux-x64": "0.11.0",
|
|
28
|
+
"agentpool-linux-arm64": "0.11.0"
|
|
29
29
|
}
|
|
30
30
|
}
|