Skip to content

About

Nix-built sovereign agent container: did:nostr identities, RuVector memory, an Obsidian vault as the authored corpus with the Rune markdown TUI in its tmux tabs, 116 skills, manifest-gated composition.

Topics

Resources

Stars

23 stars

Watchers

1 watching

Forks

 
 

Latest commit

 

History

3,768 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agentbox

A manifest-driven working environment for software agents

Compose tools, sessions, identity and durable-state integrations in a Nix-built container.

Start · Architecture · Capabilities · Status · Docs · Licence

Conceptual modular agent workshop with connected workspaces

Illustrative artwork, not a runtime capture. The architecture below describes the implemented contracts.

Agentbox packages agent CLIs, development tools and supervised services behind one configuration and build process. An operator chooses capabilities in agentbox.toml, inspects the resulting runtime contract, and runs interactive agent sessions with configured identity, memory and data services.

Use it for a persistent coding workspace, an auditable agent lab, local media/spatial tooling, or a host for governed repository-maintenance workflows. Nix pins the build inputs; runtime credentials, mounted data, model services and deployment state remain separate. A reproducible composition is not a guarantee that every action or external service is reproducible.

Quickstart

From the machine that will host the container:

git clone https://github.com/DreamLab-AI/agentbox.git
cd agentbox
./scripts/start-agentbox.sh

The onboarding flow configures the manifest and deployment prerequisites. Read installation, providers and configuration before enabling services that need credentials, host devices or external endpoints.

For the prebuilt-image path:

export AGENTBOX_IMAGE_REF=ghcr.io/dreamlab-ai/agentbox:latest
docker pull "$AGENTBOX_IMAGE_REF"
./agentbox.sh up --registry
./agentbox.sh health
./agentbox.sh shell

Use an explicit image digest when you need an identified deployment. latest is a moving tag, not a reproducibility receipt. Review the generated Compose configuration and host mount paths; a Docker command issued inside another container resolves bind paths on the Docker host.

Update a running workspace

./scripts/agentbox-config-validate.sh
./agentbox.sh prepare

prepare builds and delivers a candidate without replacing the running Agentbox. Inspect its evidence and use the incremental-build and recovery runbook before activating it. ./agentbox.sh activate replaces Agentbox; it is a deliberate operational step, not a documentation check.

Image-scoped SBOM/VEX evidence is described in the vulnerability guide. Its scope is the identified image, not the host, mounted secrets, sidecars or every service reachable from an agent.

How it fits together

flowchart TB
    MANIFEST["agentbox.toml"] --> BUILD["Nix composition and pinned tools"]
    BUILD --> IMAGE["Container image"]
    MANIFEST --> BOOT["Boot projection and reconciliation"]
    IMAGE --> BOOT
    BOOT --> SESSIONS["Interaction plane and agent sessions"]
    BOOT --> SERVICES["Supervised services and capability gates"]
    SESSIONS --> TOOLS["Registered tools and skills"]
    TOOLS --> ADAPTERS["Durable-state adapters"]
    ADAPTERS --> WRAPS["Observability and configured privacy policy"]
    WRAPS --> STATE["Memory, pods, events and task state"]
    SERVICES --> ID["Identity and authorisation boundaries"]
    ID --> STATE
    EXTERNAL["Configured model and tool sidecars"] -.-> TOOLS
Loading

The five durable-state adapter slots are beads, pods, memory, events and orchestrator. Each selects a configured implementation class or off. These slots are not universal interception of filesystem writes or arbitrary tool/network calls. Observability and privacy wrap adapter dispatch; linked-data encoding is a separately gated route-level stage. Read the baseline and adapter guide for the current contract.

The interaction plane uses Agent of Empires behind the configured identity ingress. Sessions can bind a did:nostr identity, URN, task epic and scoped memory namespace. Tool permissions and signing authority remain distinct from an identity label. See ingress and identity.

Capabilities

Area What the configuration selects Boundary
Agent development Agent CLIs, toolchains, registered skills and commands Registrations and actual baked versions come from the selected build
Browser/media/spatial tools Browser, Mermaid, ComfyUI, Blender, QGIS and related tooling Many execute in sidecars or on configured hosts; Mermaid renders in-process with a pinned Pele (pele-render, mmdc shim), with no browser
Durable memory MCP access to the RuVector/Postgres sidecar The mandatory memory service has no in-process SQLite fallback
Pods and identity Native Solid pod service, bridges and configured signing paths Feature gates, credential custody and receipts determine authority
Knowledge work Released Ontomark corpus tools plus the vault governance transport (propose, panel publish) and Loom integration Retrieval does not authorise a mutation or validate every agent assertion
Repository improvement Product-specific host over the extracted Dream Engine crates A gate verdict, published draft and human merge are distinct stages
Telemetry Configured tracing, logs and metrics Coverage follows the instrumented dispatch paths

Skill and server counts change with registrations and build choices. Consult the manifest, generated runtime inventory and registration instructions rather than a copied catalogue count.

Privacy, hardening and role isolation

Privacy redaction is configured per adapter slot. Strict, soft and disabled policies have different failure behaviour. It does not intercept every file, prompt or outbound tool call; inspect the relevant path before making a confidentiality claim.

The container composition includes non-root operation, reduced capabilities, read-only-rootfs policy and supplemental syscall restrictions where configured. Host mounts, Docker access and external services alter the effective boundary. The container runtime, operator configuration and credential custody matter as much as a default manifest.

[security].role_isolation is false in the inspected manifest. The role-account and identity-port work therefore must not be described as active merely because its implementation exists. Enabling it requires the documented rebuild/activation path. See capability governance and the identity baseline.

Identity, memory and provenance contracts

Canonical identifiers are minted through management-api/lib/uris.js. Sharing a Nostr public key format does not make every service share the same access policy, and not every generated file is automatically attributed.

Durable shared memory uses the MCP tools and the configured embedding pipeline. Raw database writes or bypass CLIs can produce rows that semantic retrieval cannot find. The memory baseline records the geometry, recall gates and lifecycle rules.

Pod provenance is feature- and outcome-dependent: storing bytes, committing a local mark and confirming an external anchor are different receipt stages. The pod server can report a successful resource write with incomplete provenance; consumers must read the receipt rather than infer it from HTTP success.

Governance proposals, responses and application receipts also have distinct owners. The runtime can forward and journal them; it does not turn every action into a human-approved mutation. See identity mesh, sovereign mesh and the economy loop.

Recent source changes

The October history since the previous README update includes these independently reviewable changes:

  • Certificate trust: the next image replaces the affected eMudhra trust in the Nix CA bundle and forces Node onto the same corrected bundle. The change is staged until the owner rebuilds and runs the two-client trust gate; the currently running container remains affected.
  • Corpus tooling: refreshed Ontomark pins and corpus verbs; the vault layout uses its manifest path authority. vault gained the newer derivation-certificate/consequence tooling through an identified VisionClaw source pin.
  • Dream Engine: the host consumes the extracted permissive crates and now carries requested-source supply and structured operator decisions. ADR-2143 records the host contract.
  • Pod forge: alpha.17 server features include forge and mirror support. ADR-2145 records a 20 October deployment with /forge responding and zero mirror follows/announce relays. A running forge is not automatic mirroring or a VisionClaw forge route.
  • Activity sink: the hook merged under ADR-2146, remains default-off and needs explicit endpoint/token configuration. It is no longer only an unmerged Codescape branch.
  • Instruction projection: ADR-2144 records the managed instruction tier and decline recorder, including dated activation evidence.
  • Identity and dependencies: signed epoch-ticket/inbox-key handling and locked toolchain updates landed on 21 October. Source validation of those changes does not imply the current image contains them.

Working status

Source reviewed 21 October 2026 at cd72f3a1e. The manifest and current source are authoritative for selected features; an image digest, boot/readiness report and acceptance receipt establish what a deployment uses.

The dated forge/instruction deployment receipts above describe specific 20 October behaviour. This README refresh did not rebuild or activate an image, rerun the full runtime suite, verify current memory recall, or certify cross-organisation federation. Older July status tables and performance totals do not describe the present runtime.

Where it sits in VisionFlow

Project Relationship
VisionFlow Cross-estate architecture and compatibility guide
VisionClaw Knowledge application and graph observations; a separately deployed consumer
solid-pod-rs Native pod and forge implementation, selected by Agentbox's build
nostr-rust-forum Communication and governance contracts
Loom Configured grounding/model service
Ontomark Shared Markdown-ontology toolchain
dream-engine Reusable gate/loop libraries; Agentbox owns its product-specific host
sidestr-rs Economic protocol libraries; chain-instance configuration stays in config/sidechain/

Documentation, contribution and licence

Docs hub · Quickstart · Architecture · Testing · Backup/recovery · Decision ledger

Validate the manifest before changing build/runtime behaviour, classify apply behaviour correctly and use the relevant contract gates. Published ports, credential handling, identifier rules and adapter dispatch are architectural contracts.

The core project uses AGPL-3.0. Bundled tools and extracted libraries have their own terms; see the licensing matrix and third-party notices. Maintained by John O'Hare / DreamLab AI, with upstream attribution in MAINTAINERS.md, including Melvin Carvalho's Solid/JSS work.

Codex sessions persist in agentbox-codex-home; existing tmpfs installations need a one-time migration before replacement.

Media control-plane update: Blender retains its socket/background-job path and adds an internal typed DCC-MCP gateway; external ComfyUI includes its MCP dependencies. See ADR-2148.

Optional headless physics runs in the separate Isaac Sim sidecar, with a single GPU UUID, an internal job API and motion export to Blender. Its build and physics verification are independent of Agentbox readiness; see Isaac operations.

System One consumer activation is staged under ADR-2155: explicit manifest switches reach services before launch, with a separate keyless local route for private data. See docs/reference/system-one-activation.md in the Agentbox repository for rebuild requirements and the remaining deployment prerequisites.

Session plane cutover (ADR-2153, 2026-10-29)

The interaction plane is agentbox-sessions (ADR-2153): a supervised tmux-backed daemon reconciles [[interaction_plane.session_seeds]] through a unix socket at /run/agentbox-sessions/sessions.sock (0660, ab-sessions, SO_PEERCRED ACL). Sessions are abs_<slug> with @agentbox-sessions=1; tab0 is the external agentbox:0 coordinator. Window 8 runs agentbox-sessions pick. Provider profiles are reconciled by scripts/session-provision.mjs. AoE, its default upstream, :9095 and the web session board are retired. The NIP-98 proxy on :9096 keeps its named operator routes and returns 404 for unknown routes. The old aoe-profiles volume remains mounted but unused for recovery and mount-stable activation; it must not be pruned as part of delivery.

About

Nix-built sovereign agent container: did:nostr identities, RuVector memory, an Obsidian vault as the authored corpus with the Rune markdown TUI in its tmux tabs, 116 skills, manifest-gated composition.

Topics

Resources

Stars

23 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages