开发与工程 remote-shellrest-apidockersandboxfile-managementmulti-useropen-webui

Open Terminal

为AI代理和自动化工具提供可通过REST API访问的轻量级自托管终端环境。

FollowAgents 评估 · FARS-2.1
不推荐
50/ 100 五分制 2.5 / 5
1 2 3 4 5 6
1信任安全7 / 29 · 1.2/5

证据显示:README 明确警告 Docker socket 挂载和裸机运行的风险,提供多用户隔离选项,但未提供用户确认机制或回滚方案。API 密钥通过环境变量配置,但未说明密钥存储和传输安全。依赖版本范围宽松,未提供锁文件或漏洞扫描证据。外部影响(如 Docker socket)有警告但无强制限制。来源归属:作者和许可证明确,但发布者未验证。扣分:缺少用户确认、回滚、依赖安全细节。

2可靠稳定8 / 14 · 2.9/5

证据显示:README 和配置文档一致,Docker 镜像变体说明清晰,依赖列表完整。但未提供错误消息示例或故障排除指南。扣分:失败消息不明确。

3适用触发12 / 18 · 3.3/5

证据显示:明确面向 AI 代理和自动化工具,提供 Docker 和裸机两种部署方式,支持多种镜像变体,配置灵活。能力边界(如文件浏览器根目录)有说明,但未明确限制终端命令。触发精度:通过 API 密钥和配置控制,但未提供细粒度权限。环境适配:支持多平台和 OpenShift。扣分:能力边界和触发精度可更明确。

4规范维护11 / 18 · 3.1/5

证据显示:README 结构清晰,安装说明详细,命名稳定(open-terminal),提供示例和 FAQ(通过 README 中的提示),已知限制(如多用户模式警告)有说明,许可证 MIT,版本号在 pyproject.toml 中,有 CHANGELOG 和发布工作流。维护责任:作者明确,但发布者未验证。扣分:维护责任仅基于作者信息。

5有效结果9 / 13 · 3.5/5

证据显示:输出为 REST API,文档提供交互式 API 文档,易于使用。边际价值:为 AI 代理提供远程终端,有独特价值。成本效益:Docker 镜像较大,但提供 slim 变体。扣分:无性能或资源使用数据。

6证据核验3 / 8 · 1.9/5

证据显示:README 中的声明(如功能、镜像大小)与代码和配置部分一致,但未提供测试结果或独立验证。扣分:缺乏测试证据和独立来源。

证据充分度: 评估于 2026年8月11日 审查版本 c6c2b8274142
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
源码中未见的安全控制:执行前用户确认、回滚或恢复路径
使用前请注意
  • 发布者未验证,身份未知,需谨慎评估供应链风险。
  • Docker socket 挂载和裸机运行具有高风险,仅应在完全可信环境中使用。
  • 依赖版本范围宽松,未提供锁文件或漏洞扫描,建议自行审计。
  • 多用户模式不适用于生产环境,缺乏硬隔离。
评估证据 [1][2][3][4][5]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Open Terminal是一个轻量级、自托管的终端服务器,为AI代理和自动化工具提供专用的命令执行、文件管理和代码运行环境。它通过简单的REST API暴露功能,支持两种运行方式:Docker(沙箱隔离)和裸机(pip安装)。Docker镜像提供多种变体,包括包含完整工具链的完整版和精简版,满足不同需求。它集成了Open WebUI,允许AI助手直接执行命令和管理文件。该项目采用MIT许可证。

Open Terminal提供REST API端点,用于执行命令、管理文件和浏览目录。它通过/exec等端点接收命令,在服务器上执行并返回输出。它支持文件上传、下载、编辑和删除,以及获取当前工作目录和文件列表。它可通过OPEN_TERMINAL_PACKAGESOPEN_TERMINAL_PIP_PACKAGESOPEN_TERMINAL_NPM_PACKAGES环境变量自定义环境。在Docker模式下,它提供隔离环境;在裸机模式下,命令直接在主机上运行。它支持多用户模式,每个用户拥有独立的Linux账户和主目录。

  1. AI开发者在本地运行Open Terminal,让AI代理直接访问项目文件和执行命令,进行代码测试和调试。
  2. 系统管理员在服务器上部署Open Terminal,为自动化脚本提供远程执行环境,而无需暴露SSH。
  3. 团队在Open WebUI中集成Open Terminal,成员可以通过界面浏览、上传和编辑文件,同时AI助手可以执行运维任务。
  4. 安全研究人员使用Docker沙箱运行Open Terminal,安全地执行不可信代码,与主机隔离。
  5. 持续集成系统通过Open Terminal的API调用命令,在容器中运行构建和测试步骤。
  6. 教育场景中,教师设置Open Terminal实例供学生练习Linux命令,而无需在本地安装虚拟机。

这个 Agent 有哪些优点和局限?

优点
  • 提供多种Docker镜像变体,从完整工具链到极小尺寸,适应不同场景。
  • 支持通过环境变量在启动时安装apt、pip和npm包,无需fork镜像。
  • 与Open WebUI紧密集成,提供文件浏览器和用户/组级访问控制。
  • 支持内置多用户隔离,每个用户独立账户和主目录。
  • 通过API授权保护,且可作为独立服务运行。
局限
  • 裸机模式直接暴露主机权限,存在安全风险,需谨慎使用。
  • 多用户模式的生产安全性有限,不适合大型或不可信部署。
  • slim和alpine变体不支持运行时包安装,需自定义镜像。
  • OpenShift镜像功能受限,不支持运行时安装和Docker socket。
  • 创建时未设置API密钥时会自动生成,需要从容器日志中获取,可能麻烦。

如何安装或部署这个 Agent?

使用Docker安装:运行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。Docker镜像变体包括latestslimalpineopenshift。裸机安装:pip install open-terminal,然后运行open-terminal run --host 0.0.0.0 --port 8000 --api-key your-secret-key

如何使用这个 Agent?

启动后,API文档在http://localhost:8000/docs。使用API密钥进行身份验证。可通过环境变量定制环境:例如OPEN_TERMINAL_PACKAGES="cowsay figlet"。在Open WebUI中,通过用户设置或管理员设置添加Open Terminal连接,提供URL和API密钥。调用API时,使用/exec端点执行命令,使用/files端点管理文件。

常见问题

Open Terminal是否支持多用户同时使用?
支持。通过设置OPEN_TERMINAL_MULTI_USER=true可以启用多用户模式,每个用户自动获得独立的Linux账户和主目录。但注意,这种隔离基于Unix权限,不提供强隔离边界,不适合生产环境。
如何添加额外的软件包?
在Docker完整版中,可以使用OPEN_TERMINAL_PACKAGESOPEN_TERMINAL_PIP_PACKAGESOPEN_TERMINAL_NPM_PACKAGES环境变量在容器启动时自动安装软件包。对于slim和alpine变体,需要构建自定义镜像。
是否支持文件上传和下载?
是。Open Terminal提供REST API端点用于文件管理,包括上传、下载、编辑和删除。在Open WebUI中,还有图形化的文件浏览器侧边栏。
Open Terminal是否支持非Docker环境?
支持。可以通过pip install open-terminal在裸机上安装,但注意裸机模式下命令以当前用户权限直接运行,没有沙箱隔离。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents