autosnippet
Version:
Extract code patterns into a knowledge base for AI coding assistants
36 lines (35 loc) • 1.43 kB
TypeScript
/**
* 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;