内核概览
@lite-agent/core 是 lite-agent 的可插拔、事件驱动 agent 内核:一个精简、provider 无关的核心,由可替换的策略接口、洋葱中间件管道和类型化事件流构成。当你想从原语出发自己组装 agent——完全掌控模型、工具、持久化以及中间的每一层——而不是魔改某个框架时,用它。它的公开 API 参照 @anthropic-ai/claude-agent-sdk 设计,但内核是自研的,因此也能通过可插拔的工具调用 codec 驱动本地小模型。
快速开始
fakeProvider 是内置的测试替身。接入真实模型时,传入一个 ModelProvider——见 Providers。
三个词记住设计
内核里的一切都属于三个概念之一:
- 策略(Strategy) —— 可替换的部件,每个角色一个实现,在构建 agent 时注入。共九种:
ModelProvider、ToolCallCodec、Tool、Compactor、PermissionPolicy、ApprovalHandler、InputHandler、Store、Sandbox。换部件,不改内核。见策略。 - 中间件(Middleware) —— 加在循环上的横切层。生命周期钩子加两个包装器(
wrapModelCall、wrapToolCall)折叠成经典洋葱;权限和压缩都只是中间件,不是内核代码。见中间件。 - 事件(Event) —— 类型化的
AgentEvent流观察循环做的一切。事件是观察性的,永远不是控制流。见事件。
把三者串起来的循环——编码 → 调模型 → 解码 → 执行 → 回灌——见内核。
Core 与 SDK 的关系
core 默认不懂权限、压缩和会话——它们都是你插进来的策略和中间件。@lite-agent/sdk 是同一个内核的开箱即用组装:内置工具、技能、子代理、会话和权限门控,ContextEngine 开箱即启用。当 SDK 的默认值不合适——内部推理网关、定制工具调用协议、自有持久化后端——想自己接线原语时,用 core。