MCPcopy Create free account
hub / github.com/echoVic/blade-code / searchSessions

Method searchSessions

src/context/ContextManager.ts:304–339  ·  view source on GitHub ↗

* 搜索历史会话

(
    query: string,
    limit: number = 10
  )

Source from the content-addressed store, hash-verified

302 * 搜索历史会话
303 */
304 async searchSessions(
305 query: string,
306 limit: number = 10
307 ): Promise<
308 Array<{
309 sessionId: string;
310 summary: string;
311 lastActivity: number;
312 relevanceScore: number;
313 }>
314 > {
315 const sessions = await this.persistent.listSessions();
316 const results: Array<{
317 sessionId: string;
318 summary: string;
319 lastActivity: number;
320 relevanceScore: number;
321 }> = [];
322
323 for (const sessionId of sessions) {
324 const summary = await this.persistent.getSessionSummary(sessionId);
325 if (summary) {
326 const relevanceScore = this.calculateRelevance(query, summary.topics);
327 if (relevanceScore > 0) {
328 results.push({
329 sessionId,
330 summary: `${summary.messageCount}条消息,主题:${summary.topics.join('、')}`,
331 lastActivity: summary.lastActivity,
332 relevanceScore,
333 });
334 }
335 }
336 }
337
338 return results.sort((a, b) => b.relevanceScore - a.relevanceScore).slice(0, limit);
339 }
340
341 /**
342 * 获取缓存的工具调用结果

Callers 1

exampleFunction · 0.45

Calls 3

calculateRelevanceMethod · 0.95
listSessionsMethod · 0.80
getSessionSummaryMethod · 0.80

Tested by

no test coverage detected