Skip to content

TableStoreSessionHistoryService 缺少Message 关于 role字段的存储 #96

@zhangroc

Description

@zhangroc

在 TableStoreSessionHistoryService 的 convertMessageToTablestoreMessage 方法中(第 181-214 行),存储消息时没有保存 role 字段:

Java
private Message convertMessageToTablestoreMessage(io.agentscope.runtime.engine.schemas.Message message, Session session) {
String messageId = UUID.randomUUID().toString();
Message tablestoreMessage = new Message(session.getId(), messageId);
// ... 设置 content

Metadata metadata = new Metadata();
metadata.put("message_type", message.getType());  // 只存了 type
metadata.put("user_id", session.getUserId());
// ... 没有存 role!

}
同样在 convertTablestoreMessageToMessage 方法中(第 216-262 行),读取消息时也没有恢复 role 字段:

Java
private io.agentscope.runtime.engine.schemas.Message convertTablestoreMessageToMessage(Message tablestoreMessage) {
io.agentscope.runtime.engine.schemas.Message message = new io.agentscope.runtime.engine.schemas.Message();
Metadata metadata = tablestoreMessage.getMetadata();
String messageTypeStr = metadata.getString("message_type");
if (messageTypeStr != null) {
message.setType(messageTypeStr); // 只恢复了 type
}
// ... 没有恢复 role!
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions