用途:以自然语言语义搜索代码库与笔记,按代码“做什么”而非“叫什么”来命中文件。与 grep(精确文本)和 glob(文件名模式)不同,适合用户询问“某概念在哪里”“某功能如何实现”“展示认证逻辑”等探索性问题。不用于精确字符串匹配、文件名模式、已知路径检索,也不应在用户明确要求 grep/glob 时使用。
主要能力:调用 odino query 执行查询并返回带相关度评分的文件列表;odino status 查看索引文件、模型与更新时间。工作流为:先用 find_odino_root 向上遍历定位含 .odino/ 的项目根,再在根目录执行 odino query -q "查询词",解析结果表,读取评分靠前的 2-3 条(分数 > 0.3)补充上下文并汇总,可分派给 code-pointer 打开文件,或用 grep 做精确定位。
使用方式:核心命令为 odino query -q "error handling exceptions";查询推断会扩展缩写并加入相关术语与示例代码。斜杠命令包括 /semq:search <query>、/semq:here <query>(自动目录遍历)、/semq:index [path]、/semq:status [path]。有效查询应是概念性描述,例如“configuration loading logic”“email validation functions”,而非文件名或函数名。
技术细节与限制:模型为 BAAI/bge-small-en-v1.5(33M 参数,约 133MB),向量库 ChromaDB,索引位于项目根 .odino/ 目录,嵌入批大小 GPU 为 16、CPU 为 8。使用前须存在索引,否则提示运行 /semq:index;无结果时可调整查询或改用 grep。需从含 .odino/ 的目录运行命令。具体收费、价格与平台支持暂未提供。