菜单

高级特性

相关源文件

本页面介绍了 Open Interpreter 超越基本聊天功能的高级功能和特性。这些功能增强了可用性,支持社区贡献,并为高级用户提供了额外的自定义选项。

有关 Open Interpreter 的基本用法,请参阅Open Interpreter 简介。有关配置配置文件的信息,请参阅配置文件系统

对话管理

Open Interpreter 提供强大的对话管理功能,允许用户保存、导航和恢复过去的对话。所有对话都会自动保存在本地,并且可以通过内置的对话导航器或直接文件系统访问来浏览。

对话存储

对话以 JSON 文件的形式存储在您系统上的指定目录中。每个对话文件都包含完整的消息历史记录,包括用户输入、模型响应、代码块和执行输出。

来源:interpreter/terminal_interface/conversation_navigator.py16-92 interpreter/terminal_interface/render_past_conversation.py11-69

访问过去的对话

您可以使用对话导航器访问过去的对话,该导航器通过 --conversations 标志启动。

interpreter --conversations

导航器会显示按日期排序的过去对话列表,您可以进行以下操作:

  • 选择并恢复任何之前的对话
  • 直接打开存储文件夹以管理对话文件
  • 在终端中渲染和查看过去的对话

当您选择一个对话时,它将被加载到解释器中,您可以从上次中断的地方继续。

来源:interpreter/terminal_interface/conversation_navigator.py16-92 interpreter/terminal_interface/render_past_conversation.py11-69

遥测

Open Interpreter 包含一个可选的遥测系统,用于收集匿名使用信息以帮助改进产品。这些信息有助于开发团队了解工具的使用方式并优先进行改进。

数据收集

遥测系统收集以下信息:

  • Open Interpreter 版本和环境
  • 何时运行 interpreter.chat() 以及在何种模式下运行
  • 正在传递的消息类型
  • 发生的异常(不包含跟踪回溯)

系统**不会**收集个人身份信息或敏感信息,例如用户名、主机名、文件名、环境变量或系统信息。

来源:interpreter/core/utils/telemetry.py1-64 docs/telemetry/telemetry.mdx1-68

禁用遥测

您可以通过以下几种方式选择退出遥测:

  1. 通过 Python API:

  2. 使用 CLI 标志:

  3. 在配置文件中:

  4. 使用环境变量:

    DISABLE_TELEMETRY=true
    

来源:docs/telemetry/telemetry.mdx9-46 interpreter/core/utils/telemetry.py2-8

贡献对话

Open Interpreter 提供了一种机制,允许用户贡献他们的对话,以帮助训练开源语言模型。这是一项选择加入功能,需要用户明确许可。

贡献机制

启用后,对话可以通过两种方式贡献:

  1. 过去的对话:发送之前保存的对话
  2. 未来的对话:在对话发生时自动发送新对话

贡献的对话将发送到 Open Interpreter API 端点,以包含在开源模型的训练数据中。

来源:interpreter/terminal_interface/contributing_conversations.py19-193

选择加入

用户可以通过以下方式选择加入对话贡献:

  1. 使用托管的 i 模型

    interpreter --model i
    
  2. 在解释器初始化期间收到提示时(如果使用 i 模型)

贡献时,用户将收到一条消息通知:

此对话将用于训练 Open Interpreter 的开源语言模型。

隐私考量

在发送过去的对话之前,Open Interpreter 将会:

  1. 明确请求许可
  2. 提醒用户检查私密信息
  3. 允许在同意发送前浏览对话

未来的贡献偏好存储在您的配置文件中,可以通过编辑您的配置文件来禁用。

来源:interpreter/terminal_interface/contributing_conversations.py41-57 interpreter/terminal_interface/contributing_conversations.py60-68

Markdown 渲染

Open Interpreter 包含高级终端渲染功能,可显示格式化消息、代码块和执行输出。这增强了可读性并提供了更直观的界面。

终端用户界面组件

渲染系统包含针对不同内容类型的专用组件:

组件目的特性
消息块 (MessageBlock)渲染 Markdown 文本内容格式化、列表、代码段
代码块 (CodeBlock)显示并执行代码语法高亮、活动行高亮
终端显示 (TerminalDisplay)显示终端输出保留命令输出的格式

查看过去的对话时,使用相同的渲染组件忠实地重现原始对话流程,包括:

  • 用户输入
  • 带 Markdown 格式的助手响应
  • 带原始语法高亮的代码块
  • 执行输出

来源:interpreter/terminal_interface/render_past_conversation.py6-69

实验性功能

Open Interpreter 正在积极开发项目路线图中概述的其他高级功能。虽然尚未完全实现,但这些功能预示了未来的能力。

计划中的高级功能

一些值得注意的计划中的高级功能包括:

  1. 增强的用户输入处理:改进对 Python input() 请求和其他交互式提示的处理

  2. 代码编辑界面:允许用户在执行前编辑模型生成的代码

  3. 终端图像显示:支持在终端界面中直接显示图像

  4. 受限功能模式:通过正则表达式过滤将解释器限制为仅使用特定功能

  5. 浏览器集成:用于网页自动化和交互的浏览器模块

来源:docs/ROADMAP.md8-31 docs/ROADMAP.md71-84

与外部系统集成

高级用户可以将 Open Interpreter 与外部系统集成,并通过替换关键组件来自定义其行为。

自定义 LLM 接口

您可以将解释器的 LLM 接口替换为自定义实现

这允许进行日志记录、修改提示或响应,以及与其他系统集成。

部署 Open Interpreter

虽然服务器模式中详细介绍了服务器模式,但高级用户可以扩展此功能以:

  • 创建与其他应用程序的自定义集成
  • 实现高级日志记录或监控
  • 开发与 Open Interpreter 异步 API 协同工作的扩展

来源:docs/ROADMAP.md27-28

功能限制

Open Interpreter 正在开发一项功能,将解释器限制为仅使用特定功能,从而增强敏感环境中的安全性。

启用后,此功能将:

  1. 将可用语言限制为仅限 Python
  2. 在执行前使用正则表达式模式验证代码
  3. 确保模型仅使用经批准的功能

这创建了一个更受控的环境,同时仍然允许自然语言指令的灵活性。

来源:docs/ROADMAP.md21-25