Install
openclaw skills install sam-facesFace recognition and identity memory for AI assistants. Enroll known people with reference photos, then automatically identify faces in inbound images — with names, confidence scores, and an llm_context string ready to inject into any LLM prompt. 100% local, no cloud APIs.
openclaw skills install sam-facesGive your OpenClaw agent a real face memory. Enroll people with reference photos, then automatically identify them in inbound images.
When the user intentionally sends a photo or image to the assistant:
The user sharing an image with their AI colleague is an act of intentional sharing — they want the assistant to see and understand what's in the image. In this context, face identification should happen automatically as part of understanding the image content.
sam-faces identify <path>face_count > 0, prepend llm_context to your image description."unknown": true, ask the user who they are, then offer
to enroll them.This should happen as part of normal image processing — the user has already chosen to share the image.
pip install sam-faces
Or use the OpenClaw skill installer:
openclaw skills install sam-faces
The sam-faces command is available after installation:
sam-faces --help
sam-faces enroll --name "Jane Smith" --photo /path/to/photo.jpg
{workspaceDir}/faces/people.db.sam-faces identify /path/to/image.jpg
Returns JSON with names, confidence scores, bounding boxes, and an
llm_context string:
{
"face_count": 2,
"faces": [
{
"name": "Jane Smith",
"confidence": 0.646,
"unknown": false,
"bounding_box": {
"top": 220,
"right": 340,
"bottom": 350,
"left": 210
},
"center": [275, 285],
"position_desc": "middle-left"
}
],
"llm_context": "2 faces detected: Jane Smith (at 22% left, 33% down, 64% confidence); John Smith (at 92% left, 31% down, 57% confidence)."
}
sam-faces visualize /path/to/image.jpg
Creates image_faces.jpg with boxes and name labels overlaid.
sam-faces visualize /path/to/image.jpg -o /path/to/output.jpg
sam-faces list
sam-faces unknowns
Shows all unknown face crops waiting to be enrolled.
--threshold 0.55 (good balance of precision and recall)--threshold 0.45 — fewer false positives--threshold 0.65 — better recall in varied lightingface_recognition (dlib). Nothing leaves the machine.{workspaceDir}/faces/people.db{workspaceDir}/faces/unknown/