FROM python:3.11-slim # 安装 Node.js(项目需要执行 JavaScript) RUN apt-get update && apt-get install -y \ nodejs \ npm \ git \ && rm -rf /var/lib/apt/lists/* # 设置工作目录 WORKDIR /app # 克隆项目 RUN git clone https://github.com/jhhgiyv/cursorweb2api.git . # 手动安装完整依赖列表(基于 uv.lock 文件中的依赖) RUN pip install --no-cache-dir \ fastapi \ uvicorn \ curl-cffi \ loguru \ sse-starlette \ pydantic \ anyio \ starlette # 设置环境变量(使用项目一键部署方案的配置) ENV API_KEY=sk-619KmN7pQ3vL5wE2rY8uI6oP1sA4tR9eW3qZ7bF5mC8nX2hJ9kL6vN4 ENV DEBUG=true ENV FP=eyJVTk1BU0tFRF9WRU5ET1JfV0VCR0wiOiJHb29nbGUgSW5jLiAoUXVhbGNvbW0pIiwiVU5NQVNLRURfUkVOREVSRVJfV0VCR0wiOiJBTkdMRSAoUXVhbGNvbW0sIEFkcmVubyAoVE0pIDc0MCwgT3BlbkdMIEVTIDMuMikiLCJ1c2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoTGludXg7IEFuZHJvaWQgMTA7IEspIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMjcuMC4wLjAgTW9iaWxlIFNhZmFyaS81MzcuMzYifQ== ENV SCRIPT_URL=https://cursor.com/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/a-4-a/c.js?i=0&v=3&h=cursor.com ENV MODELS=gpt-5,gpt-5-codex,gpt-5-mini,gpt-5-nano,gpt-4.1,gpt-4o,claude-3.5-sonnet,claude-3.5-haiku,claude-3.7-sonnet,claude-4-sonnet,claude-4-opus,claude-4.1-opus,gemini-2.5-pro,gemini-2.5-flash,o3,o4-mini,deepseek-r1,deepseek-v3.1,kimi-k2-instruct,grok-3,grok-3-mini,grok-4,code-supernova-1-million # 暴露端口(Hugging Face Spaces 使用 7860 端口) EXPOSE 7860 # 启动命令 CMD ["python", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]