9c573f1e3c
Decisions, environment quirks and pitfalls learned while working on AgentHub (docs/claude-memory/, indexed by MEMORY.md). Notes holding personal account details are left out. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
15 lines
1.9 KiB
Markdown
15 lines
1.9 KiB
Markdown
---
|
|
name: agenthub-remote-clients-plan
|
|
description: 2026-10-09 new direction — users run AgentHub local on own machines, hub keeps accounts + all records; plan docs/plans/remote-clients/README.md
|
|
metadata:
|
|
type: project
|
|
---
|
|
|
|
2026-10-09 the user worried the shared hub (server mode, S3) won't carry >10 concurrent users. Decided: each user installs AgentHub LOCAL; full conversation uploads to the hub, but only for sessions AgentHub started; shared accounts (Claude pool, shared AI Proxies) usable ONLY through AgentHub (no AgentHub → no account); branch server-s3 kept until this is settled. Plan R0 user page → R1 devices → R2 upload → R3 remote gateway (checks `x-claude-code-session-id`, verified sent by Claude Code 2.1.295) → R4 managed-settings/marketplace. 10-10 review: ownership via `source=device:` does not work with scope.js (owner comes from lanes.owner_id), mirrored lanes collide on (cwd,tool); suggested sessions.owner_id + hub as a local AI Proxy profile. Not built yet. Follow-ups 10-09: hub stays plain HTTP on LAN (http://10.1.13.7:4820); seats ≥ people, a seat may serve several people (user's call — don't re-raise terms); gate = warn by default, admin can switch to block; per-session ahrs_ token dropped (device token + session-must-be-uploading check); new R0 = one-click per-user activity page from Users (owner= filter).
|
|
|
|
**Why:** compute moves off the hub; the hub stays the single place to manage and audit.
|
|
|
|
**10-09 guarantee question:** guaranteed only "no hub account → no issued credential" (credential never leaves hub; needs admin-only seat logins). NOT guaranteed: that the AgentHub app was used. Proposed R3b: gateway records conversation itself from request bodies → no pool use invisible.
|
|
|
|
**How to apply:** the gating is detection, not prevention (the user owns the machine) — never claim otherwise. Related: [[agenthub-multi-user-goal]].
|