Skip to content

Latest commit

 

History

History
58 lines (35 loc) · 4.34 KB

File metadata and controls

58 lines (35 loc) · 4.34 KB

AinoWork is an AI-native collaborative platform — a developer-oriented AI workbench. It integrates AI agent conversations with Docker-sandboxed code execution, delivering a complete workflow from dialogue to delivery.

v2.0.1 is a patch release focused on a critical sandbox environment fix and Docker build pipeline improvements.

What's New in v2.0.1

Critical Bug Fix: Sandbox Environment Resolution

Fixed a serious bug in the hermes-agent integration where _get_file_ops would silently create a Docker container with the wrong image when environment lookup failed.

The problem: _get_file_ops looked up sandbox environments via the _active_environments dict. When a lookup failed — which could happen under normal concurrent request patterns — the method fell back to _create_environment, which spawned a new Docker container using the default image nikolaik/python-nodejs:python3.11-nodejs20 instead of the project's configured sandbox image. This meant:

  • File operations could execute in a container with the wrong toolchain, Python version, and dependencies
  • The silently-created container was invisible to the platform's sandbox management, leaking resources
  • No error was surfaced — the operation appeared to succeed but used an incorrect environment

The fix: Replaced _get_file_ops with a version that obtains PlatformSandboxEnv directly from get_thread_context().env, entirely bypassing _active_environments and the _create_environment fallback. If ctx.env is None, the method now raises RuntimeError instead of silently creating a container with the wrong image.

Docker Build Optimization

Refined the backend Docker build pipeline for faster, more cache-efficient builds:

  • Collapsed 3-stage build into single stage — Cross-stage COPY instructions were creating spurious cache invalidation chains, causing full rebuilds on minor changes. A single-stage build with carefully ordered layers achieves better caching in practice
  • Isolated hermes-agent layer — The hermes-agent git clone (30–60s) is now in its own layer and exported to a separate requirements-hermes.txt. Changes to other dependencies no longer trigger a full git re-clone
  • BuildKit cache mountsuv pip install now uses --mount=type=cache for persistent wheel caching across builds
  • Lockfile-driven invalidationbuild.sh exports requirements.txt from uv.lock, so the dependency layer only invalidates when actual dependencies change, not on version bumps
  • Mirror configuration — Set UV_INDEX_URL to aliyun mirror for faster downloads in CI (uv doesn't read pip config)

Docker Build Context Cleanup

Excluded backend/docker-infra/volumes/ from the Docker build context via .dockerignore, preventing large volume data from being sent to the Docker daemon during builds.

Docker Compose Tag Fix

Reverted the starter docker-compose.yml image tags from 2.0.0-arm64 back to latest. A previous release publish had incorrectly pinned architecture-specific tags, breaking multi-arch deployments.

What's Changed

  • Release workflow — Added release-upgrade skill documenting the complete 8-phase version upgrade checklist (version bump, migration consolidation, auto-generation, Docker TAG update, commit). Added release-publish skill for pushing tags, creating GitHub/Gitee releases, and uploading build artifacts
  • Release notes — Added v2.0.0 release notes documenting Plan Mode, Auto-Memory, Platform Memory Tools, and all changes since v1.1.1

Bug Fixes

  • Sandbox environment resolution_get_file_ops no longer falls back to creating a container with the wrong default image when environment lookup fails. Environment is now obtained directly from thread context, raising RuntimeError if unavailable
  • Docker Compose image tags — Reverted incorrectly-pinned 2.0.0-arm64 tags in starter docker-compose.yml back to latest

Docker Images

Image Tag Pull Command
ainowork-backend 2.0.1, latest docker pull registry.cn-zhangjiakou.aliyuncs.com/oinone/ainowork-backend:2.0.1
ainowork-frontend 2.0.1, latest docker pull registry.cn-zhangjiakou.aliyuncs.com/oinone/ainowork-frontend:2.0.1

Changelog

8 commits since v2.0.0.

Full Changelog · License: AGPL-3.0