From d5ffa0026348f237e210a59dd5721a4b19103372 Mon Sep 17 00:00:00 2001 From: X-iZhang Date: Mon, 4 May 2026 15:37:05 +0100 Subject: [PATCH] docs(README): enhance Docker section with installation details and usage instructions --- README.zh-CN.md | 67 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/README.zh-CN.md b/README.zh-CN.md index 1f2f4f3..8b14a47 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -157,7 +157,7 @@ EvoScientist 超越了传统的人在回路(Human-in-the-Loop)模式,采 ## 📦 安装 > [!TIP] -> 需要 **Python 3.11+**(**< 3.14**)。推荐使用 [**uv**](https://docs.astral.sh/uv/) 或 **conda** 进行依赖管理和虚拟环境管理。 +> 需要 **Python 3.11+**(**< 3.14**)。推荐使用 [**uv**](https://docs.astral.sh/uv/) 或 **conda** 进行依赖管理和虚拟环境管理。想完全跳过本地 Python 安装?直接跳转到 [🐳 Docker](#-docker)。
🪛 安装 uv(如果尚未安装) @@ -254,6 +254,71 @@ git pull && uv sync --dev
+### 🐳 Docker + +我们在 [GitHub Container Registry](https://github.com/EvoScientist/EvoScientist/pkgs/container/evoscientist) 上发布了一份预构建镜像,已经包含 `evosci onboard` 通常会为你安装的所有内容: + +- Python 3.11、EvoScientist 以及全部跨平台消息渠道(即 `EvoScientist[all-channels]`) +- **`uv`** —— 用于 MCP 注册表按需安装 Python 类 MCP 服务器 +- **Node.js 24 LTS + `npx`** —— 大多数 MCP 服务器依赖此运行时 + +容器中**无法使用 iMessage 渠道**——它需要 `imsg` CLI 与 macOS 的 Messages.app 通信,仅限宿主操作系统。如需 iMessage,请直接在 macOS 上运行 EvoScientist。 + +在容器中运行 EvoScientist 还会**沙箱化智能体的 Shell 访问**——文件编辑和 Shell 命令仅限于你显式挂载的卷。 + +```bash +docker run -it --rm \ + --env-file .env \ + -v "$(pwd)/workspace:/workspace" \ + -v evosci-data:/home/evosci/.evoscientist \ + ghcr.io/evoscientist/evoscientist:latest +``` + +各挂载的用途: + +| 挂载 | 用途 | +| --- | --- | +| `--env-file .env` | API 密钥(`ANTHROPIC_API_KEY`、`OPENAI_API_KEY` 等) | +| `./workspace:/workspace` | 智能体的工作目录 | +| `evosci-data:/home/evosci/.evoscientist` | 持久化应用状态:会话数据库、全局技能、记忆,以及 `config.yaml` / `mcp.yaml` | + +> [!IMPORTANT] +> 镜像以非 root 用户运行(`evosci`,UID `1000`)。`./workspace` bind 挂载的宿主目录必须可被该 UID 写入。如果你的宿主用户 ID 不同,可以一次性 `chown -R 1000:1000 ./workspace`,或在每次 `docker run` 时加上 `--user "$(id -u):$(id -g)"`,让容器使用你的 UID。 + +也可使用 `docker compose`(仓库自带一个起步用的 [`docker-compose.yml`](./docker-compose.yml)): + +```bash +docker compose run --rm evoscientist +``` + +如果想本地构建而不是拉取镜像: + +```bash +docker build -t evoscientist:dev . +``` + +> [!NOTE] +> 镜像中**未捆绑**以下内容,需要时基于镜像派生安装: +> - **`stt`**(基于 `faster-whisper` 的语音转文字)和 **`oauth`**(`ccproxy-api`) +> - **TinyTeX / LaTeX**(`pdflatex`、`latexmk`),供论文写作类技能使用 +> +> ```dockerfile +> FROM ghcr.io/evoscientist/evoscientist:latest +> +> # Python 额外组件 +> USER root +> RUN uv pip install --python /opt/venv/bin/python "EvoScientist[stt,oauth]" +> USER evosci +> +> # TinyTeX +> # 官方安装方式是 `curl | sh`;如果你不想把未固定版本的远程脚本 +> # 直接管入 shell,可以从 https://github.com/rstudio/tinytex-releases +> # 下载特定版本的 TinyTeX 发布包,校验校验和后解压到 +> # /home/evosci/.TinyTeX。 +> RUN curl -sL https://yihui.org/tinytex/install-bin-unix.sh | sh \ +> && /home/evosci/.TinyTeX/bin/*/tlmgr install latexmk +> ``` +

🔝回到顶部

## 🔑 配置