AI-Studio/runtime/patches/README.md
2026-06-04 15:28:33 +02:00

2.3 KiB

Runtime Patches

This directory documents temporary patches for third-party Rust dependencies.

Qdrant Edge

AI Studio temporarily uses a pinned commit from SommerEngineering/qdrant for qdrant-edge. The fork commit exposes Qdrant's internal lib/edge crate as qdrant-edge and applies the trait-solver fix from Qdrant PR #9312.

When updating to a newer Qdrant Edge version, replace the placeholder values first:

export QDRANT_EDGE_VERSION="0.7.2"
export QDRANT_BRANCH="ai-studio-qdrant-edge-${QDRANT_EDGE_VERSION}"
export AISTUDIO_REPO="xxx/mindwork-ai-studio"
export QDRANT_REPO="xxx/qdrant"
  1. Sync the Qdrant fork with upstream:
cd "$QDRANT_REPO"
git remote add upstream https://github.com/qdrant/qdrant.git 2>/dev/null || true
git fetch upstream
git fetch origin
git switch master
git merge --ff-only upstream/master
git push origin master
  1. Create a fresh AI Studio branch in the Qdrant fork:
cd "$QDRANT_REPO"
git switch -c "$QDRANT_BRANCH" master
  1. Apply the AI Studio patch if upstream has not released the fix yet:
cd "$QDRANT_REPO"
git apply "$AISTUDIO_REPO/runtime/patches/qdrant-edge-ai-studio.patch"
  1. Update the exposed qdrant-edge version in the fork:
cd "$QDRANT_REPO"
perl -0pi -e "s/name = \"qdrant-edge\"\\nversion = \"[^\"]+\"/name = \"qdrant-edge\"\\nversion = \"$ENV{QDRANT_EDGE_VERSION}\"/" lib/edge/Cargo.toml
  1. Commit and push the fork branch:
cd "$QDRANT_REPO"
git diff
git add lib/edge/Cargo.toml lib/segment/src/common/anonymize.rs
git commit -m "Expose qdrant-edge ${QDRANT_EDGE_VERSION} package for AI Studio"
git push origin "$QDRANT_BRANCH"
export QDRANT_EDGE_COMMIT="$(git rev-parse HEAD)"
echo "$QDRANT_EDGE_COMMIT"
  1. Update AI Studio to use the new Qdrant Edge version and fork commit:
cd "$AISTUDIO_REPO"
perl -0pi -e "s/qdrant-edge = \"[^\"]+\"/qdrant-edge = \"$ENV{QDRANT_EDGE_VERSION}\"/" runtime/Cargo.toml
perl -0pi -e "s/rev = \"[0-9a-f]+\"/rev = \"$ENV{QDRANT_EDGE_COMMIT}\"/" runtime/Cargo.toml
  1. Refresh the AI Studio lock file and verify the Rust runtime:
cd "$AISTUDIO_REPO/runtime"
cargo update -p qdrant-edge
cargo check

Remove the patch and the [patch.crates-io] override once Qdrant publishes a fixed qdrant-edge release on crates.io.