一键导入
remen-search
Remen search and retrieval system — semantic search, keyword search, temporal parsing, query NLP, and result ranking.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Remen search and retrieval system — semantic search, keyword search, temporal parsing, query NLP, and result ranking.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
On-device AI processing pipeline for Remen — model lifecycle, LLM prompts, tag/title/classify generation, queue management, and react-native-executorch integration.
Remen codebase architecture — file structure conventions, module patterns, component organization, and coding standards. Must-read before making any structural changes.
Remen SQLite database — schema, migrations, CRUD operations, query patterns, and expo-sqlite usage.
react-native-executorch integration guide — model loading, API surface, lifecycle management, quantization, and device optimization for Remen.
| name | remen-search |
| description | Remen search and retrieval system — semantic search, keyword search, temporal parsing, query NLP, and result ranking. |
| version | 1.0.0 |
The search system is the core UX differentiator: "capture messy, retrieve smart."
lib/search/
search.ts — Main search orchestrator
search.types.ts — SearchResult, EnhancedSearchResult, TemporalFilter
query-nlp.ts — Query preprocessing, stopword removal, keyword extraction
temporal-parser.ts — "last week", "yesterday", "in March" → date ranges
lib/ask-notes/ — DEPRECATED. Being replaced with enhanced query-nlp.
ask-notes.ts — LLM-based query interpretation (unreliable with small models)
content LIKE %term% OR title LIKE %term% in SQLite.temporal-parser.ts extracts date ranges from queries.TemporalFilter { startTime, endTime, description, query }.query field is the input with temporal phrases stripped out.SearchResult extends Note {
relevanceScore: number;
matchType: "semantic" | "keyword" | "both";
}
EnhancedSearchResult {
results: SearchResult[];
temporalFilter: TemporalFilter | null;
interpretedQuery?: string;
}
Math.max(scores) + 0.15 bonus, matchType = "both".0.1 * max(0, 1 - age_in_days / 30).findRelatedNotes(noteId, limit) — cosine similarity between a note and all others.limit results.query-nlp.ts handles stopwords, quoted phrases, and normalization.is_archived = 1 and is_deleted = 1 by default.lib/config/regex-patterns.ts and lib/consts/consts.ts.