UNPKG

autosnippet

Version:

Extract code patterns into a knowledge base for AI coding assistants

36 lines (35 loc) 1.43 kB
/** * FeedbackStore — 推荐反馈持久化与用户偏好推导 * * 存储位置: {projectRoot}/.autosnippet/feedback.jsonl * 格式: 每行一个 JSON 对象 (append-only log) * * 职责: * - 记录用户对推荐的反馈 (adopted / dismissed / expired / viewed / modified) * - 计算采纳率、查看率、按来源分组的采纳率 * - 推导用户偏好向量 (喜欢/回避的类别和来源) * - 检测被频繁忽略的推荐类别 */ import type { RecommendationFeedback, RecommendationMetricsSnapshot, UserPreference } from './types.js'; export declare class FeedbackStore { #private; constructor(projectRoot: string); /** 记录一条反馈 */ record(feedback: RecommendationFeedback): Promise<void>; /** * 获取采纳率 * @param source 可选 — 按推荐来源过滤 */ getAdoptionRate(source?: string): number; /** 获取用户偏好向量 (基于历史反馈推导) */ getUserPreference(): UserPreference; /** 特定类别的推荐是否被用户频繁忽略 */ isFrequentlyDismissed(category: string): boolean; /** 获取推荐效果指标快照 */ getMetricsSnapshot(since?: Date): RecommendationMetricsSnapshot; /** 获取指定推荐 ID 的反馈历史 */ getFeedbackFor(recommendationId: string): RecommendationFeedback[]; /** 全部反馈条数 */ get size(): number; } export default FeedbackStore;