Skip to content

agentbox 0.2.0

Choose a tag to compare

@vojtabiberle vojtabiberle released this 16 Sep 21:19
4921011

Migration from 0.1.0

Claude host configuration is no longer mounted automatically. Each workspace/agent pair gets a private persistent HOME. Log in inside the container or set claude.share_host_config: true to restore the former read-write sharing of host Claude configuration. Existing host files are not removed.

State lives under ~/.local/state/agentbox/<workspace-path-hash>/<agent>/home (configurable via state_dir). It contains credentials, history, memory and user-installed tools. Moving a workspace changes its state identity.

Image tags now follow generated Dockerfile content; an explicit tag in image_name is replaced by the generated tag.

Included

  • Persistent writable HOME/cache, isolated by workspace and agent; fixes #21.
  • Hermes interactive CLI/setup with pinned source and locked dependencies.
  • Agent-specific toolsets/mounts and forwarded arguments.
  • Minimal Kubernetes toolset: kubectl, helm and kustomize.
  • Workspace-root Dockerfile.agentbox support: omit FROM; agentbox injects the selected base. Project builds recheck COPY/ADD inputs through the container-engine cache.
  • Init process for agent subprocess cleanup.
  • Updated contributor documentation, source distribution contents and packaging CI.

Verification

  • 308 tests passed with all local Podman container checks; 91% coverage.
  • 11 targeted tests passed with Docker, including private HOME persistence and project COPY cache invalidation.
  • Claude completed an authenticated file-writing task and continued the session after restarting its container.
  • Clean wheel and sdist installations passed. Installed wheel launched Hermes CLI through agentbox.
  • CI covers Python 3.10–3.13, lint/type checks and wheel-from-sdist installation.

Hermes also completed an authenticated test with OpenAI API provider openai-api and model gpt-5.6-sol: a terminal tool wrote the requested workspace file, then a new container resumed the same session and recalled the previous turn. The API key was passed only to the temporary container; temporary test state was removed. Gateway/bot services remain outside scope. Docker verification used a standard Docker daemon with a non-root container user; rootless Docker daemon behavior was not exercised.

Assets include wheel, source distribution and SHA256SUMS. No package was published to PyPI.