Jinni 项目旨在为开发者提供便捷的文件处理和上下文管理功能,通过灵活的规则配置,能够精准地控制哪些文件被纳入上下文,有效解决上下文大小限制等问题。
在使用 Jinni 前,你需要了解一些基本的配置和规则应用逻辑。下面将详细介绍项目根目录的设置、规则应用的流程以及如何处理上下文大小错误等关键信息。
文档未提及安装步骤,暂不提供相关内容。
在开发环境中运行服务器模块,可使用以下命令:
python -m jinni.serve serve --root /path/to/your/project_root
若需要调整 Python 路径,可以根据实际需求修改环境变量。
--root 或 root 可指定项目的根目录。若未指定,默认使用 MCP 客户端中配置的路径。--overrides(命令行接口)或 rules(MCP),这些规则将被优先使用,同时忽略所有 .contextfiles 和默认规则。路径匹配基于目标目录。.contextfiles,直至当前项的目录。然后将这些发现的 .contextfiles 规则与默认规则结合,编译成一个规范(PathSpec),并匹配当前文件/子目录的相对路径(基于目标目录计算)。! 表示否定匹配。若没有用户定义的模式匹配,则包含该项,除非它与默认排除(如 !.*)匹配。project_root。DetailedContextSizeError).contextfiles 或 --overrides / rules 来排除不必要的文件或目录。例如,在 .contextfiles 中排除所有 .log 文件和特定的大数据目录:# 排除所有日志文件
!*.log
# 排除一个大数据文件目录
!large_data_files/
--size-limit-mb(命令行接口)或 size_limit_mb(MCP)来增加大小限制。但需注意 LLM 上下文窗口限制和处理成本。jinni usage / usage:若需要再次查阅这些说明或配置细节,可使用 jinni usage 命令或查看 usage 文档。--overrides 参数指定自定义的 .contextfiles 文件路径,以覆盖默认行为。rules 属性为一个数组,包含要排除或包含的具体路径。Jinni 的规则应用逻辑基于目标目录的确定、规则的覆盖检查和动态上下文规则的计算。通过查找 .contextfiles 并与默认规则结合,编译成 PathSpec 进行路径匹配,确保规则的准确应用。
当上下文大小超过限制时,Jinni 会分析包含的文件,提取 10 个最大文件的信息,并提供相应的解决方法,帮助用户解决问题。
文档未提及许可证信息,暂不提供相关内容。