配置参考
Open Terminal 默认就能直接使用;如果你需要更精细控制,可以通过配置文件、环境变量或命令行参数进行覆盖。
配置优先级如下,越靠后优先级越高:
- 内建默认值
- 系统配置文件
/etc/open-terminal/config.toml - 用户配置文件
~/.config/open-terminal/config.toml - 环境变量
OPEN_TERMINAL_* - CLI 参数(如
--host、--port)
全部设置
| 设置 | 默认值 | 环境变量 | 说明 |
|---|---|---|---|
| Host | 0.0.0.0 | — | 监听地址 |
| Port | 8000 | — | 监听端口 |
| API Key | 自动生成 | OPEN_TERMINAL_API_KEY | 连接密码 |
| API Key File | — | OPEN_TERMINAL_API_KEY_FILE | 从文件读取 key,适合 Docker secrets |
| Log Directory | ~/.local/state/open-terminal/logs | OPEN_TERMINAL_LOG_DIR | 日志目录 |
| Max Sessions | 16 | OPEN_TERMINAL_MAX_SESSIONS | 最大并发 terminal session 数 |
| Enable Terminal | true | OPEN_TERMINAL_ENABLE_TERMINAL | 是否启用交互终端 |
| Enable Notebooks | true | OPEN_TERMINAL_ENABLE_NOTEBOOKS | 是否启用 notebook 执行 |
| TERM | xterm-256color | OPEN_TERMINAL_TERM | 终端颜色能力 |
| Execute Timeout | 未设置 | OPEN_TERMINAL_EXECUTE_TIMEOUT | 命令输出等待秒数 |
| Execute Description | — | OPEN_TERMINAL_EXECUTE_DESCRIPTION | 告诉 AI 当前环境预装了哪些工具 |
| Multi-User | false | OPEN_TERMINAL_MULTI_USER | 启用多用户隔离 |
| CORS Origins | — | OPEN_TERMINAL_CORS_ALLOWED_ORIGINS | 允许跨域的来源 |
| Allowed Domains | — | OPEN_TERMINAL_ALLOWED_DOMAINS | 出站域名过滤 |
仅 Docker 模式的设置
| 设置 | 环境变量 | 说明 |
|---|---|---|
| System Packages | OPEN_TERMINAL_PACKAGES | 启动时安装的系统包,空格分隔 |
| Python Packages | OPEN_TERMINAL_PIP_PACKAGES | 启动时安装的 Python 包,空格分隔 |
备注
这些包会在每次容器启动时重新安装。如果依赖很多,更适合自己构建镜像。
配置文件示例
host = "0.0.0.0"
port = 8000
api_key = "your-secret-key"
log_dir = "/var/log/open-terminal"
max_terminal_sessions = 16
enable_terminal = true
enable_notebooks = true
execute_timeout = 5
execute_description = "This terminal has ffmpeg and ImageMagick installed."为什么用配置文件?
它可以避免把 API key 直接暴露在命令行或 shell history 中。
指定自定义配置文件:
open-terminal run --config /path/to/my-config.tomlDocker secrets
生产环境里,更推荐从 secret 文件读取 API key:
services:
open-terminal:
image: ghcr.io/open-webui/open-terminal
environment:
- OPEN_TERMINAL_API_KEY_FILE=/run/secrets/terminal_api_key
secrets:
- terminal_api_key
secrets:
terminal_api_key:
file: ./terminal_api_key.txt镜像变体
Open Terminal 提供三种镜像:
latest | slim | alpine | |
|---|---|---|---|
| 适用场景 | 通用 / AI agent | 更小体积 | 最小体积 |
| 体积 | ~4 GB | ~430 MB | ~230 MB |
| 预装内容 | Node.js、Python、编译器、ffmpeg、Docker CLI、数据科学库 | git、curl、jq | git、curl、jq |
| 可运行时安装包 | ✔ | ✘ | ✘ |
| 支持多用户 | ✔ | ✘ | ✘ |
如果你不确定,优先用 latest。