Observed since 20 Oct, 17:43 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Provider-neutral shared Serve console for Claude, GPT, Hugpy, and local model backends.
The provider-neutral shared Serve console. It owns the durable conversation store, queue/hold contract, session picker, and provider adapters. Claude, GPT, Hugpy, and local-model packages may provide adapters without owning the Serve runtime.
Run abstract-serve --no-browser to start the console.
pip install abstract-serve-core
abstract-serve --no-browser # standalone
abstract-claude serve # provider package entry point
abstract-gpt serve # same routes, GPT seat installed
┌──────────────────────────── hugpy (fleet) ───────────────────────────┐
│ central + workers: platform · engine · fleet · server · media · … │
│ OpenAI-compatible /v1 — every local model, incl. B (Qwen3-Coder-Next) │
└───────▲───────────────────────▲──────────────────────────▲───────────┘
│ inference │ inference │ B reductions
┌────────────────────────┴──┐ ┌────────────────┴──────────┐ ┌───────────┴───────────────┐
│ hugpy-station │ │ hugpy-agent │ │ abstract-toolserver │
│ desktop + headless console│──▶│ agent runtime · TUI · │◀─▶│ comms · ledgers · boards ·│
│ tmux seats per locus │ │ OpenCode/qwen seats │ │ exchanges · MCP · b_ask │
└────────────┬──────────────┘ └────────────┬──────────────┘ └───────────▲───────────────┘
│ keeper/codex seats │ --serve │ tools (MCP/HTTP)
┌────────────▼──────────────┐ ┌────────────▼──────────────┐ │
│ abstract-gpt (Codex seat) │ │ abstract-claude serve ────┼───────────────┘
│ abstract-claude (Claude) │ │ └ abstract-serve-core │
└───────────────────────────┘ └───────────────────────────┘
everything ships through abstract-pypit → PyPI (+ GitHub)
| Package | Role | PyPI |
|---|---|---|
| hugpy (14 lockstep dists) | the self-hosted LLM fleet: central, workers, engine, media, server | hugpy |
| hugpy-station | Electron desktop + headless backend; tmux seats, prompt composer, loop/bug scan | deb via central install links |
| hugpy-agent | agent runtime on the fleet; hugpy-agent tui over the shared Serve API | hugpy-agent |
| abstract-claude | Claude Code launch/session/rollover + abstract-claude serve (roles keeper/chat/worker/local) | abstract-claude |
| abstract-serve-core | provider-neutral HTTP routes (queue, relay, rollover sweeps, session API) | abstract-serve-core |
| abstract-gpt | Codex/ChatGPT seat counterpart of abstract-claude | abstract-gpt |
| abstract-toolserver | one tool service per host: comms, ledgers, boards, exchanges, MCP bridge, B on call | abstract-toolserver |
| abstract-pypit | one-command publisher: bump → build → PyPI → GitHub push | abstract-pypit |
Provider CLI entry points import and execute serve-core's HTTP routes. The
route handlers left in abstract_claude/server.py are dead at Serve runtime —
patch serve-core, not a provider package, for shared Serve behaviour. Its
GET /api/state advertises service=abstract-serve and protocol version 1;
clients should identify this API independently of the configured model provider.
keeper, chat, worker, local are standing serve sessions
recorded in roster.json — not Claude sessions. Send to one with
POST /api/session/<role>/message.session_message / relay accepts to="<locus>" or
to="<locus>:keeper"; relay.send_cross posts a comms ping board row on the
target locus tagged [from <locus>:<role>], answers 202 queued, and logs to
relay.jsonl. Non-keeper cross-locus targets are refused (400)._compile_prompt() only dedups and joins, never runs a model. A model merge
exists only as an explicit preview (POST /api/compile {suggest:true}) the
operator must apply.AC_SESSION_DIRECTIVES_DIR/<role>.md is appended to every turn
of that role.{surface: serve, port, pid} to the
central seat_state.AC_LOCAL_LLM_URL points at the local model (B) used for previews.[rollover] sweep #N log lines are routine, not errors (Station's bug scan
ignores them since 1.0.152).pip install --force-reinstall, or the
old files stay.See CHANGELOG.md (0.1.15: verbatim prompts, gpt runaway guard; 0.1.16:
interrupt = stop).
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.34 | 19 Oct 2026 | 3 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 17:43 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:1bb503395f5b85b948910b3b697a85c244418cf04e6fe98003360f0da96e727c