Pi的Cratis AI集成
这是 插件的路径 对于不使用 cratis ai.
将它安装到一个Pi项目中:
pi install -l npm:@cratis/pi
包读取存储库的 .cratis/ai.json,解析其配置文件和
语言通过打包的概要文件目录,并且只提供匹配
技能。它还会加载打包好的规则、路径引导、提示、代理等
子代理工具和Cratis质量钩子。当没有 .cratis/ai.json 存在,就暴露了完整
打包的技能集。因此,它给了Pi完整的单线束克拉提斯
不需要Cratis CLI的经验。
这个 subagent 当另一个扩展已经存在时,工具将停止会话
提供名为。的委托工具 Agent (例如pi-subagents,它列出了
同样的代理)。它在会话开始时将自己从活动工具中移除
当Pi有UI时显示一个通知,因此模型没有提供两个委托
工具。包通过声明生成的pi本机代理 pi.subagents.agents
用于支持包资源的外部加载器。他们用逗号分隔 tools:
allowlists已经使用Pi名(read, grep, find, bash, edit, write),
所以两个加载器都不需要解释claude风格的名称。看到
代理适配器 用于再生和漂移检查。
当一个存储库必须配置和时,仍然可以选择托管的CLI路径
同步多个线束。将解析后的语料库写入 .cratis/ai,
创建每个线束集成,并记录哈希以便安全更新和
卸载。管理设置通过它自己加载规则 .pi/extensions/cratis-rules
和 .pi/extensions/cratis-path-guidance 扩展和不需要这个包。如果两个路径都存在,则包
生成托管安装,以避免重复的资源和钩子。π
包只管理Pi;它既不配置其他线束,也不拥有本地线束
语料库管理。
语料库中的MCP服务器
打包的 cratis-mcp 扩展启动中声明的每个工作室服务器
mcp-servers.json 谁的 profiles 交叉列出的配置文件
.cratis/ai.json (一个只有通过另一个侧面才能到达的侧面 composes 做
不启动服务器;剧本保留其组合选择)(用于
例子 codescene 用于 cratis/codescene, playwright 用于 cratis/playwright)。
每个服务器都有自己的连接,所以一个启动失败不会影响其他服务器,
其工具的命名空间由服务器id (playwright_browser_navigate). 这个
command, args 可选文字 env 都是逐字使用的,没有外壳。一个
一个通知跳过格式不正确的选定服务器;集
mcpServers.<id>.enabled 来 false 在 .cratis/ai.json 选择一个服务器退出。
capabilities.json 旁边的扩展声明此行为的Cratis CLI。
剧本MCP工具
打包的 cratis-mcp 扩展启动剧本MCP服务器
(cratis screenplay mcp),当解析的配置文件包括 cratis/screenplay.
后端应用程序概要文件组成它,因此应用程序存储库得到
当安装Cratis CLI 3.46.1或更高版本时
剧本工具;服务器在第一次写入之前不会创建模型文件夹。
安装它们并不会将存储库选择为模型优先工作。
当剧本只通过这样的配置文件而没有模型根时
一个缺失的CLI,一个比3.46.1早的CLI(创建模型)
文件夹在服务器启动时)或服务器启动失败离开剧本
当Pi有UI时,工具不活动,只有一个信息通知,否则就静默。
选择任何不通过应用程序也到达剧本的配置文件
概要文件(包括 cratis/screenplay, cratis/modeling/screenplay-stage,
cratis/full/* 或者 cratis),或者配置 mcpServers.screenplay.root 在
.cratis/ai.json,将启动失败显示为错误。
路径引导和子代理
打包的 cratis-path-guidance 扩展将路径范围的规则附加到
工具结果第一次触及匹配文件,并成功后
write 或者 edit 增加了一条建议线,命名每个技能 SKILL.md
metadata.cratis-hint-paths 前文(一串由空格分隔的globs)
匹配文件。(它位于 metadata 因为特工技能只允许一个固定的集合
这个键是克拉迪斯特有的,因为克劳德代码给出了一个简单的
paths 关键字自己的意思。)暗示了一项技能
大多数情况下,每个会话一次,而不是当它已经在上下文中:read (shell命令)
只有当 cat, sed, head, tail, less, bat, rg 或者 grep 打开
它的 SKILL.md 或者一个文件 references/),由pi-子代理预加载,或
增长了 /skill:name. 一个pi-subagents标题,没有技能的文本(its)
加载程序无法读取符号链接 .pi/skills)不算作预加载。这个
考虑的技能是Pi加载的技能加上存储库选择的技能
(.cratis/ai.json),所以在Pi技能列表中只包含个人技能的课程中,
或者没有(例如) skills: false),仍然得到提示;未选择的技能是
没有提示,如果无法解决选择,则不添加任何提示。遵循规则
与系统提示相同的语言和文档选择。没有什么是
已阻止,系统提示符未受影响。系统提示符中只包含
通用规则,因此路径范围的规则不会交付两次。扩建工程
在没有UI的会话中。它在托管安装时停止运行
(.cratis/ai.manifest.json)已经提供了路径指导:通过它自己
.pi/extensions/cratis-path-guidance,或透过任何 .pi/extensions/cratis-rules
这不是当前的通用版本,因为每一个早期版本
本身交付路径范围的规则。一个 cratis-rules 这是无法识别的
作为一个交付它们的人。在这种较旧的托管安装中,子代理
只加载下面允许列出的扩展,直到
cratis ai update 安装托管 cratis-path-guidance.
通用规则为每个会话添加约26k个令牌。一个pi-subagents代理
(@tintinweb/pi-subagents)用… extensions: Allowlist只加载
扩展它的名字,所以默认情况下它不会得到这个包。说出这两个
便宜的扩展给它路径引导和写和存储保护没有
普遍的规则:
extensions: cratis-path-guidance, cratis-hooks
这个 subagent 工具的这个包启动一个完整的 pi 处理和加载
扩展。