用途:该技能为 Omi 后端开发提供指导,适用于在 backend/ 目录编写 Python 代码、实现新 API 端点、处理对话或提取记忆、使用 LangGraph 聊天系统,以及集成 Firestore、Pinecone、Redis 时。
主要能力与流程:对话处理管线为音频经 WebSocket(/v4/listen)到达,经 Deepgram/Soniox/Speechmatics 转写,在 Firestore 创建状态为 in_progress 的对话,通过 POST /v1/conversations 或超时触发处理,再由 LLM 提取标题与概览、行动项、日历事件、记忆(用户事实),最后存入 Firestore 与 Pinecone。关键函数为 utils/conversations/process_conversation.py::process_conversation()。记忆提取使用 utils.llm.conversation_processing 的 _extract_memories,类别包括 personal、health、work、relationships、preferences。聊天系统用 LangGraph 路由:requires_context() 分类后走简单路径(直接 LLM 响应)、智能体路径(LangGraph ReAct 智能体,含完整工具访问)或 Persona 路径,关键文件为 utils/retrieval/graph.py。
使用方式:必须遵循导入层级 database/(最低)→ utils/ → routers/ → main.py,低层不得导入高层。数据库方面 Firestore 存对话、记忆、用户,Pinecone 存向量嵌入用于语义搜索,Redis 做缓存(语音档案、已启用应用、用户名),GCS 存二进制文件。API 端点用 FastAPI 路由器,保持 routers 精简、业务逻辑放 utils/,用依赖注入做认证,返回一致错误格式。新增端点需在 routers/*.py 建函数、utils/ 写逻辑、database/ 取数据并注册到 main.py;新增聊天工具需在 utils/retrieval/tools/ 建函数、用 LangChain 的 @tool 装饰器并加入 app_tools.py 的工具加载。
限制:资料未提供安装命令、收费、价格或平台信息;具体实现细节以 docs/ 与 .cursor/rules/ 中的文档为准。