docs(README): enhance Docker section with installation details and usage instructions
This commit is contained in:
+66
-1
@@ -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)。
|
||||
|
||||
<details>
|
||||
<summary>🪛 安装 uv(如果尚未安装)</summary>
|
||||
@@ -254,6 +254,71 @@ git pull && uv sync --dev
|
||||
|
||||
</details>
|
||||
|
||||
### 🐳 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
|
||||
> ```
|
||||
|
||||
<p align="right"><a href="#top">🔝回到顶部</a></p>
|
||||
|
||||
## 🔑 配置
|
||||
|
||||
Reference in New Issue
Block a user