LoadMessages 加载消息列表
(ctx context.Context, agentID string)
| 121 | |
| 122 | // LoadMessages 加载消息列表 |
| 123 | func (js *JSONStore) LoadMessages(ctx context.Context, agentID string) ([]types.Message, error) { |
| 124 | js.mu.RLock() |
| 125 | defer js.mu.RUnlock() |
| 126 | |
| 127 | var messages []types.Message |
| 128 | path := filepath.Join(js.agentDir(agentID), "messages.json") |
| 129 | if err := js.loadJSON(path, &messages); err != nil { |
| 130 | return nil, err |
| 131 | } |
| 132 | |
| 133 | if messages == nil { |
| 134 | messages = []types.Message{} |
| 135 | } |
| 136 | |
| 137 | return messages, nil |
| 138 | } |
| 139 | |
| 140 | // TrimMessages 修剪消息列表,保留最近的 N 条消息 |
| 141 | // 如果 maxMessages <= 0,则不修剪 |