refactor(storage): 重构消息存储为 2-message 格式
采用 OpenCode 风格的消息存储架构: - 只有 user 和 assistant 两种角色,移除 tool/system - ToolPart 使用状态机模式 (pending → running → completed/error) - 新增 toModelMessages() 转换函数用于调用 AI SDK - 删除 message-merger.ts,存储层直接返回正确格式 主要改动: - parts.ts: ToolState 状态机(pending/running/completed/error) - message.ts: 移除 system role,添加 parentId 关联 - converter.ts: 新增 toModelMessages() 格式转换 - manager.ts: 重构 syncMessages/partsToModelMessages - sessions.ts: 简化路由,直接从 Core Storage 读取
This commit is contained in:
@@ -30,13 +30,15 @@ export interface ToolCallInfo {
|
||||
}
|
||||
|
||||
/**
|
||||
* 消息(合并后的格式)
|
||||
* 消息格式(存储层已经是 2-message 格式,无需 API 层合并)
|
||||
*
|
||||
* 助手消息可能包含工具调用信息,将多个原始消息合并为一条
|
||||
* 只有 user 和 assistant 两种角色:
|
||||
* - user: 用户输入
|
||||
* - assistant: AI 回复(包含文本和工具调用)
|
||||
*/
|
||||
export interface Message {
|
||||
id: string;
|
||||
role: 'user' | 'assistant' | 'system';
|
||||
role: 'user' | 'assistant';
|
||||
content: string;
|
||||
timestamp: string;
|
||||
/** 工具调用列表 */
|
||||
|
||||
Reference in New Issue
Block a user