diff --git a/Dockerfile b/Dockerfile index 7a1f40c..0b2052e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,7 @@ ARG INSTALL_LATEX=false # Labels LABEL maintainer="DSAgent Contributors" -LABEL version="0.7.0" +LABEL version="0.9.0" LABEL description="AI-powered autonomous agent for data science" # Set environment variables @@ -21,8 +21,7 @@ ENV PYTHONUNBUFFERED=1 \ PIP_NO_CACHE_DIR=1 \ PIP_DISABLE_PIP_VERSION_CHECK=1 \ DSAGENT_WORKSPACE=/workspace \ - DSAGENT_SESSIONS_DIR=/workspace \ - LLM_MODEL=gpt-4o + DSAGENT_SESSIONS_DIR=/workspace # Install system dependencies (base) RUN apt-get update && apt-get install -y --no-install-recommends \ @@ -72,4 +71,4 @@ EXPOSE 8000 # Default command: start API server # Can be overridden to run CLI: docker run -it dsagent dsagent chat -CMD ["dsagent", "serve", "--host", "0.0.0.0", "--port", "8000"] +CMD ["sh", "-c", "dsagent serve --host 0.0.0.0 --port ${PORT:-8000}"] diff --git a/README.md b/README.md index a2ec8ce..d45a1c9 100644 --- a/README.md +++ b/README.md @@ -50,20 +50,32 @@ uv sync --all-extras ### Docker +Configuration uses the same environment variables as the CLI and server (see [Configuration](docs/getting-started/configuration.md)). The container listens on `PORT` (default 8000). + ```bash -# Run API server -docker run -d -p 8000:8000 \ +# Run API server (default: port 8000) +docker run -d -p 8080:8080 \ + -e PORT=8080 \ + -e DSAGENT_DEFAULT_MODEL=gpt-4o \ -e OPENAI_API_KEY=sk-your-key \ nmlemus/dsagent:latest # Run interactive CLI docker run -it \ -e OPENAI_API_KEY=sk-your-key \ + -v "$(pwd)/workspace:/workspace" \ nmlemus/dsagent:latest \ dsagent chat + +# One-shot task +docker run --rm \ + -e OPENAI_API_KEY=sk-your-key \ + -v "$(pwd)/workspace:/workspace" \ + nmlemus/dsagent:latest \ + dsagent run "Analyze data/sales.csv" --data ./data/sales.csv ``` -For Docker deployment details, see [docs/DOCKER.md](docs/DOCKER.md). +For Docker deployment details, see [docs/DOCKER.md](docs/DOCKER.md) and [docs/guide/docker.md](docs/guide/docker.md). ## Quick Start @@ -85,7 +97,7 @@ This will: - Local → `ollama/llama3` - Optionally configure MCP tools (web search, etc.) -To use a different model, edit `~/.dsagent/.env` or use the `--model` flag: +To use a different model, set `DSAGENT_DEFAULT_MODEL` or `LLM_MODEL` in `~/.dsagent/.env`, or use the `--model` flag: ```bash dsagent --model gpt-4o-mini ``` @@ -118,11 +130,15 @@ dsagent run "Analyze sales trends" --data ./sales.csv | `dsagent` | Start interactive chat (default) | | `dsagent chat` | Same as above, with explicit options | | `dsagent run "task"` | Execute a one-shot task | +| `dsagent serve` | Run REST + WebSocket API server | | `dsagent init` | Setup wizard for configuration | | `dsagent skills list` | List installed skills | -| `dsagent skills install ` | Install a skill | +| `dsagent skills install ` | Install a skill from GitHub or path | +| `dsagent skills remove ` | Remove a skill | +| `dsagent skills info ` | Show skill details | | `dsagent mcp list` | List configured MCP servers | -| `dsagent mcp add