@@ -23,9 +23,24 @@ navigation, light/dark from the OS.
2323 are keyed by the node's manifest name so installed state is detected. The
2424 hard-coded list is the pre-marketplace seam — replace with a remote catalog
2525 fetch when registry search lands.
26+ - ** Settings** — the "set it and forget it" surface: open at login (hidden,
27+ tray-only, via an OS login item), start the control plane automatically,
28+ and pick which agents auto-start. Persisted to ` settings.json ` in the
29+ app's user-data dir.
2630
2731The renderer polls a single snapshot over IPC every 5 seconds.
2832
33+ Agents can be started, stopped, and restarted from their rows — each action
34+ shells out to ` af run <name> ` / ` af stop <name> ` (restart is stop-then-run;
35+ the CLI has no restart verb). On every launch the app runs the autostart
36+ sequence (` src/main/autostart.ts ` ): start the control plane when nothing is
37+ listening (never when the port is taken — by a foreign service or a live
38+ control plane), then bring up the selected agents; agents whose registry
39+ entry went stale (running with no control-plane presence, e.g. after a
40+ reboot) are restarted rather than skipped. The goal: by the time Claude,
41+ Codex, or anything else queries your agents, they are already answering —
42+ no one has to remember to start a server first.
43+
2944The control-plane probe only trusts ` /health ` responses that look like
3045AgentField's payload — an unrelated service on port 8080 renders as
3146"Port in use", never as a running control plane.
@@ -104,7 +119,7 @@ Packaging is unsigned for now (no notarization/signing identities configured).
104119## Current limitations
105120
106121- Control plane URL is hard-coded to ` http://localhost:8080 ` (not configurable yet).
107- - No start/ stop controls yet — installs only (run/stop are next ).
122+ - No stop control for the control plane itself yet (the app only starts it ).
108123- The registry is read directly from ` ~/.agentfield/installed.yaml ` ; once
109124 ` af list -o json ` lands, the app should shell out to the CLI instead (see
110125 the ` TODO(af-cli) ` seam in ` src/main/agentfield.ts ` ).
0 commit comments