autosnippet
Version:
Extract code patterns into a knowledge base for AI coding assistants
128 lines (127 loc) • 4.61 kB
JavaScript
/**
* 全局常量注册表 — 集中管理所有魔法数字和阈值
*
* 取代散落在各模块中的硬编码数字,方便统一调参和文档化。
*
* @module shared/constants
*/
// ─── 质量评分 ───────────────────────────────────────────
/** QualityScorer v2 维度权重 */
export const QUALITY_WEIGHTS = Object.freeze({
completeness: 0.25,
contentDepth: 0.3,
deliveryReady: 0.2,
actionability: 0.15,
provenance: 0.1,
});
/** QualityScorer 等级分界线 */
export const QUALITY_GRADES = Object.freeze({
A: 0.85,
B: 0.7,
C: 0.55,
D: 0.35,
});
/** 代码质量评估 — 合理长度范围 */
export const CODE_LENGTH = Object.freeze({
MIN: 10,
MAX: 5000,
});
// ─── Guard 规则学习 ──────────────────────────────────────
/** RuleLearner 规则健康阈值 */
export const RULE_LEARNER = Object.freeze({
/** 触发高误报规则的条件 */
PROBLEMATIC_FALSE_POSITIVE_RATE: 0.3,
PROBLEMATIC_MIN_TRIGGERS: 5,
/** 规则建议置信度 */
CONFIDENCE_TUNE: 0.7,
CONFIDENCE_DISABLE: 0.8,
CONFIDENCE_SPECIALIZE: 0.6,
CONFIDENCE_REVIEW: 0.4,
/** 触发数阈值 */
HIGH_TRIGGER_COUNT: 50,
HIGH_PRECISION: 0.8,
/** 闲置天数阈值 */
UNUSED_DAYS_THRESHOLD: 30,
/** 精度下限 */
LOW_PRECISION: 0.5,
});
// ─── 合规报告 ────────────────────────────────────────────
/** ComplianceReporter 默认 Quality Gate */
export const QUALITY_GATE = Object.freeze({
MAX_ERRORS: 0,
MAX_WARNINGS: 20,
MIN_SCORE: 70,
});
/** ComplianceReporter 扣分权重 */
export const COMPLIANCE_SCORING = Object.freeze({
ERROR_PENALTY: 5,
WARNING_PENALTY: 1,
INFO_PENALTY: 0.2,
PROBLEMATIC_RULE_PENALTY: 3,
HIGH_F1_BONUS: 5,
HIGH_F1_THRESHOLD: 0.8,
LOW_PRECISION_THRESHOLD: 0.5,
MAX_FILES_DEFAULT: 500,
});
// ─── 知识置信度 ──────────────────────────────────────────
/** 知识条目默认置信度和阈值 */
export const KNOWLEDGE_CONFIDENCE = Object.freeze({
/** 默认 confidence(Reasoning VO) */
DEFAULT: 0.7,
/** pending 条目纳入交付的最低 confidence */
PENDING_MIN: 0.7,
/** rankScore 中 confidence 缺省值 */
RANK_DEFAULT: 0.5,
/** Bootstrap refine 时的 AI 默认 confidence */
BOOTSTRAP_DEFAULT: 0.6,
/** 自动提交时的 bootstrap confidence */
BOOTSTRAP_SUBMIT: 0.8,
});
// ─── 搜索管线 ────────────────────────────────────────────
/** SearchEngine 配置 */
export const SEARCH = Object.freeze({
DEFAULT_LIMIT: 10,
MAX_RESULTS: 100,
});
// ─── AI Provider ─────────────────────────────────────────
/** AiProvider 熔断配置 */
export const AI_CIRCUIT_BREAKER = Object.freeze({
FAILURE_THRESHOLD: 5,
});
// ─── 缓存 ────────────────────────────────────────────────
/** ToolResultCache 配置 */
export const CACHE = Object.freeze({
MAX_FILE_ENTRIES: 200,
MAX_SEARCH_ENTRIES: 500,
/** 缓存条目默认 TTL(毫秒),0 = 不过期 */
DEFAULT_TTL_MS: 30 * 60 * 1000, // 30 分钟
});
// ─── 性能监控 ────────────────────────────────────────────
/** PerformanceMonitor 配置 */
export const MONITORING = Object.freeze({
SLOW_REQUEST_THRESHOLD_MS: 1000,
ERROR_ALERT_THRESHOLD: 10,
});
// ─── Cursor 交付 ─────────────────────────────────────────
/** CursorDeliveryPipeline 排序权重 */
export const DELIVERY_RANK = Object.freeze({
CONFIDENCE_WEIGHT: 50,
AUTHORITY_WEIGHT: 30,
USE_COUNT_MAX: 10,
USE_COUNT_WEIGHT: 2,
ACTIVE_BONUS: 10,
});
export default {
QUALITY_WEIGHTS,
QUALITY_GRADES,
CODE_LENGTH,
RULE_LEARNER,
QUALITY_GATE,
COMPLIANCE_SCORING,
KNOWLEDGE_CONFIDENCE,
SEARCH,
AI_CIRCUIT_BREAKER,
CACHE,
MONITORING,
DELIVERY_RANK,
};