ワンクリックで
server-design
Server 层设计:传输层架构决策、StelloAgent 映射原则、连接态管理模式。存储层见 server-storage,Engine 细节见 engine-design。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Server 层设计:传输层架构决策、StelloAgent 映射原则、连接态管理模式。存储层见 server-storage,Engine 细节见 engine-design。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
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 之上自行实现。
@stello-ai/server 的 PG 持久化层设计决策和实现模式。触发条件:修改或引用 server 存储层。
SOC 職業分類に基づく
| name | server-design |
| description | Server 层设计:传输层架构决策、StelloAgent 映射原则、连接态管理模式。存储层见 server-storage,Engine 细节见 engine-design。 |
相关 skill:server-storage(PG 持久化)、engine-design(Engine 内部)、orchestrator-usage(StelloAgent API)
Transport Layer(Hono REST + ws WebSocket)
↓
Space 管理层(SpaceManager · AgentPool)
↓
PG Storage Layer(4 个 Storage Adapter)
↓
Core(@stello-ai/core — StelloAgent → SessionOrchestrator → Engine)
ws 库 — Hono 内置 WS 面向 edge,不适合 Node.js/turn 端点支持无 WS 的非流式对话ConnectionManager(纯内存,不持久化):
connectionId → { userId, spaceId, sessionId | null }
AgentPool 支持内置默认 consolidateFn:
AgentPoolOptions.llm 提供最小 LLM 调用接口consolidatePrompt跨 Session 的 reflection / 全局综合不由 Server 框架承担——服务端只暴露 StelloAgent 的 orchestrator-facing 数据 SDK(listSessionDigests / putInsight 等),应用层基于这些原语自行实现。
createStelloServer(options) 返回 StelloServer,内部用 @hono/node-server 的 serve() 创建 HTTP server,再附着 ws.WebSocketServer({ noServer: true })。