Skip to Content
EntwicklerhandbuchToolsSandboxing

Anpassen der Sandbox-Umgebung (Docker/Podman)

Derzeit unterstützt das Projekt die Verwendung der BUILD_SANDBOX-Funktion nach der Installation über das npm-Paket nicht.

  1. Um eine benutzerdefinierte Sandbox zu erstellen, müssen Sie auf die Build-Skripte (scripts/build_sandbox.js) im Quellcode-Repository zugreifen.
  2. Diese Build-Skripte sind nicht in den von npm veröffentlichten Paketen enthalten.
  3. Der Code enthält hartcodierte Pfadprüfungen, die Build-Anfragen aus Nicht-Quellcode-Umgebungen explizit ablehnen.

Wenn Sie zusätzliche Werkzeuge im Container benötigen (z. B. git, python, rg), erstellen Sie ein benutzerdefiniertes Dockerfile. Die genaue Vorgehensweise ist wie folgt:

1. Klonen Sie zuerst das Qwen Code-Projekt: https://github.com/QwenLM/qwen-code.git 

2. Stellen Sie sicher, dass Sie die folgenden Operationen im Quellcode-Repository-Verzeichnis ausführen

# 1. First, install the dependencies of the project npm install # 2. Build the Qwen Code project npm run build # 3. Verify that the dist directory has been generated ls -la packages/cli/dist/ # 4. Create a global link in the CLI package directory cd packages/cli npm link # 5. Verification link (it should now point to the source code) which qwen # Expected output: /xxx/xxx/.nvm/versions/node/v24.11.1/bin/qwen # Or similar paths, but it should be a symbolic link # 6. For details of the symbolic link, you can see the specific source code path ls -la $(dirname $(which qwen))/../lib/node_modules/@qwen-code/qwen-code # It should show that this is a symbolic link pointing to your source code directory # 7.Test the version of qwen qwen -v # npm link will overwrite the global qwen. To avoid being unable to distinguish the same version number, you can uninstall the global CLI first

3. Erstellen Sie Ihr Sandbox-Dockerfile im Stammverzeichnis Ihres eigenen Projekts

# Based on the official Qwen sandbox image (It is recommended to explicitly specify the version) FROM ghcr.io/qwenlm/qwen-code:sha-570ec43 # Add your extra tools here RUN apt-get update && apt-get install -y \ git \ python3 \ ripgrep

4. Erstellen Sie das erste Sandbox-Image im Stammverzeichnis Ihres Projekts

QWEN_SANDBOX=docker BUILD_SANDBOX=1 qwen -s # Observe whether the sandbox version of the tool you launched is consistent with the version of your custom image. If they are consistent, the startup will be successful

Dadurch wird ein projektspezifisches Image auf Basis des Standard-Sandbox-Images erstellt.

  • Wenn Sie die offizielle CLI von Qwen wiederherstellen möchten, entfernen Sie den npm-Link
# Method 1: Unlink globally npm unlink -g @qwen-code/qwen-code # Method 2: Remove it in the packages/cli directory cd packages/cli npm unlink # Verification has been lifted which qwen # It should display "qwen not found" # Reinstall the global version if necessary npm install -g @qwen-code/qwen-code # Verification Recovery which qwen qwen --version
Last updated on