File size: 2,931 Bytes
4696bb6 8746713 c0c0513 8746713 ef427dd 6373845 8746713 6373845 8746713 e5c5a62 8746713 e5c5a62 8746713 6373845 94d08b8 8746713 f4f47ef a8f688e 8aac85c d190c15 f4f47ef 8746713 028b576 2fa3b15 8746713 4518743 68f5698 8746713 028b576 6b10267 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | # FROM yidadaa/chatgpt-next-web:v2.12.3
#FROM yidadaa/chatgpt-next-web
#ENV CUSTOM_MODELS=-all,+Creative-g4t,+Balanced-g4t,+Precise-g4t,+Creative,+Balanced,+Precise,+Creative-g4t-offline,+Balanced-g4t-offline,+Precise-g4t-offline,+Creative-offline,+Balanced-offline,+Precise-offline
# 基于官方 Python 3.10 基础镜像(兼容 CoPaw 且轻量)
FROM python:3.10-slim
# 设置维护者信息(Hugging Face 规范)
LABEL maintainer="your-name <your-email@example.com>"
LABEL org.opencontainers.image.source="https://github.com/agentscope-ai/CoPaw"
LABEL org.opencontainers.image.description="CoPaw - 阿里通义开源个人AI智能体工作台,适配Hugging Face环境"
LABEL org.opencontainers.image.licenses="Apache-2.0"
ENV COPAW_DEFAULT_LLM_PROVIDER=openai
ENV COPAW_DEFAULT_LLM_MODEL=qwen2.5-1.5b
ENV COPAW_DEFAULT_LLM_BASE_URL=https://nagose-qw4b.hf.space/v1
ENV COPAW_DEFAULT_LLM_API_KEY=dummy
# 设置环境变量(关键:指定端口、禁用缓存、中文编码、跳过交互式确认)
ENV PYTHONUNBUFFERED=1 \
PORT=7860 \
HOST=0.0.0.0 \
LANG=C.UTF-8 \
COPAW_WORKING_DIR=/app/working \
COPAW_SECRETS_DIR=/app/working.secret \
# 核心:跳过安全协议交互式确认
COPAW_ACCEPT_SECURITY_NOTICE=yes \
# 配置文件路径(0.0.6版本的默认路径)
COPAW_CONFIG_PATH=/app/working/config.json
# 安装系统依赖(解决CoPaw运行依赖,包含jq工具用于修改JSON配置)
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc \
g++ \
curl \
jq \
&& rm -rf /var/lib/apt/lists/*
# 安装 CoPaw(PyPI 可用的最新稳定版)
RUN pip install --no-cache-dir copaw==0.1.0b3 uvicorn fastapi
# 创建数据目录并设置权限
RUN mkdir -p ${COPAW_WORKING_DIR} ${COPAW_SECRETS_DIR} \
&& chmod -R 777 ${COPAW_WORKING_DIR} ${COPAW_SECRETS_DIR}
RUN pip install 'copaw[mlx]' mlx mlx-lm
RUN pip install 'copaw[ollama]'
#RUN pip install 'copaw[llamacpp]'
RUN pip install --upgrade copaw
# 暴露 7860 端口(Hugging Face 常用端口)
EXPOSE 7860
# 自动确认安全协议,非交互式初始化(0.0.6版本仅生成基础配置)
RUN echo "yes" | copaw init --defaults
# 1. 添加自定义模型接口(单行jq命令,避免解析错误)
RUN jq '.models.myapi = {"provider":"openai","base_url":"https://msapi.joko.qzz.io/v1","api_key":"none","model_name":"gpt-3.5-turbo"}' ${COPAW_CONFIG_PATH} > ${COPAW_CONFIG_PATH}.tmp && mv ${COPAW_CONFIG_PATH}.tmp ${COPAW_CONFIG_PATH}
# 2. 设置默认模型
RUN jq '.model.default = "myapi"' ${COPAW_CONFIG_PATH} > ${COPAW_CONFIG_PATH}.tmp && mv ${COPAW_CONFIG_PATH}.tmp ${COPAW_CONFIG_PATH}
# 终极修复:0.0.6版本正确的启动方式(直接运行copaw主程序 + 端口环境变量)
# 放弃uvicorn手动启动,改用原生方式 + 环境变量指定端口
CMD ["sh", "-c", "cd /app/working && copaw app --host 0.0.0.0 --port $PORT"] |