第5章 核心对象与配置系统

第5章 核心对象与配置系统

5.1 Agent(底层运行时)/ Session(编码场景封装)/ SessionManager(存储)三级对象

📌 网传版本里的 HarnessAgent 不属于 Pi 本体(那是 Vercel 适配器的类名,见第一部分 1.5)。Pi 本体真实的核心对象体系是下面这三级:

真实对象 来源包 作用
Agent pi-agent-core 最底层的代理实例,持有 systemPrompt、model,支持 subscribe() 订阅事件、prompt() 发起任务------"代理实例"概念最贴近的真实对应物
createAgentSession() / Session pi-coding-agent 面向编码场景封装好的会话对象,内置 CLI 使用的工具集、会话持久化,日常编程集成时最常打交道的对象
SessionManager pi-coding-agent 会话存储管理(SessionManager.inMemory() 临时会话,或落盘到 JSONL)
ModelRuntime / ModelRegistry pi-coding-agent 负责模型解析、鉴权信息关联

初始化示例(最底层):

ts 复制代码
import { Agent } from '@earendil-works/pi-agent-core';
import { getModel } from '@earendil-works/pi-ai';

const agent = new Agent({
  initialState: {
    systemPrompt: '你是一个乐于助人的编码助手。',
    model: getModel('anthropic', 'claude-sonnet-4-20250514'),
  },
});

编码场景更常用的封装:

ts 复制代码
import { createAgentSession, ModelRuntime, SessionManager } from '@earendil-works/pi-coding-agent';

const modelRuntime = await ModelRuntime.create();
const { session } = await createAgentSession({
  sessionManager: SessionManager.inMemory(),
  modelRuntime,
});

5.2 分层配置:全局 ~/.pi/agent/settings.json + 项目级 .pi/settings.json

📌 "PI 内核配置"真实对应的是分层设置系统,不是传给某个构造函数的配置对象。

配置文件 作用域
~/.pi/agent/settings.json 全局配置,对所有项目生效
.pi/settings.json 项目级配置,覆盖全局配置(对象字段做合并而非整体覆盖)
json 复制代码
{
  "defaultProvider": "anthropic",
  "defaultModel": "claude-sonnet-4-20250514",
  "defaultThinkingLevel": "medium",
  "theme": "dark"
}

配置系统覆盖的常用字段类别一览(各字段详细含义分散在后续章节展开):

分类 关键字段
模型与思考 defaultProvider、defaultModel、defaultThinkingLevel、thinkingBudgets
项目信任 defaultProjectTrust(详见第四部分)
压缩 compaction.enabled、compaction.reserveTokens、compaction.keepRecentTokens
重试 retry.enabled、retry.maxRetries、retry.baseDelayMs、retry.provider.*
资源加载 packages、extensions、skills、prompts、enableSkillCommands
会话 sessionDir
Shell shellPath

相关推荐
志尊宝7 分钟前
AI原生前端开发(009):AI辅助性能分析与优化建议
人工智能·react.js·ai-native
KeyAction66668 分钟前
第二届中国国际人工智能+行动大会看点:智能体专场、算力账本与产品发布
人工智能·ai
johnsong10 分钟前
AI前沿日报 2026-10-19:硅基心智觉醒
人工智能
紧跟先前的步伐13 分钟前
Go AI Agent 实战 03|Token、上下文窗口与模型调用成本
java·人工智能·golang
老金带你玩AI21 分钟前
Taste Skill V2来了,AI做的网站还会一眼认出来吗?
人工智能
方方洛37 分钟前
ai-agent教程-18-附录E-推荐阅读与资源
人工智能·llm·agent
const_qiu38 分钟前
第四章 00:开篇 —— 从「会聊天」到「记得住、会干活、能协作」
java·开发语言·人工智能·python
石狮松松1 小时前
第 05 章 你的第一行"AI"代码:拟合一条直线
人工智能
用户360055579001 小时前
Kestrel_VLLM - 14 · router 两个方向判否,与 decode 的真瓶颈
人工智能
狒狒AI1 小时前
Remotion / GSAP+Three / HyperFrames / Skia 四栈实测:代码渲染知识视频的选栈方法(附开源技能)
前端·人工智能·aigc