本文档为有兴趣为 Open Interpreter 做出贡献的开发者提供了基本信息。内容涵盖项目结构、贡献工作流程、开发指南和未来计划。有关项目路线图和计划功能的信息,请参阅 路线图与未来发展。有关遥测和数据收集实践的详细信息,请参阅 遥测与数据收集。
Open Interpreter 组织为两个主要组件,各负有不同的职责。
代码库遵循模块化结构,将核心功能与用户界面分开。
Open Interpreter 欢迎社区的贡献。以下是您可以有效贡献的方式:
在创建新问题之前,请检查您的问题是否已在 常见问题解答 中是否已报告。
报告 Bug 时
功能请求
来源:.github/ISSUE_TEMPLATE/bug_report.yml .github/ISSUE_TEMPLATE/feature_request.yml
在考虑贡献时,请牢记项目定义的范围。
范围内
core:专注于让 LLM 通过代码执行安全地控制计算机。terminal_interface:供用户指挥代码运行 LLM 的纯文本界面。范围外
core 中除运行代码之外的其他功能。Open Interpreter 正在致力于构建一个强大的测试框架,以确保可靠性和性能。项目旨在:
测试工作侧重于跨不同模型和配置的功能和性能。
Open Interpreter 包含一个匿名遥测系统,用于帮助理解使用模式并改进产品。
遥测系统收集:
interpreter.chat 的运行方式和模式。它不收集个人身份信息,例如用户名、主机名、文件名或环境变量。
您可以通过以下几种方式禁用遥测:
| 方法 | 示例 |
|---|---|
| Python API | interpreter.disable_telemetry = True |
| CLI | interpreter --disable_telemetry |
| 配置文件 | 在配置文件 YAML 中设置 disable_telemetry: true。 |
| 环境变量 | 设置 DISABLE_TELEMETRY=true。 |
遥测系统使用 PostHog 进行数据存储和分析。每个用户都会被分配一个唯一的 ID,该 ID 存储在 ~/.cache/open-interpreter/telemetry_user_id 中。
来源:interpreter/core/utils/telemetry.py docs/telemetry/telemetry.mdx
Open Interpreter 正在训练一个开源语言模型,并允许用户贡献他们的对话以供训练使用。
来源:interpreter/terminal_interface/contributing_conversations.py
对话贡献通过以下方式处理:
来源:interpreter/terminal_interface/contributing_conversations.py169-193
项目正在朝着以下方向努力:
这些工作旨在使代码库更易于维护和贡献。
要开始为 Open Interpreter 做出贡献:
在提交拉取请求之前,请确保您的代码符合项目的架构和范围。
通过以下方式加入 Open Interpreter 贡献者社区:
您的贡献有助于使 Open Interpreter 更强大,并为全球用户所用。