Open Interpreter:让大模型在本地运行代码与操控电脑的开源 Agent|部署与使用全指南
部署定位:让大模型在本地终端直接编写并运行 Python / JavaScript / Shell 代码、操作文件与浏览器,实现本地自动化、数据分析与电脑操控。 适配版本:本指南以 Python 经典版(Classic) 的部署模型撰写(pip 安装、
--server服务模式、interpreter配置对象、OPEN_INTERPRETER_*环境变量、profiles 配置),这是本指南第 5–7 章命令所对应的版本。
〇、2026 现状速读(必读,避免装错版本)
截至 2026 年,Open Interpreter 项目发生了一次重大分叉,部署前务必分清你要装的是哪一个:
关键结论:
本任务要求的部署方式(pip 安装、Python 版本要求、
--server服务模式、interpreter配置对象、profiles、OPEN_INTERPRETER_*环境变量)——全部属于「Python 经典版」。当前官方主仓库(Rust)已不包含这些命令,请按本指南安装 Python 经典版。许可证并非 MIT。官方 Rust 版是 Apache-2.0;Python 经典版是 AGPL-3.0(原项目于 2023-11 由维护者改为 AGPL,PyPI 0.4.3 徽章亦标注 AGPL)。商用 SaaS 场景需特别注意 AGPL 的强 copyleft(详见第十一章)。
Demo:项目没有官方公开托管的在线 Demo。README 提供的是本地运行的演示截图(见下文配图),需自行安装后在本地体验。

一、项目简介与适用场景
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。直接面向不可信用户输入的公开服务(见第十一章合规风险)。
二、核心功能逐条拆解
下图展示了经典版的「New Computer / OS 模式」:模型可操作文件管理器与浏览器完成多步任务。

三、全套官方链接
四、硬件与环境前置要求
最小可行环境:一台能跑 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)
6.3 环境变量
除了标准供应商变量(OPENAI_API_KEY、ANTHROPIC_API_KEY 等),经典版支持以 OPEN_INTERPRETER_ 为前缀的环境变量覆盖配置:
示例:
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 加载。

八、功能实操教程
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:
跳过确认(自动化):
-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 防范措施(务必落实)
隔离运行:生产 / 自动化场景放入 Docker 容器或虚拟机,仅挂载专用工作目录(如
-v $(pwd)/workspace:/workspace),让模型无法触及 home 目录。保持
safe_mode: ask:避免auto_run/off作为默认;确需自动化时,先把动作范围限制在只读/统计类无副作用命令。最小权限用户:systemd / 计划任务用低权限专用账户,而非
root/Administrator。不裸暴露服务:
--server不要直接--host 0.0.0.0上公网;用 SSH 隧道(ssh -L 8000:localhost:8000 user@host -N)、反向代理 + 鉴权(如带密钥的 Nginx/Cloudflare Access)访问。审计输入:不要让它自动执行来自不可信来源(网页、邮件、外部文件)的内容;长任务先让其 dry-run 并汇报。
限制语言:
interpreter.computer.languages = ["python"]收束可执行面。备份:在含重要数据的机器上运行前先备份。
总结:Open Interpreter 是把 LLM 变成「本地终端 Agent」的利器,但「能力越大责任越大」。请分清 Rust 官方版与 Python 经典版、认清 AGPL/Apache 许可证差异,并在隔离环境与确认机制下使用,方能安全释放其自动化价值。