跳转到主要内容
Pi 扩展工具与命令是扩展 Aether agent 能力的主要方式。工具由 LLM 在 agent 回合中调用;命令由用户以 / 前缀触发。

注册命令

使用 pi.registerCommand 添加斜杠命令。handler 接收解析后的参数与上下文对象,该对象除其他能力外,还通过 ctx.ui.notify 向用户展示反馈。
agent.ts

注册工具

使用 pi.registerTool 向 LLM 暴露可调用函数。提供 TypeBox parameters schema,以便模型知道应传入哪些参数,并从 execute 返回 AgentToolResult
请为工具起描述性名称 — LLM 会阅读 description 字段以决定何时调用工具,因此 精确、面向动作的描述会直接影响工具被可靠使用的程度。
agent.ts
扩展注册的 Pi 工具,在该扩展已加载的每一次 agent 回合中,都可供 LLM 使用。

组合 Pi + Aether 扩展

单个包可同时服务 Pi(agent 工具与命令)与 Aether(Android UI 与应用逻辑)。将 Pi 工厂保留为 default 导出,并将 Aether 工厂导出为 activateAether。下面的示例直接取自捆绑的 aether-extension 示例。
agent.ts
只要包在 Pi 会话中加载,Pi 命令(aether-example)就会处于活跃状态。Aether 工厂在 Android 宿主中运行,可访问完整的 AetherExtensionAPI — surfaces、pages、state、storage、actions 与宿主桥接 — 而 Pi 工厂仅限于 Pi 的 agent 回合 API。