بنقرة واحدة
server-storage
@stello-ai/server 的 PG 持久化层设计决策和实现模式。触发条件:修改或引用 server 存储层。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
@stello-ai/server 的 PG 持久化层设计决策和实现模式。触发条件:修改或引用 server 存储层。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
StelloAgent 创建配置教程。完整说明 createStelloAgent 的每个配置项,包含 sessionDefaults、storage、tools、skills、forkProfiles、session 层接入、orchestration 等。
Engine 职责定义:per-session-round 生命周期管理器。驱动 tool call 循环,管理单个 Session 的多轮对话。不感知树结构,不感知调度。
Fork 机制完整说明。覆盖 ForkProfile 与 EngineForkOptions 的字段对齐、四层 fallback 合成链(sessionDefaults → parent → profile → forkOptions)、systemPrompt 合成三种模式、skills 三态语义、持久化边界(SerializableSessionConfig 只固化 systemPrompt/skills)。任何涉及 fork / profile / stello_create_session / 配置合成 的工作都应读这个。
Stello 框架内所有 LLM 调用位置的消息结构速查。覆盖 Session 对话、compress、consolidate;应用层 reflection 调用由 orchestrator 自行决定。
Consolidation 触发机制:自动触发通过 Factory 配置内联,手动触发通过 StelloAgent API;全局 reflection 由应用层在 SDK 之上自行实现。
Server 层设计:传输层架构决策、StelloAgent 映射原则、连接态管理模式。存储层见 server-storage,Engine 细节见 engine-design。
| name | server-storage |
| description | @stello-ai/server 的 PG 持久化层设计决策和实现模式。触发条件:修改或引用 server 存储层。 |
相关 skill:storage-design(接口定义)、server-design(传输层)
7 张表:users, spaces, sessions, records, session_data, session_refs, core_data
SELECT id, parent_id, label)WHERE parent_id= 派生 children,JOIN session_refs 派生 refs| Adapter | 实现接口 | 职责 |
|---|---|---|
| PgSessionStorage | SessionStorage(@stello-ai/session) | 单个 Session 数据操作(含 root,所有 Session 同构) |
| PgSessionTree | SessionTree(@stello-ai/core) | 拓扑:createSession / listRoots / 树操作 / 固化配置 |
| PgMemoryEngine | MemoryEngine(@stello-ai/core) | 核心数据读写、递归上下文组装 |
批量 digest 收集由 StelloAgent.listSessionDigests() 在应用层组合 SessionTree.listAll() + SessionStorage.getMemory/getInsight 完成,存储层不需要提供专用方法。
所有 adapter 构造时绑定 spaceId,所有 SQL 查询 WHERE space_id = $1。多租户隔离在查询层保证。
session_data (session_id, key) 表,UPSERT 模式 ON CONFLICT (session_id, key) DO UPDATE。
PG 存 sessions 表超集。不同 adapter 投影为不同类型:
id / label / status / createdAt / updatedAt)getAncestors、getAllDescendantIds、assembleContext 都用 WITH RECURSIVE 遍历树结构。
PgSessionStorage.transaction() 通过类型判断区分 Pool 与 PoolClient。Pool 时获取独占 client 开事务,PoolClient 时直接执行。