☰
Open Interpreter CLI 快速上手:安装、更新、卸载与源码构建完全攻略
2026/9/27 10:02:05 网站建设 项目流程

Open Interpreter CLI 快速上手:安装、更新、卸载与源码构建完全攻略

【免费下载链接】openinterpreterA coding agent for open models like Kimi K3 and GLM 5.3项目地址: https://gitcode.com/GitHub_Trending/op/openinterpreter

Open Interpreter 安装,说白了就是装好一个会写代码的命令行助手。这个面向 Kimi K3、GLM 5.3 等开放模型的编程代理,核心是一个interpreter命令;本文覆盖安装前检查、一键安装、更新、卸载、源码构建与日志排查。

项目速览

先说它能干嘛。装完之后,你在终端里敲下interpreter(或者更短的别名i),就进入一个交互式编码代理:让它"解释一下这个代码库",它会自己列出目录、翻文档、梳理架构;让它"找出并修复 @filename 里的 bug",它会先更新计划再动手改代码、跑验证。整个过程就在终端里进行,模型用的是 Kimi K3、GLM 5.3 这类开放模型,而不是单一闭源接口。

那它装完之后到底在你电脑里留下了什么、为什么卸载时敢保证不误伤其他工具?别急,装完验证那一步我会带你把目录结构彻底看明白。

安装前准备 & 一键安装

环境预检:装之前先勾一遍这份清单

动手前先花十秒钟确认几件事,能省掉后面大多数"装不上"的困惑:

  • macOS:当前发行版构建面向现代 macOS 版本,太老的系统不在目标范围内。
  • Linux:使用近期的 64 位发行版即可。发行压缩包基于 musl 构建,为的就是在尽量多的发行版上都能跑起来。
  • Windows:准备一个 PowerShell 环境即可;如果你更习惯类 Linux 工作流,在 WSL 里走 Linux 那条路也可以。
  • Git:强烈建议装一个。仓库感知的会话、差异(diff)与审阅功能都依赖它。
  • 网络:安装脚本会在线下载对应平台的发行压缩包,macOS/Linux 端还需要curl或wget之一(scripts/install/install.sh 里两者都会尝试)。

macOS / Linux 一键安装步骤

预检没问题,打开终端,贴这一行:

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

这条命令拉取的就是仓库里维护的 scripts/install/install.sh:下载你平台的发行包、在~/.openinterpreter下铺好包结构、在~/.local/bin里放好可执行入口,三步一气呵成。

Windows 安装路径与命令

打开 PowerShell(具备用户级写入权限即可),执行:

irm https://www.openinterpreter.com/install.ps1 | iex

Windows 上可执行入口落在%LOCALAPPDATA%\Programs\Open Interpreter\bin,而真正的包数据存放在%USERPROFILE%\.openinterpreter\packages\standalone——这个路径约定在卸载时还会用到。

装完先验证 + 刚刚你的电脑上发生了什么

💡 先说结论:重启你的 shell(让PATH生效),然后验证:

interpreter --version

能打印出版本号,就算装成功了。此时interpreter和别名i都能直接进交互会话。

那刚才那一分钟里,系统里实际发生了什么?可以把它理解成"门牌 + 档案室"的两层结构:

  • 门牌(shim):~/.local/bin/interpreter和~/.local/bin/i只是两个软链,指向包内的真实二进制。你日常敲命令时找的始终是这两个门牌。
  • 档案室(受管包):真正按版本存放的档案在~/.openinterpreter/packages/standalone/releases/<版本>下,每个版本一格;一个叫current的软链则像"当前在用"的指路牌,始终指向最新装好的那一格。
  • 门锁:standalone/install.lock是并发安装锁,防止两个安装流程同时写坏档案室。

理解了"更新只是换一格档案、把current指路牌挪过去",后面更新和卸载为什么安全,就全通了。

保持更新:三种让 CLI 最新的姿势

默认情况下,独立安装会在正常交互式启动时自动检查更新,你什么都不用做。但想手动掌握节奏时,有三种姿势任选:

  1. 主动拉新版:直接运行interpreter update,它会拉取最新发行版并切换current指向。
  2. 关掉启动自检:在配置里写check_for_update_on_startup = false。这个字段真实存在于配置系统(由 codex-rs/config/src/config_requirements.rs 中的ConfigRequirementsToml声明并参与分层合并),关掉后启动时就不会再打扰你。
  3. 重跑公共安装命令:再执行一遍前面那条curl | sh是官方明确支持的幂等操作,随时可以把环境拉回最新状态。

两个进阶细节,知道即可:

  • 想装指定版本而不是最新版,安装脚本支持--release VERSION参数,版本号需符合x.y.z或x.y.z-alpha.N/x.y.z-beta.N格式(默认latest),校验逻辑就在 scripts/install/install.sh 里。
  • 调试启动或更新循环问题时,CLI 的 doctor 后台逻辑会维护一个叫app-server-updater.pid的文件(见 codex-rs/cli/src/doctor/background.rs),保证 doctor 检查在更新循环旁边运行时也是安全的。

安全卸载与数据保留

最快卸载方法:三条命令优雅退场

🧹 macOS 和 Linux 的卸载逻辑完全一致,一段脚本搞定(macOS 在终端跑,Linux 同理):

for name in interpreter i codex-code-mode-host; do path="$HOME/.local/bin/$name" case "$(readlink "$path" 2>/dev/null || true)" in "$HOME/.openinterpreter/packages/standalone/"*) rm -f "$path" ;; esac done rm -rf "$HOME/.openinterpreter/packages/standalone"

注意脚本里的readlink校验:只有当软链目标确实指向受管 standalone 目录时才会删,防止误伤你自己装的其他工具。两个平台唯一的差别在 shell 配置:如果安装程序曾往配置里写过标记为Open Interpreter installer的块,macOS 去~/.zprofile/~/.bash_profile里删,Linux 去~/.bashrc、~/.zshrc或~/.profile里删。~/.local/bin留在PATH里是安全的——尤其是其他工具还在用它的时候。

Windows 走 PowerShell,脚本先验证bin目录确是指向 standalone 根目录的 junction(目录联接),不是就直接抛异常拒绝删除,随后移除 junction、删掉 standalone 根目录,最后把bin目录从用户级Path中摘除:

$binDir = Join-Path $env:LOCALAPPDATA "Programs\Open Interpreter\bin" $interpreterHome = Join-Path $env:USERPROFILE ".openinterpreter" $standaloneRoot = Join-Path $interpreterHome "packages\standalone" if (Test-Path -LiteralPath $binDir) { $binItem = Get-Item -LiteralPath $binDir -Force $binTarget = [string]$binItem.Target $isManagedJunction = ($binItem.Attributes -band [IO.FileAttributes]::ReparsePoint) -and $binTarget.StartsWith($standaloneRoot, [StringComparison]::OrdinalIgnoreCase) if (-not $isManagedJunction) { throw "Refusing to remove $binDir because it is not an Open Interpreter managed junction." } Remove-Item -LiteralPath $binDir -Recurse -Force } Remove-Item -LiteralPath $standaloneRoot -Recurse -Force -ErrorAction SilentlyContinue $userPath = [Environment]::GetEnvironmentVariable("Path", "User") if (-not [string]::IsNullOrWhiteSpace($userPath)) { $nextPath = ($userPath -split ";" | Where-Object { -not [string]::Equals($_.TrimEnd("\"), $binDir.TrimEnd("\"), [StringComparison]::OrdinalIgnoreCase) }) -join ";" [Environment]::SetEnvironmentVariable("Path", $nextPath, "User") }

跑完后打开一个新的 PowerShell 窗口,让它拿到更新后的用户PATH即可。

自定义路径?替换规则看这里

如果你安装时通过环境变量自定义过位置,把上面脚本里的默认路径换成你自己的值就行:

环境变量作用默认值
OPEN_INTERPRETER_INSTALL_DIR自定义 shim(可执行文件)目录~/.local/bin
INTERPRETER_HOME自定义主目录~/.openinterpreter
CODEX_INSTALL_DIR/CODEX_HOME前两组的兼容别名,仓库脚本同时读取以向后兼容同上

这组变量的读取顺序可以在 scripts/install/install.sh 开头几行直接看到。

想连根拔起?先备份

⚠️这一步不可撤销,请先备份。上面所有卸载命令都有意保留~/.openinterpreter下的用户数据——你的配置、会话、日志、文件存储的凭证都还在,重装后无缝衔接。

如果你就是想把一切清干净:macOS/Linux 上删除~/.openinterpreter整个目录,Windows 上删除$env:USERPROFILE\.openinterpreter。但请记住两件事:这是不可逆操作;而且它碰不到存放在操作系统密钥环(keyring)或环境变量里的凭证,那部分需要你在系统层面另行清理。

开发者专区:从源码构建

🛠️ 要改 CLI 源码并在本地验证的话,先把仓库拿下来:

git clone https://gitcode.com/GitHub_Trending/op/openinterpreter

然后在仓库根目录跑:

./scripts/build-interpreter-release.sh

这里要泼一盆冷水:别拿随手一条cargo build糊弄。裸编译出来的二进制只是个"光板",缺少入口点、打包资源和平台帮助程序这些受管布局的组成部分,而"安装上下文检测"和"自更新"恰恰全靠这套文件结构才能跑通。发行版脚本产出的,才是和公共安装程序完全同构的包。

脚本参数一览(来自其自带 usage 说明):

参数默认值说明
--target <triple>当前宿主平台指定 Rust 目标三元组,用于交叉构建
--install-dir <dir>$OPEN_INTERPRETER_INSTALL_DIR/$CODEX_INSTALL_DIR,否则~/.local/bin放置interpreter/ishim 的可见目录
--home <dir>$INTERPRETER_HOME,否则~/.openinterpreter主目录,包会暂存在其下
-j, --jobs <N>$CARGO_BUILD_JOBS,否则1并行 Cargo 构建任务数,须为正整数

执行流程一句话版:校验参数 → 在releases/下准备临时 staging 目录 → 调用python3 scripts/build_codex_package.py(带--variant open-interpreter、--cargo-profile release,注意脚本要求 Python 3.11+)完成真实构建 → 产物移入releases/local-<target>→ 原子切换current软链 → 在 shim 目录建立interpreter与i两个门牌 → 最后跑interpreter --version自检。整条链路有回归测试兜底,见 scripts/test_build_interpreter_release.py。

构建完成后直接执行~/.local/bin/interpreter就能启动你的本地产物;若要正式对外分发,请走 README_ZH.md 中描述的发布流程。

出问题了?查日志

🔍 交互式 TUI 的日志固定写在:

~/.openinterpreter/log/

这个目录对应配置里的log_dir字段(在 codex-rs/config/src/config_requirements.rs 中被建模为受控路径字段)。只给某一次运行换个临时日志目录,可以用命令行内联配置:

interpreter -c log_dir='"./.interpreter-log"'

再看 Rust 侧日志时,用标准RUST_LOG过滤语法调粒度:

RUST_LOG=info interpreter

RUST_LOG=debug看更细,RUST_LOG=interpreter=debug只放大核心模块。日志目录配合过滤级别,模型调用、工具执行、自更新这几个环节的毛病基本都能定位。

常见问题速查

Q:装完了,但终端提示interpreter命令不存在?九成是PATH没生效:macOS/Linux 重启 shell 再试,Windows 开新的 PowerShell 窗口。也可以echo $PATH确认~/.local/bin在不在里面——安装程序有时会往 shell 配置文件里加标记块来补这条路径。

Q:怎么确认当前装的是哪个版本?跑interpreter --version最直接。想看实物:~/.openinterpreter/packages/standalone/releases/下每个版本一格档案,current软链指向哪格,你就在用哪格。

Q:卸载了再重装,配置和会话还在吗?在。常规卸载只清 shim 和受管包,~/.openinterpreter里的配置、会话、日志、文件存储凭证原封不动。只有执行"连根拔起"那一步才会动它们。

Q:能关掉启动时的自动更新检查吗?能,配置里设check_for_update_on_startup = false即可。

Q:自定义了安装路径,卸载命令要改吗?要。按前面"替换规则"那张表,把脚本里的默认路径换成你当时设置的环境变量值即可。

Open Interpreter 的整套生命周期其实就一句话:公共脚本负责铺好"门牌 + 档案室",更新只是挪指路牌,卸载则只清受管文件、数据安然无恙。接下来建议顺着读下去:官方安装文档(中文)、快速上手、配置参考 和 示例配置,把模型提供商和个性化参数也配好。

【免费下载链接】openinterpreterA coding agent for open models like Kimi K3 and GLM 5.3项目地址: https://gitcode.com/GitHub_Trending/op/openinterpreter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询