@d3ara1n/pi-context-包括:
@path aGENTS.md 的语法——包括参考文件.
要求pi 0.86.0或更新.
特征
- 仅启动行数字 :
@path坐在一行的开头,可选在 Markdown 列表标记之后(-, (中文(简体) ),*, (中文(简体) ),+,或1.——防止电子邮件/代码出现虚假阳性 - 安全栅栏数字 :
@path三相后置区块内的行被忽略 - 相对路径数字 :
@CODEGRAPH.md, (中文(简体) ),@./docs/rules.md, (中文(简体) ),@../shared/AGENTS.md - 绝对路径数字 :
@/absolute/path/to/file.md - 主目录数字 :
@~/.pi/agent/includes/shared-rules.md - 递归包括: 包含的文件本身可以包含
@参考文献 - 循环检测: 防止无限包括环
- 大小警卫: 500KB 总限值, 深为 (可配置) 10 级
- 道路安全围栏: 包含限制在允许的根; 默认屏蔽范围外路径
安装
pi install npm:@d3ara1n/pi-context-include
或加进 ~/.pi/agent/settings.json数字 :
{
"extensions": [
"/absolute/path/to/pi-extensions/packages/pi-context-include"
]
}
依赖关系
无.
使用量
在任何AGENTS.md文件中:
# Project Rules
@./docs/api-conventions.md
@~/.pi/agent/includes/team-conventions.md
每次回合,扩展读取被引用的文件并更新自己的系统即时部分. 皮可以保持无变化的快分跨转弯.
重要内容: @path 必须是行的开头, 可选在 Markdown 列表标记之后(-编号 :*编号 :+编号 :1.) (中文(简体) ). 它不会被确认为中刑或内部代码块.
支持的文件类型
.md 只有这个 结构化格式.json编号 :.yaml编号 :.toml它被故意排除——它们通常持有配置或证书,而不是指示,而且最好按要求阅读.
配置
可选的 从 ~/.pi/agent/settings.json (全球)或
{project}/.pi/settings.json (项目). 目前的项目 contextInclude
块取代全局块;省略字段后使用默认值. maxDepth
财务报告和审定财务报表 maxBytes 必须是有限、非负数; 无效值使用
默认值. maxBytes 以 UTF-8 字节计量。 可选 allowedRoots 编号 :
deniedRoots 配置 道路安全围栏。 。 。 .
{
"contextInclude": {
"maxDepth": 15,
"maxBytes": 1000000
}
}
设置文件必须是有效的 JSON( 无注释) 。 设置已装入
开始-运行 /reload 或编辑后重新启动 pi .
道路安全围栏
包含的文件在系统中显示为 <project_instructions> 条目
内 <context_include> 节,所以意外 @secrets.json 或者说
@../sibling/secret.md 每一次都会泄露秘密 包括
因此,仅限于 允许设置根,带有 拒绝设置 那个
总是赢 :
{
"contextInclude": {
"allowedRoots": ["./docs", "~/.pi/agent/includes"],
"deniedRoots": ["./secrets", "node_modules"]
}
}
allowedRoots——可以包括的根. 相对条目解析 反对: 项目根. (此表与@- 参考 决议:a@path在 AGENTS.md 中,相对于 那个 文件和往常一样). 明确allowedRoots完全替换 页:1 下方默认值; 空数组[]封锁一切.deniedRoots- 可能永远不会包括的根源,总是首先加以评估 并优先于allowedRoots。 。 。 .
默认允许设置 (使用时 allowedRoots 被省略,所以已有
设置继续工作 :
- 每个上下文文件的目录树( 所以 in- repo)
@docs/rules.md工作内容 零配置),以及 ~/.pi/agent/includes/——跨repo规则共享之家.
其它任何东西@/etc/..., (中文(简体) ), @../sibling/..., (中文(简体) ), @~/credentials.json)为
默认被屏蔽并报告为 /context-include:status 作为"外面"
允许的根".
栅栏警卫防止事故和错位,而不是对手
任何能够编辑的人 settings.json 控制政策.
命令
/context-include:status - 显示有效的允许/拒绝根,已解决
包含和被跳过的文件(缺失、空出、超大小/深度)
限制,在允许的根外,被拒绝的Roots、重复,或
无法读取). 运行此选项以判断为何未包含引用文件 .