@cratis/pi

中文文档
7.125.1发布于 2026/11/01MITES Module零依赖构建来源已验证

Pi的配置感知Cratis AI集成

中文使用文档
文档目录3 节
  1. 语料库中的MCP服务器
  2. 剧本MCP工具
  3. 路径引导和子代理

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 处理和加载 扩展。

版本与发布记录

@cratis/pi 共发布 290 个版本,首次发布于 2026/09/11;过去 12 个月发布了 290 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
7.125.1latest2026/11/012 天前
7.125.02026/11/012 天前
7.124.02026/10/312 天前
7.123.02026/10/313 天前
7.122.22026/10/295 天前
7.122.12026/10/295 天前

关于 @cratis/pi 的常见问题

@cratis/pi 是什么?

Pi的配置感知Cratis AI集成

如何安装 @cratis/pi?

在项目目录运行 npm install @cratis/pi,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:typebox(*)、@earendil-works/pi-ai(*)、@earendil-works/pi-coding-agent(*)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@cratis/pi 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/cratis__pi 是否存在。

@cratis/pi 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@cratis/pi 可以商用吗?

@cratis/pi 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@cratis/pi 还在维护吗?

最新版本 7.125.1 发布于 2026/11/01(2 天前);至今共发布 290 个版本,其中过去 12 个月发布了 290 个;首次发布于 2026/09/11。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。