项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 3527
使用教程
环境要求
- 已安装 Docker(推荐用 Docker 方式运行)
- 本机 8000 端口未被占用
- 若走裸机方式:已安装 Python,并可用 pip 或 uvx
- 准备好一个自定义 API 密钥(可选,不设置会自动生成)
安装与启动步骤
-
1启动 Docker 容器
用官方镜像一键拉起服务,挂载 open-terminal 数据卷持久化 /home/user,并通过环境变量设置 API 密钥。
docker run -d --name open-terminal --restart unless-stopped -p 8000:8000 -v open-terminal:/home/user -e OPEN_TERMINAL_API_KEY=your-secret-key ghcr.io/open-webui/open-terminal -
2获取自动生成的密钥
如果启动时没有设置 OPEN_TERMINAL_API_KEY,系统会自动生成一个,可从容器日志中读取。
docker logs open-terminal -
3访问服务验证
服务默认监听 8000 端口,浏览器或 curl 访问 http://localhost:8000 即可看到接口响应。
curl http://localhost:8000 -
4按需安装额外软件包
通过环境变量在容器启动时安装 apt / pip / npm 包,包多会拖慢启动速度,重度定制建议自建镜像。
docker run -d --name open-terminal -p 8000:8000 \ -e OPEN_TERMINAL_PACKAGES="cowsay figlet" \ -e OPEN_TERMINAL_PIP_PACKAGES="httpx polars" \ -e OPEN_TERMINAL_NPM_PACKAGES="typescript tsx" \ ghcr.io/open-webui/open-terminal -
5裸机方式运行(可选)
不装 Docker 时可用 uvx 免安装运行,或用 pip 全局安装后启动。注意命令会直接以你的用户权限在真机执行。
uvx open-terminal run --host 0.0.0.0 --port 8000 --api-key your-secret-key -
6使用自定义配置文件
除环境变量和命令行参数外,还可以通过 TOML 配置文件启动,并用 --config 指定具体文件路径。
open-terminal run --config /path/to/my-config.toml
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPEN_TERMINAL_API_KEY | 否 | 访问 API 的密钥,不设置则自动生成,可用 docker logs 查看 | your-secret-key |
OPEN_TERMINAL_PACKAGES | 否 | 启动时安装的 apt 包,空格分隔 | cowsay figlet |
OPEN_TERMINAL_PIP_PACKAGES | 否 | 启动时安装的 pip 包,空格分隔 | httpx polars |
OPEN_TERMINAL_NPM_PACKAGES | 否 | 启动时全局安装的 npm 包,空格分隔 | typescript tsx |
host | 否 | 监听地址(配置文件/CLI 参数) | 0.0.0.0 |
port | 否 | 监听端口(配置文件/CLI 参数) | 8000 |
如何确认成功
浏览器或 curl 访问 http://localhost:8000 有响应;执行 docker logs open-terminal 能看到启动信息和 API 密钥。
常见问题
Q:没有设置 API 密钥会怎样?
A:系统会自动生成一个密钥,用 docker logs open-terminal 即可查看并复制使用。
Q:如何让容器里的智能体使用 Docker?
A:挂载 -v /var/run/docker.sock:/var/run/docker.sock,但这等于把宿主机 Docker 守护进程的完全控制权交给容器,仅限完全可信环境。
Q:怎么做深度定制镜像?
A:fork 仓库后编辑 Dockerfile,再执行 docker build -t my-terminal . 构建,然后用 docker run -d --name open-terminal -p 8000:8000 my-terminal 启动。
Q:配置项的优先级顺序是什么?
A:从高到低:CLI 参数 > 环境变量 > 用户配置 ~/.config/open-terminal/config.toml > 系统配置 /etc/open-terminal/config.toml > 内置默认值。
注意事项
- 裸机(pip/uvx)方式下命令直接以你的用户权限在真机执行,存在风险,建议优先使用 Docker 沙箱。
- 挂载 Docker socket 会让容器获得宿主机的等效 root 权限,只应在完全信任的环境中使用。
- 通过环境变量安装软件包会在每次容器启动时重复执行,包列表较大时启动会明显变慢。
- 建议把 api_key 写到用户配置文件而非命令行参数,避免密钥出现在 ps / htop 输出中。
核心亮点
- 通过 HTTP API 直接执行终端命令,集成简单,适合 AI 工具链调用
- 内置安全机制(认证、白名单、沙箱),降低远程操作风险
- 支持实时输出流,便于监控命令执行过程
不足之处
- 文档/社区待观察
- 安全边界依赖配置,误用可能导致系统暴露
适用场景
- AI 智能体远程执行运维命令
- 开发者在 Web 界面中管理服务器
- 自动化脚本通过 HTTP 触发终端操作
替代项目
Open Interpreter、ShellGPT、ttyd
上一篇:superset
下一篇:helm-ai-kernel
同类项目推荐
obsidian-gemini-helper
开源
在 Obsidian 里用 Gemini 聊天、搜索和自动化,桌面移动都能用。
AI chat, workflow automation, semantic search (RAG), LLM Wiki (OKF) powered by Goog···
openclaw-desktop
开源
把 OpenClaw 装进桌面,告别浏览器,聊天更顺手
️ A native desktop client for OpenClaw premium UI experience without the browser. ···
mcp-local-rag
开源
本地跑RAG搜索,无需API,数据不出门
Web search MCP server that does search result reranking locally on your machine, for···
state-memory-mcp
开源
让 AI 编程助手记住任务、决策和卡点,跨会话不丢上下文
Persistent, branch-aware workflow state memory MCP server for AI coding assistants. ···
generative-agents
开源
本地跑起斯坦福AI小镇,低成本模拟人类行为
Working, locally-running, low-cost implementation of Generative Agents: Interactive ···
clawhive
开源
用 Rust 打造安全可控的多智能体协作平台
Lightweight, Rust-native AI Agent platform. Security sandbox from day one.
sage
开源
多模型AI评审团,实时把关编码代理每一步操作。
An LLM council that reviews your coding agent's every move
my-virtual-office
开源
把 AI 智能体放进 2D 办公室,可视化管理和协作
A self-hosted 2D AI workspace for AI Agents
superior-skills
开源
让 AI 代理直接上手交易,开箱即用的交易技能库
Open agent skills and tool schemas for Superior Trade — build, backtest, and deploy···
