Loading...

文章背景图

Open Interpreter:让大模型在本地运行代码与操控电脑的开源 Agent|部署与使用全指南

2026-10-26
1
- 字
- 分钟
|

Open Interpreter:让大模型在本地运行代码与操控电脑的开源 Agent|部署与使用全指南

部署定位:让大模型在本地终端直接编写并运行 Python / JavaScript / Shell 代码、操作文件与浏览器,实现本地自动化、数据分析与电脑操控。 适配版本:本指南以 Python 经典版(Classic) 的部署模型撰写(pip 安装、--server 服务模式、interpreter 配置对象、OPEN_INTERPRETER_* 环境变量、profiles 配置),这是本指南第 5–7 章命令所对应的版本。


〇、2026 现状速读(必读,避免装错版本)

截至 2026 年,Open Interpreter 项目发生了一次重大分叉,部署前务必分清你要装的是哪一个:

项目

仓库

语言 / 许可证

安装方式

状态

官方主版本(Rust 重写)

github.com/OpenInterpreter/open-interpreter(本任务给定仓库)

Rust / Apache-2.0

curl -fsSL https://www.openinterpreter.com/install \| sh

活跃维护(2026-10 仍在发版,最新 rust-v0.0.56)

Python 经典版(社区维护分支)

github.com/endolith/open-interpreter

Python / AGPL-3.0

pip install open-interpreter==0.4.3(PyPI 最后版本)或源码安装社区分支

上游已停更,社区分支在维护

关键结论:

  1. 本任务要求的部署方式(pip 安装、Python 版本要求、--server 服务模式、interpreter 配置对象、profiles、OPEN_INTERPRETER_* 环境变量)——全部属于「Python 经典版」。当前官方主仓库(Rust)已不包含这些命令,请按本指南安装 Python 经典版。

  2. 许可证并非 MIT。官方 Rust 版是 Apache-2.0;Python 经典版是 AGPL-3.0(原项目于 2023-11 由维护者改为 AGPL,PyPI 0.4.3 徽章亦标注 AGPL)。商用 SaaS 场景需特别注意 AGPL 的强 copyleft(详见第十一章)。

  3. Demo:项目没有官方公开托管的在线 Demo。README 提供的是本地运行的演示截图(见下文配图),需自行安装后在本地体验。

Open Interpreter 在终端中运行(经典版本地浏览器/文件管理器演示)

一、项目简介与适用场景

Open Interpreter 是一款让大语言模型(LLM)在你自己的机器上直接运行代码的终端 Agent。安装后,在终端输入 interpreter 即可进入一个类 ChatGPT 的交互式 REPL:你用自然语言下达指令,模型会生成 Python / JavaScript / Shell 等代码,经你确认(或自动)后在本地真实进程里执行,并把运行结果(文本、图片、文件)反馈给模型继续迭代,直到任务完成。

与 ChatGPT Code Interpreter 的最大区别:后者在云端隔离容器里运行受限 Python;而 Open Interpreter 直接在你的操作系统权限下运行,拥有完整的文件系统、网络与本地应用访问能力。

适用场景

  • 本地数据分析:读取本地 CSV/Excel/PDF,清洗、统计、绘图并保存结果。

  • 文件与系统自动化:批量重命名、压缩日志、整理下载目录、定时巡检脚本。

  • 浏览器自动化:用 Playwright 驱动 Chromium 完成网页 research、表单填写、截图。

  • 电脑操控(OS 模式):在 --os 模式下控制鼠标键盘,操作原生应用("New Computer" 能力)。

  • 教学与原型:自然语言转可执行脚本,适合快速验证想法、写小工具。

  • 私有化离线运行:配合本地模型(Ollama / LM Studio)完全离线,数据不出本机。

不适用 / 需谨慎的场景

  • 把 --server 模式裸奔暴露到公网(无鉴权,任意请求可执行本机代码)。

  • 在存有重要数据的生产机上开启 auto_run / safe_mode: off。

  • 直接面向不可信用户输入的公开服务(见第十一章合规风险)。


二、核心功能逐条拆解

功能

说明

对应配置 / 命令

本地代码执行

在真实进程中运行 Python / JS / Shell,捕获 stdout/stderr/图片并回灌给模型

interpreter.computer.languages;默认支持系统 PATH 内的语言

自然语言 REPL

终端交互循环,模型先规划、展示代码、执行、再迭代

直接运行 interpreter

多模型 / 多供应商

通过 LiteLLM 接入 100+ 供应商:OpenAI、Anthropic(Claude)、Gemini、DeepSeek,以及本地 Ollama/LM Studio/jan.ai/Llamafile

--model、interpreter.llm.model、--local

安全确认机制

safe_mode 三态(off / ask / auto)+ auto_run 开关,控制代码是否需人工批准

--safe_mode、-y、interpreter.safe_mode、interpreter.auto_run

Profiles 配置

把模型、API、行为固化到 YAML 配置,避免每次敲长命令

interpreter --profiles、interpreter --profile xxx.yaml

流式输出

stream=True 增量返回消息块,便于做前端/日志

interpreter.chat(msg, stream=True)

会话管理

重置、撤销、查看 token 成本、导出消息历史

%reset、%undo、%tokens、interpreter.messages

OS 电脑操控

控制鼠标键盘、操作浏览器与原生应用

--os

Server 服务模式

以 FastAPI 暴露 HTTP 接口(/run、/chat),供 Web UI / 其他程序调用

interpreter --server --port 8000 --host 0.0.0.0

离线 / 本地模型

断网运行,不调用任何云端能力

interpreter.offline = True、--offline

下图展示了经典版的「New Computer / OS 模式」:模型可操作文件管理器与浏览器完成多步任务。

Open Interpreter 的电脑操控(OS / New Computer)示意图

三、全套官方链接

类别

地址

备注

GitHub 仓库(官方主版本,Rust)

https://github.com/OpenInterpreter/open-interpreter

当前官方主仓库,Apache-2.0

GitHub 仓库(Python 经典版社区分支)

https://github.com/endolith/open-interpreter

本指南部署对象,AGPL-3.0

官方文档(Rust 主版本)

https://docs.openinterpreter.com

308 重定向至 Rust 终端文档

经典版文档(社区分支内 /docs)

https://github.com/endolith/open-interpreter/tree/main/docs

经典版参数、profiles、OS 模式等说明

PyPI 发布页(0.4.3)

https://pypi.org/project/open-interpreter/0.4.3/

pip 安装的最后一个官方版本

Discord / 社区

https://discord.gg/Hvz9Axh84z

官方社区

License(经典版 AGPL)

https://github.com/endolith/open-interpreter/blob/main/LICENSE

AGPL-3.0

License(官方 Rust 版 Apache-2.0)

https://github.com/OpenInterpreter/open-interpreter#license

Apache-2.0

在线 Demo

无

项目未提供官方公开托管 Demo,需本地安装体验


四、硬件与环境前置要求

项目

要求

说明

操作系统

Windows 10+、Linux(主流发行版)、macOS 12+

三端均原生支持

Python

>=3.9 且 <4(官方分类器覆盖 3.9 / 3.10 / 3.11 / 3.12;推荐 3.10+)

社区分支已改用 hatchling 打包,仍要求同范围

包管理器

pip + venv(推荐),或 conda

建议始终在虚拟环境中安装

GPU

非必需

仅当你运行本地大模型(Ollama 等)时才需要显存;调用云端 API 无需 GPU

网络

调用云端 LLM API 需要联网;纯本地模型可完全离线

离线场景设置 interpreter.offline = True

Node.js

仅当需要运行 JS 代码、或本地预览文档时需要(v18.17+/v20.3+/v21+)

浏览器自动化(Playwright)需额外系统依赖

内存 / 磁盘

取决于所用模型;本地 7B 模型约需 4–8GB 内存

经典版本体轻量,开销主要来自模型

最小可行环境:一台能跑 Python 3.10 的普通笔记本 + 一个 OpenAI / DeepSeek / 本地 Ollama 的 API 接入即可。


五、多平台部署实战

以下均以 Python 经典版 为准。最新稳定发布版为 0.4.3(PyPI 最后版本);若要获取社区分支的新修复(如 reasoning_effort、DeepSeek 适配),可从 git 安装。

5.1 通用前置:创建虚拟环境(强烈推荐)

# Linux / macOS
python3 -m venv .venv
source .venv/bin/activate

# Windows (PowerShell)
python -m venv .venv
.venv\Scripts\Activate.ps1

5.2 Windows 部署

# 1) 安装 Python 3.10+(从 python.org 或 Microsoft Store,勾选 "Add to PATH")
# 2) 建立并激活虚拟环境(见上)
# 3) 安装(锁定 0.4.3 稳定版)
pip install --upgrade pip
pip install open-interpreter==0.4.3

# 4) 验证
interpreter --version
interpreter   # 进入交互式 REPL

若 PowerShell 报「禁止运行脚本」,先执行:Set-ExecutionPolicy -Scope CurrentUser RemoteSigned。

5.3 Linux 部署

# Debian/Ubuntu 示例
sudo apt update
sudo apt install -y python3.10 python3.10-venv python3-pip

python3 -m venv .venv && source .venv/bin/activate
pip install --upgrade pip
pip install open-interpreter==0.4.3

# 浏览器自动化(Playwright)所需系统库(可选)
sudo apt-get install -y libnss3 libatk1.0-0 libatk-bridge2.0-0 \
  libcups2 libxcomposite1 libxdamage1 libxrandr2 libgbm1 libxkbcommon0
interpreter   # 验证

5.4 macOS 部署

# 推荐用 Homebrew 安装 Python
brew install python@3.11

python3 -m venv .venv && source .venv/bin/activate
pip install --upgrade pip
pip install open-interpreter==0.4.3
interpreter --version

5.5 源码安装(社区分支 / 开发版)

# 克隆社区维护分支(含最新修复)
git clone https://github.com/endolith/open-interpreter.git
cd open-interpreter

python3 -m venv .venv && source .venv/bin/activate
pip install --upgrade pip

# 可编辑安装;[server] 额外装 FastAPI 等(用于 --server 模式)
pip install -e ".[server,dev]"

# 或仅基础安装
pip install -e .

interpreter --version

若只想拉取某一分支(如 classic/develop):

pip install "git+https://github.com/endolith/open-interpreter.git@classic/develop"

5.6 安装验证清单

  • interpreter --version 能输出版本号(应为 0.4.3 或社区分支 commit)。

  • 运行 interpreter 后出现 > 提示符,输入 你好,列出当前目录文件 能正常对话(需先配 API Key,见第八章)。

  • which interpreter(Linux/macOS)或 where interpreter(Windows)能定位到可执行文件。


六、配置文件参数全解

Open Interpreter 的配置有 三种层级(后者覆盖前者):CLI 参数 > 环境变量 > Profile / 默认值。可在 Python 里以 interpreter 对象属性配置,也可在命令行 / 环境变量 / YAML 配置。

6.1 Python interpreter 对象核心属性

from interpreter import interpreter

# —— 模型与供应商 ——
interpreter.llm.model          # 模型名,如 "gpt-4o"、"claude-3-5-sonnet-20241022"、"ollama/llama3:8b"
interpreter.llm.api_key        # API Key(云端供应商)
interpreter.llm.api_base       # 自定义/本地 OpenAI 兼容端点,如 "http://localhost:11434"
interpreter.llm.api_version    # 部分供应商所需 API 版本
interpreter.llm.context_window # 上下文窗口(token),如 3000
interpreter.llm.max_tokens     # 单次回复最大 token,如 1000
interpreter.llm.temperature    # 采样温度

# —— 行为控制 ——
interpreter.system_message     # 系统提示词(可 += 追加指令)
interpreter.auto_run           # True 时跳过代码确认(危险,谨慎)
interpreter.safe_mode          # "off" / "ask" / "auto"
interpreter.offline            # True 关闭所有在线能力(纯本地模型)
interpreter.os                 # True 启用电脑操控(OS)模式
interpreter.verbose            # True 打印调试/详细日志

# —— 语言与消息 ——
interpreter.computer.languages # 限制可执行语言,如 ["python"]
interpreter.messages           # 对话历史列表,赋值 [] 可重置

# 运行
interpreter.chat("你的指令")        # 单条指令
interpreter.chat()                  # 进入交互式会话
for chunk in interpreter.chat(msg, stream=True, display=False):
    print(chunk)                    # 流式输出

6.2 常用命令行参数(CLI)

参数

作用

interpreter

进入交互式 REPL

--model <name>

指定模型

--local

一键切本地模式(等价于离线 + 本地端点)

--api_key <key>

直接传入 API Key

--api_base <url>

自定义 OpenAI 兼容端点

--max_tokens <n>

单次最大 token

--context_window <n>

上下文窗口

--temperature <f>

温度

-y / --auto_run

跳过代码确认(自动运行)

--safe_mode [off/ask/auto]

安全模式

--offline

离线模式

--os

电脑操控模式

--profile <name.yaml>

使用指定 profile

--profiles

打开 profiles 目录(默认 default.yaml)

--verbose

详细日志

--server

以 FastAPI 服务模式启动

--port <n>

服务模式端口(默认 8000)

--host <ip>

服务模式监听地址(默认 127.0.0.1)

--version

查看版本

6.3 环境变量

除了标准供应商变量(OPENAI_API_KEY、ANTHROPIC_API_KEY 等),经典版支持以 OPEN_INTERPRETER_ 为前缀的环境变量覆盖配置:

环境变量

对应配置

OPEN_INTERPRETER_API_KEY

llm.api_key

OPEN_INTERPRETER_MODEL

llm.model

OPEN_INTERPRETER_API_BASE

llm.api_base

OPEN_INTERPRETER_AUTO_RUN

auto_run

OPEN_INTERPRETER_SAFE_MODE

safe_mode

OPEN_INTERPRETER_OFFLINE

offline

OPEN_INTERPRETER_OS

os

OPEN_INTERPRETER_MAX_TOKENS

llm.max_tokens

OPEN_INTERPRETER_CONTEXT_WINDOW

llm.context_window

OPEN_INTERPRETER_TEMPERATURE

llm.temperature

OPEN_INTERPRETER_VERBOSE

verbose

示例:

export OPENAI_API_KEY="sk-..."
export OPEN_INTERPRETER_SAFE_MODE="ask"
export OPEN_INTERPRETER_MODEL="gpt-4o"
interpreter

6.4 Profiles(YAML 配置)

运行 interpreter --profiles 会打开配置目录(经典版默认 ~/.interpreter/),其中 default.yaml 为默认配置。用 --profile xxx.yaml 指定,或 --profile xxx(自动补 .yaml)。

典型 ~/.interpreter/default.yaml:

model: gpt-4o
temperature: 0
api_key: sk-...            # 也可只用环境变量,勿把密钥硬编码进仓库
system_message: |
  你是一个运行在本地服务器上的 AI 助手,偏好高效、可投产的代码。
  把重要输出保存到 /workspace/。
safe_mode: ask             # 推荐 ask;auto_run 默认 false
auto_run: false
verbose: false

配置目录位置提示:不同历史版本可能落在 ~/.interpreter/(profiles)或 ~/.config/Open Interpreter/config.yaml(旧配置),以及 Rust 版使用 ~/.openinterpreter。经典版以 ~/.interpreter/ 的 profiles 为主。


七、启动 / 后台常驻 / 开机自启 / 改端口教程

7.1 普通 CLI 启动

interpreter                 # 交互式 REPL(需先配置 API Key)
interpreter "分析当前目录的 .py 文件行数"   # 单条指令后退出

7.2 --server 服务模式与改端口

经典版内置 FastAPI 服务,可用于 Web UI / 远程调用:

# 默认监听 127.0.0.1:8000
interpreter --server

# 改端口(例如 8080)并允许局域网/公网访问
interpreter --server --port 8080 --host 0.0.0.0
  • 默认端口:8000。

  • 改端口:用 --port <端口号>。

  • HTTP 接口:提供 /run(执行代码块)、/chat(对话)等端点。

  • ⚠️ 安全警告:--host 0.0.0.0 会把「可在你机器上执行代码」的能力暴露到网络。切勿在无鉴权、无 VPN/隧道的情况下公网暴露。正确做法是配合反向代理鉴权、SSH 隧道或仅监听 127.0.0.1 再用隧道转发。

7.3 后台常驻运行

# 方式一:nohup(Linux/macOS)
nohup interpreter --server --port 8000 > /var/log/open-interpreter.log 2>&1 &

# 方式二:tmux(推荐,可随时attach查看)
tmux new -s oi
interpreter --server --port 8000
# Ctrl+B D 分离

# 查看日志
tail -f /var/log/open-interpreter.log

7.4 Linux systemd 开机自启

创建 /etc/systemd/system/open-interpreter.service:

[Unit]
Description=Open Interpreter Server
After=network.target

[Service]
Type=simple
User=root                       # 建议改为专有权限的低权限用户
WorkingDirectory=/workspace
Environment=OPENAI_API_KEY=sk-your-key
Environment=OPEN_INTERPRETER_SAFE_MODE=ask
ExecStart=/opt/open-interpreter/bin/interpreter --server --port 8000 --host 127.0.0.1
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

启用:

sudo systemctl daemon-reload
sudo systemctl enable open-interpreter
sudo systemctl start open-interpreter
sudo systemctl status open-interpreter

7.5 Windows 开机自启(计划任务)

# 以管理员 PowerShell 注册开机启动(机器启动、无论是否登录都运行)
schtasks /Create /TN "OpenInterpreter" /TR "C:\path\to\.venv\Scripts\interpreter.exe --server --port 8000" /SC ONSTART /RU SYSTEM

或在「任务计划程序」图形界面中新建:触发器=「计算机启动时」,操作=启动 interpreter.exe --server --port 8000。

7.6 macOS 开机自启(launchd)

编写 ~/Library/LaunchAgents/com.openinterpreter.plist,RunAtLoad 设为 true,ProgramArguments 指向虚拟环境中的 interpreter 与参数,再用 launchctl load ~/Library/LaunchAgents/com.openinterpreter.plist 加载。

Open Interpreter 终端运行界面(官方主版本 hero 截图,供对照参考)

八、功能实操教程

8.1 本地运行:第一个任务

# 激活虚拟环境后
export OPENAI_API_KEY="sk-..."
interpreter
# 出现 > 提示符后输入:
# > 列出当前目录下所有 .py 和 .md 文件,按大小排序

模型会生成代码并在执行前请你确认(见 8.5 安全机制)。

8.2 连接云端 LLM API(OpenAI 示例)

from interpreter import interpreter

interpreter.llm.model = "gpt-4o"
interpreter.llm.api_key = "sk-..."      # 或依赖环境变量 OPENAI_API_KEY
interpreter.chat("下载 example.csv,画一张按月份的销售柱状图并保存为 sales.png")

命令行等价:interpreter --model gpt-4o --api_key sk-...。其它供应商(Anthropic、DeepSeek、Gemini)通过 --model 指定对应模型名并配置对应 XXX_API_KEY 即可(经 LiteLLM 路由)。

8.3 连接本地模型(Ollama / LM Studio)

Ollama(默认端点 http://localhost:11434):

ollama pull qwen2.5-coder:7b     # 编码能力较强的本地模型
interpreter --model ollama/qwen2.5-coder:7b
# 或持久化到 profile:
interpreter --model ollama/llama3:8b --profile

LM Studio(OpenAI 兼容,默认 http://localhost:1234/v1):

from interpreter import interpreter

interpreter.offline = True                 # 关闭在线能力
interpreter.llm.model = "openai/x"         # 以 OpenAI 格式发送
interpreter.llm.api_key = "fake_key"       # LiteLLM 要求占位
interpreter.llm.api_base = "http://localhost:1234/v1"
interpreter.chat()

纯本地模型 + offline=True 可做到完全离线、数据不出本机。

8.4 自动化示例

> 找出 ~/Downloads 里本周修改过的所有 PDF,提取文本,生成包含
  文件名、页数和前 200 字的 summary.csv
> 写一个每 5 秒监控 CPU 温度、超过 85°C 就报警的 Python 脚本并运行

模型会:写代码 →(ask 模式下)等你批准 → 执行 → 读输出 → 继续,直到完成。建议先在测试目录(非重要数据)跑这类任务。

8.5 安全确认机制(重点)

Open Interpreter 默认执行任何生成的代码前都会请你确认。三态 safe_mode:

模式

行为

ask(推荐)

每个代码块执行前询问是否批准

auto

仅自动运行「安全(只读)」操作,危险操作仍询问

off

立即执行所有代码,无任何提示(极度危险)

  • 跳过确认(自动化):-y 或 interpreter.auto_run = True。

  • 强烈建议:日常保持 ask;把 auto_run / safe_mode: off 当作自动化开关,而不是日常默认值。在让模型动手改文件前,先让它「只做 dry-run 并打印将要执行的命令」核对影响范围。


九、全套报错故障排查(≥8 条)

1. 依赖冲突 / 安装失败

  • 现象:pip install 报版本冲突、ResolutionImpossible、或 poetry install 失败(历史已知 issue #465)。

  • 解决:使用干净虚拟环境(python -m venv);优先 pip install open-interpreter==0.4.3 而非旧 Poetry 工作流;社区分支已弃用 Poetry,改用 hatchling,直接用 pip install -e .。

2. API Key 缺失或无效

  • 现象:启动即报 Incorrect API key、401、或不断要求输入 key。

  • 解决:确认已 export OPENAI_API_KEY=...(或对应供应商变量);检查 key 是否复制完整、是否过期、账户是否有额度;可用 echo $OPENAI_API_KEY 验证变量已导出。

3. 沙箱 / 权限被阻止(safe_mode)

  • 现象:代码被拦截、提示需批准,或你误以为「卡住」。

  • 解决:在 ask 模式下输入 y 批准;确认 safe_mode 设置。仅在可信环境谨慎使用 --safe_mode false 或 safe_mode: off。注意 --server 模式同样受 safe_mode 约束。

4. 代码执行报错(Python 版本 / 缺包)

  • 现象:模型代码因 SyntaxError(Python 版本不符)、ModuleNotFoundError 失败。

  • 解决:确认 Python 在 3.9–3.12;先 pip install 缺失的第三方库再让模型重试;把运行环境固定到与模型训练时相近的 Python 版本(推荐 3.10/3.11)。

5. 中文编码 / 乱码问题

  • 现象:中文路径、中文输出乱码,Windows 上 UnicodeEncodeError 或 GBK 报错。

  • 解决:终端与文件系统统一 UTF-8;Linux/macOS 设 export LANG=C.UTF-8;Windows 在 PowerShell 执行 chcp 65001 并选用 UTF-8 字体;让模型读写文件时显式指定 encoding="utf-8"。

6. --server 端口被占用

  • 现象:启动报 Address already in use 或连接 Connection refused。

  • 解决:ss -tlnp | grep 8000(Linux)/ netstat -ano | findstr 8000(Windows)查占用;换端口 interpreter --server --port 8080;检查防火墙 ufw allow 8000/tcp(仅限受信任网络)。

7. 本地模型连接失败

  • 现象:Ollama/LM Studio 连不上、Connection refused、返回空。

  • 解决:确认本地服务已启动(ollama serve 默认 11434;LM Studio 开启 Server 并记端口);api_base 指向正确端点;offline=True 时不要用需联网的模型;减小 context_window(如 4096)降低本地显存压力。

8. 浏览器 / Playwright 依赖缺失

  • 现象:OS 模式或网页自动化时报 Chromium 启动失败、缺 .so 库。

  • 解决:pip install playwright && playwright install chromium && playwright install-deps(Linux 需上述 apt 系统库);容器内注意授予 --no-sandbox 等价权限。

9. interpreter: command not found

  • 现象:装完却找不到命令。

  • 解决:确认虚拟环境已激活(source .venv/bin/activate);which interpreter / where interpreter 检查 PATH;或全局安装 pip install --user open-interpreter。

10. 上下文 / Token 超限

  • 现象:长会话后报上下文超限、回复截断。

  • 解决:用 %reset 重置;降低 --context_window;把大文件切分处理;或在系统提示中要求模型「只读必要字段」。


十、升级 / 回滚 / 卸载教程

10.1 升级

# PyPI 官方最后版本即 0.4.3;如需社区分支的新修复:
pip install --upgrade pip
pip install "git+https://github.com/endolith/open-interpreter.git@classic/develop"

# 仅更新已装经典版(若日后有新 PyPI 发布)
pip install --upgrade open-interpreter

注意:官方主仓库(Rust)走独立安装脚本,与 Python 经典版互不影响;二者控制台脚本都叫 interpreter / i,不要在同一环境混装,以免命令指向错误版本。

10.2 回滚到指定版本

# 回滚到具体 PyPI 版本
pip install open-interpreter==0.4.2

# 社区分支回滚到某次提交
pip install "git+https://github.com/endolith/open-interpreter.git@<commit-hash>"

10.3 卸载

pip uninstall open-interpreter
# 清理残留配置目录(按需,会删除你的 profiles 与历史)
rm -rf ~/.interpreter
rm -rf ~/.config/"Open Interpreter"
rm -rf ~/.openinterpreter

十一、商用许可与合规风险提示

11.1 许可证(非 MIT,请注意)

  • 官方 Rust 主版本:Apache-2.0——宽松许可证,商用友好,仅需保留版权与声明。

  • Python 经典版(本指南部署对象):AGPL-3.0——强 copyleft。关键点:AGPL 的「网络条款」规定,如果你把基于它的软件以网络服务形式提供给用户(即用户通过网络与之交互),你必须向这些用户提供完整的对应源代码。这意味着把经典版包装成 SaaS 对外提供服务时,有公开源码的义务。

  • 本任务信息中标注的「MIT」与项目实际许可证不符,部署与分发前请以仓库 LICENSE 文件为准(Apache-2.0 / AGPL-3.0)。

11.2 本地代码执行的安全风险

Open Interpreter 会在你的操作系统权限下执行模型生成的任意代码。风险包括:

  • 模型误解指令,误删 / 覆盖重要文件;

  • auto_run / safe_mode: off 下无确认地执行破坏性命令;

  • --server 公网暴露后,任意请求可在你机器上执行代码(远程代码执行);

  • 提示注入:若让模型读取网页 / 邮件 / 不可信文件后执行,可能被诱导执行恶意代码。

11.3 防范措施(务必落实)

  1. 隔离运行:生产 / 自动化场景放入 Docker 容器或虚拟机,仅挂载专用工作目录(如 -v $(pwd)/workspace:/workspace),让模型无法触及 home 目录。

  2. 保持 safe_mode: ask:避免 auto_run / off 作为默认;确需自动化时,先把动作范围限制在只读/统计类无副作用命令。

  3. 最小权限用户:systemd / 计划任务用低权限专用账户,而非 root/Administrator。

  4. 不裸暴露服务:--server 不要直接 --host 0.0.0.0 上公网;用 SSH 隧道(ssh -L 8000:localhost:8000 user@host -N)、反向代理 + 鉴权(如带密钥的 Nginx/Cloudflare Access)访问。

  5. 审计输入:不要让它自动执行来自不可信来源(网页、邮件、外部文件)的内容;长任务先让其 dry-run 并汇报。

  6. 限制语言:interpreter.computer.languages = ["python"] 收束可执行面。

  7. 备份:在含重要数据的机器上运行前先备份。


总结:Open Interpreter 是把 LLM 变成「本地终端 Agent」的利器,但「能力越大责任越大」。请分清 Rust 官方版与 Python 经典版、认清 AGPL/Apache 许可证差异,并在隔离环境与确认机制下使用,方能安全释放其自动化价值。

评论交流

文章目录