第八部分,协议与框架开发
pi-agent-core 状态与工具循环
使用 @earendil-works/pi-agent-core 构建有状态 Agent、并行工具执行、Hooks、Sessions 和事件流。
底层 Agent
pi-agent-core 在 pi-ai 上提供状态、工具循环和事件流。AgentMessage 可以包含应用自定义消息,convertToLlm 负责转换为模型理解的 user、assistant 和 toolResult。
Agent 支持 parallel 或 sequential 工具执行。并行模式仍按 assistant 原始顺序持久化 ToolResult,便于会话一致性。
npm install @earendil-works/pi-agent-coreimport { Agent } from "@earendil-works/pi-agent-core";
import { createModels } from "@earendil-works/pi-ai";
import { openaiProvider } from "@earendil-works/pi-ai/providers/openai";
const models = createModels();
models.setProvider(openaiProvider());
const model = models.getModel("openai", "gpt-5.6");
if (!model) throw new Error("Model not found");
const agent = new Agent({
initialState: { systemPrompt: "You are a coding assistant.", model },
streamFn: models.streamSimple.bind(models),
});
await agent.prompt("Explain the project structure");Hooks 与持久化
transformContext 可裁剪或注入上下文,Hooks 可以控制工具前置检查和消息流程。自定义消息必须有稳定转换与序列化。
SQLite Session backend 已拆到独立存储包,核心包不强制依赖 Node 原生 SQLite。
官方资料
本页由 xueai 根据 Pi 官方资料用中文重新组织和讲解。Pi 更新频繁,命令、包名和接口以官方最新文档为准。
Pi 源代码和官方文档采用 MIT License。Copyright (c) 2025 Mario Zechner。本站保留原版权与许可声明,完整文本见 MIT License。