@hanskristoffer/agentpool 0.23.0 → 0.25.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 +13 -3
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -74,6 +74,15 @@ An Infisical login expires after a few days and can't be renewed, so you have to
|
|
|
74
74
|
|
|
75
75
|
To control the server from the native app over Tailscale, open the connection settings at the bottom of the sidebar, enter `http://srv.<tailnet>.ts.net:7878`, and paste the token printed by `agentgate admin-token` on the server. Remote management uses bearer authentication over Tailscale. The relay carries sync only, not remote management.
|
|
76
76
|
|
|
77
|
+
## Machine dashboard
|
|
78
|
+
|
|
79
|
+
Each machine can show its own health: CPU, load, memory, disk, time spent waiting for CPU, memory or disk, disk and network traffic, the agents and CI runners it is running, Docker's disk use and containers, the programs using the most CPU, and the last hour as charts. In **Machines**, turn on **Dashboard** for a machine, then **Open dashboard** opens it in your browser. The page is `/health` on the machine's address, and `agentgate dashboard on|off [--node <node>]` switches it from the CLI.
|
|
80
|
+
|
|
81
|
+
- It runs on Linux machines only, since it reads `/proc`. On a Mac, opening it only says so.
|
|
82
|
+
- Anyone on your tailnet can open it without signing in, as they could the server health page before. It shows program names and resource use, never command lines, credentials or accounts. Turn it off on machines you don't want it on.
|
|
83
|
+
- Turning it on waits until every machine runs this release, because older releases drop the setting when they save a machine's record.
|
|
84
|
+
- The history is kept in memory for the last hour, so a restart starts the charts over.
|
|
85
|
+
|
|
77
86
|
## T3 Code
|
|
78
87
|
|
|
79
88
|
`agentgate setup` writes a Claude config dir (whose `settings.json` points Claude Code at the daemon) and a Codex home. In T3 Code, add one provider instance per provider:
|
|
@@ -93,7 +102,7 @@ One instance per provider covers every account; the daemon switches eligible acc
|
|
|
93
102
|
|
|
94
103
|
### Hand threads between machines
|
|
95
104
|
|
|
96
|
-
Start a thread on your laptop, hand it to an always-on server while you are away, and hand it back to test and push. A handed-off thread moves with its Claude session and its code: unpushed commits and uncommitted and
|
|
105
|
+
Start a thread on your laptop, hand it to an always-on server while you are away, and hand it back to test and push. A handed-off thread moves with its Claude session and its code: unpushed commits and uncommitted, untracked and gitignored files, such as plans in `.plans`. Dependency and build folders such as `node_modules`, `.venv`, `target` and `dist` stay behind, and the other machine's setup script makes them again. [Env files](#env-files-between-machines) the repository saves for every machine travel through their own store instead, so each machine keeps its own. Code travels directly between the two machines over Tailscale, or end-to-end encrypted through the relay; nothing is pushed to `origin`.
|
|
97
106
|
|
|
98
107
|
Connect agentgate to the T3 Code on each machine once: on the T3 Code page open **Machines** and choose **Connect T3 Code** in that machine's row, or run `agentgate t3 connect` there (`--node srv` sets up another machine from the one you are on). T3 Code must be running on that machine; its own `t3` command creates a pairing link that agentgate redeems right away, over that machine only. Pair again the same way when agentgate asks. If that machine has no `t3` command, create a link in T3 Code under **Settings → Connections** (turn on **Network access**, then **Create link** with **Standard** permissions) and paste it into **Connect with a pasted link**, or run `agentgate t3 connect <link>`. The machines must be paired over Tailscale or in the same relay group. A handoff moves the session between the Claude homes T3 Code's Claude provider uses on each machine, whether that is `~/.claude` or the agentgate home above.
|
|
99
108
|
|
|
@@ -110,9 +119,10 @@ In the app, the **T3 Code** page shows every machine's threads with **To server*
|
|
|
110
119
|
|
|
111
120
|
What to expect:
|
|
112
121
|
|
|
113
|
-
- A working thread is stopped, moved, and continued on the other machine. On the source it is archived, and the uncommitted changes that were sent are kept in a `git stash` so the worktree is clean for the return trip. That stash is dropped when the thread comes back, because its changes come back with it.
|
|
122
|
+
- A working thread is stopped, moved, and continued on the other machine. On the source it is archived, and the uncommitted changes that were sent are kept in a `git stash` so the worktree is clean for the return trip. That stash is dropped when the thread comes back, because its changes come back with it. Gitignored files stay where they are, and the versions that come back replace them.
|
|
114
123
|
- The other machine reuses a worktree already on the thread's branch, or creates one and runs the project's setup script. Later trips reuse it, so setup runs once per branch and machine.
|
|
115
124
|
- If the other machine's checkout has its own changes or commits, it keeps them and the handoff reports a warning. Your uncommitted changes then stay where they were.
|
|
125
|
+
- If the other machine has its own version of a gitignored file the thread brings, such as a plan edited there, that version goes to a `git stash` there and the handoff reports a warning.
|
|
116
126
|
- The first time a thread arrives on a machine, T3 Code fails the first message sent to it there. agentgate sends that message for you, asking the agent to reply "Ready", and sends it again when it fails, so your own first message works. A thread that was working then gets "Continue where you left off.", and messages you had queued are queued again behind it, in order. Background tasks such as a command watching a PR are stopped on the machine the thread leaves, and the agent is told which ones were running so it can start them again. Later trips to the same machine reuse the thread and skip this.
|
|
117
127
|
- A thread that comes back to a machine shows the messages it got on your other machines in the meantime. T3 Code cannot add them to a thread itself, so agentgate writes them into T3 Code's own database, which T3 Code does not support. If T3 Code misbehaves after a handoff, turn this off with `agentgate t3 history off` or **Show messages from other machines** on the T3 Code page: the thread then shows only what happened on that machine, and the agent still has the whole conversation. Threads that left a machine before this release come back without them.
|
|
118
128
|
- The first time a thread arrives on a machine, T3 Code's import also picks up other recent Claude sessions run in that project's main checkout, so threads that ran there can show up twice. Threads in worktrees are not affected, and later trips skip the import.
|
|
@@ -213,7 +223,7 @@ Unlike sync, this traffic is readable by the relay (your logins stay on your mac
|
|
|
213
223
|
|
|
214
224
|
## Commands
|
|
215
225
|
|
|
216
|
-
Run `agentgate --help`. Useful ones: `status`, `accounts`, `accounts exhaust <id> [min]` (pretend an account hit its limit, for testing), `nodes`, `unpair <node>`, `relay status|reconcile|rotate|leave`, `export [--no-secrets]`, `import-backup <file>`, `service logs`.
|
|
226
|
+
Run `agentgate --help`. Useful ones: `status`, `accounts`, `accounts exhaust <id> [min]` (pretend an account hit its limit, for testing), `nodes`, `dashboard on|off`, `unpair <node>`, `relay status|reconcile|rotate|leave`, `export [--no-secrets]`, `import-backup <file>`, `service logs`.
|
|
217
227
|
|
|
218
228
|
## Things to know
|
|
219
229
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hanskristoffer/agentpool",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.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.25.0",
|
|
26
|
+
"agentpool-darwin-x64": "0.25.0",
|
|
27
|
+
"agentpool-linux-x64": "0.25.0",
|
|
28
|
+
"agentpool-linux-arm64": "0.25.0"
|
|
29
29
|
}
|
|
30
30
|
}
|