From 745512aa4bd6cf907ef46ea3ce1c5da5a56f00d0 Mon Sep 17 00:00:00 2001 From: MrKan Date: Wed, 8 Apr 2026 15:00:01 +0300 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B8=20=D0=BC=D0=B0=D1=83=D0=BD=D1=82=20=D0=BF=D0=B0?= =?UTF-8?q?=D0=BF=D0=BA=D0=B8=20/workspace?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 1 + .gitignore | 2 ++ Dockerfile | 8 ++++++-- docker-compose.yml | 1 + src/agent/base.py | 6 ++++++ 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.dockerignore b/.dockerignore index e557a44..2197ab1 100644 --- a/.dockerignore +++ b/.dockerignore @@ -7,3 +7,4 @@ *.pyc __pycache__/ .env +workspace/ diff --git a/.gitignore b/.gitignore index 274911b..ab5238a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +workspace/ + .idea/ # Byte-compiled / optimized / DLL files diff --git a/Dockerfile b/Dockerfile index e090658..32572fc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,8 +17,6 @@ RUN uv pip install git+https://git.lambda.coredump.ru/platform/agent_api.git FROM base as production -RUN useradd --create-home --shell /bin/bash appuser - COPY --from=builder /app/.venv /app/.venv ENV PATH="/app/.venv/bin:$PATH" @@ -26,8 +24,12 @@ COPY src/ /app/src/ COPY Makefile ./ COPY .mk/ ./.mk/ +RUN useradd --shell /bin/bash appuser USER appuser +ENV WORKSPACE_DIR="/workspace/" +RUN mkdir -p $WORKSPACE_DIR && chown appuser:appuser $WORKSPACE_DIR + EXPOSE 8000 CMD ["make", "uvicorn-prod"] @@ -47,6 +49,8 @@ ENV PATH="/app/.venv/bin:$PATH" COPY Makefile ./ COPY .mk/ ./.mk/ +ENV WORKSPACE_DIR="/workspace/" + EXPOSE 8000 CMD ["make", "uvicorn-dev"] diff --git a/docker-compose.yml b/docker-compose.yml index 32ec3ae..3f57d97 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,6 +18,7 @@ services: volumes: - ./src:/app/src - ${AGENT_API_PATH}:/agent-api/ + - ./workspace:/workspace/ ports: - "8000:8000" env_file: diff --git a/src/agent/base.py b/src/agent/base.py index f635ba8..47b6177 100644 --- a/src/agent/base.py +++ b/src/agent/base.py @@ -2,6 +2,7 @@ import os from deepagents import create_deep_agent from langchain_openai import ChatOpenAI from langgraph.checkpoint.memory import MemorySaver +from deepagents.backends.local_shell import LocalShellBackend def create_agent(): @@ -11,9 +12,14 @@ def create_agent(): api_key=os.environ["PROVIDER_API_KEY"], ) + workspace_dir = os.environ["WORKSPACE_DIR"] + backend = LocalShellBackend(workspace_dir, + virtual_mode=True) + return create_deep_agent( model=model, system_prompt="You are a helpful assistant.", checkpointer=MemorySaver(), + backend=backend, )