Jinni: Bring Your Project Into Context

Jinni: Bring Your Project Into Context

site icon
2025.04.07 190
Python项目上下文管理LLM集成工具开发效率
Jinni是一个高效的工具,旨在为大型语言模型(LLM)提供项目上下文。它通过整合相关项目文件及其元数据,克服了逐文件读取的限制和低效性。Jinni包含一个MCP(Model Context Protocol)服务器用于与AI工具集成,以及一个命令行工具(CLI)用于手动生成项目上下文。Jinni通过智能过滤和自定义配置,确保只包含相关文件,适合开发者在各种项目中使用。
View on GitHub

Overview

基本能力

产品定位

Jinni旨在为大型语言模型提供项目上下文,帮助开发者高效地管理和共享项目文件信息。

核心功能

  • 高效上下文收集:一次性读取并拼接相关项目文件。
  • 智能过滤:基于.gitignore语法的过滤系统,支持自定义.contextfiles配置。
  • 大上下文处理:支持配置上下文大小限制,并提供错误提示。
  • 元数据头:输出包含文件路径、大小和修改时间。
  • 编码处理:支持多种常见文本编码。
  • 列表模式:仅列出文件路径而不包含内容。

适用场景

  • 开发者在IDE中与LLM交互时提供项目上下文。
  • 手动生成项目上下文用于LLM输入。
  • 需要自定义文件包含/排除规则的项目管理。

工具列表

  1. jinni MCP服务器
  2. 与MCP客户端(如Cursor、Claude Desktop等)集成。
  3. 提供read_context工具,返回项目文件的拼接内容。
  4. jinni CLI
  5. 命令行工具,手动生成项目上下文。
  6. 支持输出到控制台、文件或剪贴板。

常见问题解答

  • 上下文大小错误
  • 检查错误消息中的大文件列表,通过.contextfiles--overrides排除不必要文件。
  • 使用--size-limit-mb增加限制(谨慎使用)。
  • Cursor用户注意
  • 大上下文可能被静默丢弃,尝试减少上下文范围(如“read context for xyz”)。

使用教程

使用依赖

  • 安装uv(推荐): bash curl -LsSf https://astral.sh/uv/install.sh | sh

安装教程

  • 使用pip安装bash pip install jinni
  • 使用uv安装bash uv pip install jinni

调试方式

  • 运行MCP服务器bash uvx jinni-server
  • 调试模式bash jinni --debug-explain ./src
  • 列出文件bash jinni -l ./my_project/

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。