diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index 4e8fb9b0e..31cb673da 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -100,6 +100,8 @@ services: environment: - CI=true - DEER_FLOW_HOME=/app/backend/.deer-flow + - DEER_FLOW_CONFIG_PATH=/app/backend/config.yaml + - DEER_FLOW_EXTENSIONS_CONFIG_PATH=/app/backend/extensions_config.json - DEER_FLOW_CHANNELS_LANGGRAPH_URL=${DEER_FLOW_CHANNELS_LANGGRAPH_URL:-http://langgraph:2024} - DEER_FLOW_CHANNELS_GATEWAY_URL=${DEER_FLOW_CHANNELS_GATEWAY_URL:-http://gateway:8001} # DooD path/network translation @@ -127,7 +129,7 @@ services: UV_INDEX_URL: ${UV_INDEX_URL:-https://pypi.org/simple} UV_EXTRAS: ${UV_EXTRAS:-} container_name: deer-flow-langgraph - command: sh -c 'cd /app/backend && allow_blocking="" && if [ "$${LANGGRAPH_ALLOW_BLOCKING:-0}" = "1" ]; then allow_blocking="--allow-blocking"; fi && uv run langgraph dev --no-browser $${allow_blocking} --no-reload --host 0.0.0.0 --port 2024 --n-jobs-per-worker $${LANGGRAPH_JOBS_PER_WORKER:-10}' + command: sh -c 'cd /app/backend && args="--no-browser --no-reload --host 0.0.0.0 --port 2024 --n-jobs-per-worker $${LANGGRAPH_JOBS_PER_WORKER:-10}" && if [ "$${LANGGRAPH_ALLOW_BLOCKING:-0}" = "1" ]; then args="$$args --allow-blocking"; fi && uv run langgraph dev $$args' volumes: - ${DEER_FLOW_CONFIG_PATH}:/app/backend/config.yaml:ro - ${DEER_FLOW_EXTENSIONS_CONFIG_PATH}:/app/backend/extensions_config.json:ro diff --git a/frontend/src/components/workspace/artifacts/artifact-file-detail.tsx b/frontend/src/components/workspace/artifacts/artifact-file-detail.tsx index be5e735ea..42c24b820 100644 --- a/frontend/src/components/workspace/artifacts/artifact-file-detail.tsx +++ b/frontend/src/components/workspace/artifacts/artifact-file-detail.tsx @@ -188,17 +188,19 @@ export function ArtifactFileDetail({ )} {!isWriteFile && ( - - - + { + const w = window.open( + urlOfArtifact({ filepath, threadId }), + "_blank", + "noopener,noreferrer", + ); + if (w) w.opener = null; + }} + /> )} {isCodeFile && ( )} {!isWriteFile && ( - - - + { + const w = window.open( + urlOfArtifact({ filepath, threadId, download: true }), + "_blank", + "noopener,noreferrer", + ); + if (w) w.opener = null; + }} + /> )} )} - e.stopPropagation()} - > - - + + diff --git a/frontend/src/components/workspace/messages/message-group.tsx b/frontend/src/components/workspace/messages/message-group.tsx index f6e10bc6b..c80d236de 100644 --- a/frontend/src/components/workspace/messages/message-group.tsx +++ b/frontend/src/components/workspace/messages/message-group.tsx @@ -280,16 +280,17 @@ function ToolCall({ return ( { - window.open(url, "_blank"); - }} > {url && ( - + {title} )}